payload 2.14.1 → 2.15.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/ArrayAction/index.d.ts.map +1 -1
- package/dist/admin/components/elements/ArrayAction/index.js +4 -4
- package/dist/admin/components/elements/ArrayAction/types.d.ts +1 -0
- package/dist/admin/components/elements/ArrayAction/types.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts +1 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts +1 -0
- package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -1
- package/dist/admin/components/elements/Drawer/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.js +2 -2
- package/dist/admin/components/elements/ListControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/ListControls/index.js +14 -1
- package/dist/admin/components/elements/ListDrawer/index.d.ts.map +1 -1
- package/dist/admin/components/elements/PublishMany/index.d.ts.map +1 -1
- package/dist/admin/components/elements/PublishMany/index.js +5 -5
- package/dist/admin/components/elements/TableColumns/buildColumns.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +57 -8
- package/dist/admin/components/elements/WhereBuilder/Condition/index.js +11 -11
- package/dist/admin/components/elements/WhereBuilder/index.js +29 -28
- package/dist/admin/components/forms/Form/context.d.ts.map +1 -1
- package/dist/admin/components/forms/Form/getDataByPath.d.ts.map +1 -1
- package/dist/admin/components/forms/RenderFields/filterFields.d.ts +2 -2
- package/dist/admin/components/forms/RenderFields/filterFields.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Array/ArrayRow.d.ts +1 -0
- package/dist/admin/components/forms/field-types/Array/ArrayRow.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Array/ArrayRow.js +3 -2
- package/dist/admin/components/forms/field-types/Array/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Array/index.js +12 -11
- package/dist/admin/components/forms/field-types/Blocks/BlockRow.d.ts +1 -0
- package/dist/admin/components/forms/field-types/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Blocks/BlockRow.js +3 -2
- package/dist/admin/components/forms/field-types/Blocks/RowActions.d.ts +1 -0
- package/dist/admin/components/forms/field-types/Blocks/RowActions.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Blocks/RowActions.js +3 -2
- package/dist/admin/components/forms/field-types/Blocks/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Blocks/index.js +4 -3
- package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/Input.js +3 -2
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.js +3 -2
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.scss +0 -28
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts +1 -0
- package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/index.js +2 -1
- package/dist/admin/components/forms/field-types/RadioGroup/index.scss +28 -0
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +1 -0
- package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/getFilterOptionsQuery.d.ts.map +1 -1
- package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
- package/dist/admin/components/forms/withCondition/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/FormQueryParams/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Portal/index.d.ts.map +1 -1
- package/dist/admin/components/views/Global/Routes/custom.d.ts +2 -1
- package/dist/admin/components/views/Global/Routes/custom.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/usePopupWindow.d.ts.map +1 -1
- package/dist/admin/components/views/Routes/collections.d.ts +1 -1
- package/dist/admin/components/views/Routes/collections.d.ts.map +1 -1
- package/dist/admin/components/views/Routes/globals.d.ts +1 -1
- package/dist/admin/components/views/Routes/globals.d.ts.map +1 -1
- package/dist/admin/components/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/admin/components/views/Version/Restore/index.js +4 -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 +4 -2
- package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts +1 -1
- package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/index.js +11 -3
- package/dist/admin/hooks/useHotkey.d.ts.map +1 -1
- package/dist/admin/hooks/usePayloadAPI.d.ts +1 -0
- package/dist/admin/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/admin/hooks/usePayloadAPI.js +15 -11
- package/dist/admin/hooks/useTitle.d.ts +1 -0
- package/dist/admin/hooks/useTitle.d.ts.map +1 -1
- package/dist/admin/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +2 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
- package/dist/collections/bindCollection.d.ts +1 -1
- package/dist/collections/bindCollection.d.ts.map +1 -1
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +8 -5
- package/dist/collections/graphql/init.d.ts.map +1 -1
- package/dist/collections/graphql/init.js +27 -16
- package/dist/collections/graphql/resolvers/count.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/count.js +2 -1
- package/dist/collections/graphql/resolvers/create.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/create.js +5 -1
- package/dist/collections/graphql/resolvers/delete.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/delete.js +5 -1
- package/dist/collections/graphql/resolvers/find.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/find.js +5 -1
- package/dist/collections/graphql/resolvers/findByID.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/findByID.js +5 -1
- package/dist/collections/graphql/resolvers/findVersionByID.d.ts +0 -1
- package/dist/collections/graphql/resolvers/findVersionByID.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/findVersionByID.js +2 -2
- package/dist/collections/graphql/resolvers/findVersions.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/findVersions.js +5 -1
- package/dist/collections/graphql/resolvers/update.d.ts.map +1 -1
- package/dist/collections/graphql/resolvers/update.js +5 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +2 -1
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +2 -1
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +2 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +2 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +2 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +2 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +2 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +2 -1
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +3 -1
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +3 -1
- package/dist/collections/operations/utils.d.ts +1 -1
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/config/load.d.ts +1 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/express/responses/formatError.d.ts +4 -2
- package/dist/express/responses/formatError.d.ts.map +1 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +6 -2
- package/dist/fields/config/types.d.ts +8 -0
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +1 -0
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +3 -2
- package/dist/fields/hooks/afterRead/promise.d.ts +2 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +12 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +9 -4
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +2 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +3 -2
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +2 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +2 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +2 -1
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +2 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +3 -1
- package/dist/globals/requestHandlers/findVersions.d.ts +1 -1
- package/dist/globals/requestHandlers/findVersions.d.ts.map +1 -1
- package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
- package/dist/graphql/schema/buildObjectType.js +21 -9
- package/dist/payload.d.ts +12 -12
- package/dist/payload.d.ts.map +1 -1
- package/dist/translations/cs.json +17 -17
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/utilities/formatLabels.d.ts +1 -0
- package/dist/utilities/formatLabels.d.ts.map +1 -1
- package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
- package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
- package/dist/utilities/telemetry/oneWayHash.d.ts +0 -1
- package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -8,9 +8,11 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _qs = /*#__PURE__*/ _interop_require_default(require("qs"));
|
|
11
12
|
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
12
13
|
const _reacti18next = require("react-i18next");
|
|
13
14
|
const _useDebounce = /*#__PURE__*/ _interop_require_default(require("../../../../../hooks/useDebounce"));
|
|
15
|
+
const _Auth = require("../../../../utilities/Auth");
|
|
14
16
|
const _Config = require("../../../../utilities/Config");
|
|
15
17
|
const _ReactSelect = /*#__PURE__*/ _interop_require_default(require("../../../ReactSelect"));
|
|
16
18
|
require("./index.scss");
|
|
@@ -64,7 +66,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
64
66
|
const baseClass = 'condition-value-relationship';
|
|
65
67
|
const maxResultsPerRequest = 10;
|
|
66
68
|
const RelationshipField = (props)=>{
|
|
67
|
-
const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props;
|
|
69
|
+
const { admin: { isSortable } = {}, disabled, filterOptions, hasMany, onChange, relationTo, value } = props;
|
|
68
70
|
const { collections, routes: { api }, serverURL } = (0, _Config.useConfig)();
|
|
69
71
|
const hasMultipleRelations = Array.isArray(relationTo);
|
|
70
72
|
const [options, dispatchOptions] = (0, _react.useReducer)(_optionsReducer.default, []);
|
|
@@ -75,15 +77,16 @@ const RelationshipField = (props)=>{
|
|
|
75
77
|
const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = (0, _react.useState)(false);
|
|
76
78
|
const debouncedSearch = (0, _useDebounce.default)(search, 300);
|
|
77
79
|
const { i18n, t } = (0, _reacti18next.useTranslation)('general');
|
|
80
|
+
const { user } = (0, _Auth.useAuth)();
|
|
78
81
|
const addOptions = (0, _react.useCallback)((data, relation)=>{
|
|
79
82
|
const collection = collections.find((coll)=>coll.slug === relation);
|
|
80
83
|
dispatchOptions({
|
|
84
|
+
type: 'ADD',
|
|
81
85
|
collection,
|
|
82
86
|
data,
|
|
83
87
|
hasMultipleRelations,
|
|
84
88
|
i18n,
|
|
85
|
-
relation
|
|
86
|
-
type: 'ADD'
|
|
89
|
+
relation
|
|
87
90
|
});
|
|
88
91
|
}, [
|
|
89
92
|
collections,
|
|
@@ -99,13 +102,57 @@ const RelationshipField = (props)=>{
|
|
|
99
102
|
const relationsToFetch = lastFullyLoadedRelationToUse === -1 ? relations : relations.slice(lastFullyLoadedRelationToUse + 1);
|
|
100
103
|
let resultsFetched = 0;
|
|
101
104
|
if (!errorLoading) {
|
|
102
|
-
relationsToFetch.reduce(async (priorRelation, relation)=>{
|
|
105
|
+
void relationsToFetch.reduce(async (priorRelation, relation)=>{
|
|
103
106
|
await priorRelation;
|
|
104
107
|
if (resultsFetched < 10) {
|
|
108
|
+
const search = {
|
|
109
|
+
depth: 0,
|
|
110
|
+
limit: maxResultsPerRequest,
|
|
111
|
+
page: lastLoadedPageToUse,
|
|
112
|
+
where: {
|
|
113
|
+
and: []
|
|
114
|
+
}
|
|
115
|
+
};
|
|
105
116
|
const collection = collections.find((coll)=>coll.slug === relation);
|
|
106
117
|
const fieldToSearch = collection?.admin?.useAsTitle || 'id';
|
|
107
|
-
|
|
108
|
-
|
|
118
|
+
// add search arg to where object
|
|
119
|
+
if (searchArg) {
|
|
120
|
+
search.where.and.push({
|
|
121
|
+
[fieldToSearch]: {
|
|
122
|
+
like: searchArg
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// call the filterOptions function if it exists passing in the collection
|
|
127
|
+
if (filterOptions) {
|
|
128
|
+
const optionFilter = typeof filterOptions === 'function' ? await filterOptions({
|
|
129
|
+
// data and siblingData are empty since we cannot fetch with the values covering the
|
|
130
|
+
// entire list this limitation means that filterOptions functions using a document's
|
|
131
|
+
// data are unsupported in the whereBuilder
|
|
132
|
+
id: undefined,
|
|
133
|
+
data: {},
|
|
134
|
+
relationTo: collection.slug,
|
|
135
|
+
siblingData: {},
|
|
136
|
+
user
|
|
137
|
+
}) : filterOptions;
|
|
138
|
+
if (typeof optionFilter === 'object') {
|
|
139
|
+
search.where.and.push(optionFilter);
|
|
140
|
+
}
|
|
141
|
+
if (optionFilter === false) {
|
|
142
|
+
// no options will be returned
|
|
143
|
+
setLastFullyLoadedRelation(relations.indexOf(relation));
|
|
144
|
+
// If there are more relations to search, need to reset lastLoadedPage to 1
|
|
145
|
+
// both locally within function and state
|
|
146
|
+
if (relations.indexOf(relation) + 1 < relations.length) {
|
|
147
|
+
lastLoadedPageToUse = 1;
|
|
148
|
+
}
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (search.where.and.length === 0) {
|
|
153
|
+
delete search.where;
|
|
154
|
+
}
|
|
155
|
+
const response = await fetch(`${serverURL}${api}/${relation}?${_qs.default.stringify(search)}`, {
|
|
109
156
|
credentials: 'include',
|
|
110
157
|
headers: {
|
|
111
158
|
'Accept-Language': i18n.language
|
|
@@ -133,12 +180,14 @@ const RelationshipField = (props)=>{
|
|
|
133
180
|
}, Promise.resolve());
|
|
134
181
|
}
|
|
135
182
|
}, [
|
|
136
|
-
i18n,
|
|
137
183
|
relationTo,
|
|
138
184
|
errorLoading,
|
|
139
185
|
collections,
|
|
186
|
+
filterOptions,
|
|
140
187
|
serverURL,
|
|
141
188
|
api,
|
|
189
|
+
i18n.language,
|
|
190
|
+
user,
|
|
142
191
|
addOptions,
|
|
143
192
|
t
|
|
144
193
|
]);
|
|
@@ -334,4 +383,4 @@ const RelationshipField = (props)=>{
|
|
|
334
383
|
};
|
|
335
384
|
const _default = RelationshipField;
|
|
336
385
|
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9Db25kaXRpb24vUmVsYXRpb25zaGlwL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL1JlYWN0U2VsZWN0L3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBHZXRSZXN1bHRzLCBQcm9wcywgVmFsdWVXaXRoUmVsYXRpb24gfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IFJlYWN0U2VsZWN0IGZyb20gJy4uLy4uLy4uL1JlYWN0U2VsZWN0J1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgb3B0aW9uc1JlZHVjZXIgZnJvbSAnLi9vcHRpb25zUmVkdWNlcidcblxuY29uc3QgYmFzZUNsYXNzID0gJ2NvbmRpdGlvbi12YWx1ZS1yZWxhdGlvbnNoaXAnXG5cbmNvbnN0IG1heFJlc3VsdHNQZXJSZXF1ZXN0ID0gMTBcblxuY29uc3QgUmVsYXRpb25zaGlwRmllbGQ6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGFkbWluOiB7IGlzU29ydGFibGUgfSA9IHt9LCBkaXNhYmxlZCwgaGFzTWFueSwgb25DaGFuZ2UsIHJlbGF0aW9uVG8sIHZhbHVlIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHtcbiAgICBjb2xsZWN0aW9ucyxcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcblxuICBjb25zdCBoYXNNdWx0aXBsZVJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbylcbiAgY29uc3QgW29wdGlvbnMsIGRpc3BhdGNoT3B0aW9uc10gPSB1c2VSZWR1Y2VyKG9wdGlvbnNSZWR1Y2VyLCBbXSlcbiAgY29uc3QgW2xhc3RGdWxseUxvYWRlZFJlbGF0aW9uLCBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbl0gPSB1c2VTdGF0ZSgtMSlcbiAgY29uc3QgW2xhc3RMb2FkZWRQYWdlLCBzZXRMYXN0TG9hZGVkUGFnZV0gPSB1c2VTdGF0ZSgxKVxuICBjb25zdCBbc2VhcmNoLCBzZXRTZWFyY2hdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2hhc0xvYWRlZEZpcnN0T3B0aW9ucywgc2V0SGFzTG9hZGVkRmlyc3RPcHRpb25zXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBkZWJvdW5jZWRTZWFyY2ggPSB1c2VEZWJvdW5jZShzZWFyY2gsIDMwMClcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG5cbiAgY29uc3QgYWRkT3B0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRhLCByZWxhdGlvbikgPT4ge1xuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb24pXG4gICAgICBkaXNwYXRjaE9wdGlvbnMoeyBjb2xsZWN0aW9uLCBkYXRhLCBoYXNNdWx0aXBsZVJlbGF0aW9ucywgaTE4biwgcmVsYXRpb24sIHR5cGU6ICdBREQnIH0pXG4gICAgfSxcbiAgICBbY29sbGVjdGlvbnMsIGhhc011bHRpcGxlUmVsYXRpb25zLCBpMThuXSxcbiAgKVxuXG4gIGNvbnN0IGdldFJlc3VsdHMgPSB1c2VDYWxsYmFjazxHZXRSZXN1bHRzPihcbiAgICBhc3luYyAoe1xuICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb246IGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnLFxuICAgICAgbGFzdExvYWRlZFBhZ2U6IGxhc3RMb2FkZWRQYWdlQXJnLFxuICAgICAgc2VhcmNoOiBzZWFyY2hBcmcsXG4gICAgfSkgPT4ge1xuICAgICAgbGV0IGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSB0eXBlb2YgbGFzdExvYWRlZFBhZ2VBcmcgIT09ICd1bmRlZmluZWQnID8gbGFzdExvYWRlZFBhZ2VBcmcgOiAxXG4gICAgICBjb25zdCBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvblRvVXNlID1cbiAgICAgICAgdHlwZW9mIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnICE9PSAndW5kZWZpbmVkJyA/IGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnIDogLTFcblxuICAgICAgY29uc3QgcmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSA/IHJlbGF0aW9uVG8gOiBbcmVsYXRpb25Ub11cbiAgICAgIGNvbnN0IHJlbGF0aW9uc1RvRmV0Y2ggPVxuICAgICAgICBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvblRvVXNlID09PSAtMVxuICAgICAgICAgID8gcmVsYXRpb25zXG4gICAgICAgICAgOiByZWxhdGlvbnMuc2xpY2UobGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSArIDEpXG5cbiAgICAgIGxldCByZXN1bHRzRmV0Y2hlZCA9IDBcblxuICAgICAgaWYgKCFlcnJvckxvYWRpbmcpIHtcbiAgICAgICAgcmVsYXRpb25zVG9GZXRjaC5yZWR1Y2UoYXN5bmMgKHByaW9yUmVsYXRpb24sIHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JSZWxhdGlvblxuXG4gICAgICAgICAgaWYgKHJlc3VsdHNGZXRjaGVkIDwgMTApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHJlbGF0aW9uKVxuICAgICAgICAgICAgY29uc3QgZmllbGRUb1NlYXJjaCA9IGNvbGxlY3Rpb24/LmFkbWluPy51c2VBc1RpdGxlIHx8ICdpZCdcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaFBhcmFtID0gc2VhcmNoQXJnID8gYCZ3aGVyZVske2ZpZWxkVG9TZWFyY2h9XVtsaWtlXT0ke3NlYXJjaEFyZ31gIDogJydcblxuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcbiAgICAgICAgICAgICAgYCR7c2VydmVyVVJMfSR7YXBpfS8ke3JlbGF0aW9ufT9saW1pdD0ke21heFJlc3VsdHNQZXJSZXF1ZXN0fSZwYWdlPSR7bGFzdExvYWRlZFBhZ2VUb1VzZX0mZGVwdGg9MCR7c2VhcmNoUGFyYW19YCxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6IGkxOG4ubGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGE6IFBhZ2luYXRlZERvY3MgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgaWYgKGRhdGEuZG9jcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0c0ZldGNoZWQgKz0gZGF0YS5kb2NzLmxlbmd0aFxuICAgICAgICAgICAgICAgIGFkZE9wdGlvbnMoZGF0YSwgcmVsYXRpb24pXG4gICAgICAgICAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2UoZGF0YS5wYWdlKVxuXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhLm5leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG5cbiAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlbGF0aW9ucyB0byBzZWFyY2gsIG5lZWQgdG8gcmVzZXQgbGFzdExvYWRlZFBhZ2UgdG8gMVxuICAgICAgICAgICAgICAgICAgLy8gYm90aCBsb2NhbGx5IHdpdGhpbiBmdW5jdGlvbiBhbmQgc3RhdGVcbiAgICAgICAgICAgICAgICAgIGlmIChyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikgKyAxIDwgcmVsYXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBsYXN0TG9hZGVkUGFnZVRvVXNlID0gMVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHQoJ2Vycm9yOnVuc3BlY2lmaWMnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2kxOG4sIHJlbGF0aW9uVG8sIGVycm9yTG9hZGluZywgY29sbGVjdGlvbnMsIHNlcnZlclVSTCwgYXBpLCBhZGRPcHRpb25zLCB0XSxcbiAgKVxuXG4gIGNvbnN0IGZpbmRPcHRpb25zQnlWYWx1ZSA9IHVzZUNhbGxiYWNrKCgpOiBPcHRpb24gfCBPcHRpb25bXSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAoaGFzTWFueSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKCh2YWwpID0+IHtcbiAgICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICBsZXQgbWF0Y2hlZE9wdGlvbjogT3B0aW9uXG5cbiAgICAgICAgICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0Lm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIG9wdC5vcHRpb25zLnNvbWUoKHN1Yk9wdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViT3B0Py52YWx1ZSA9PT0gdmFsLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZE9wdGlvbiA9IHN1Yk9wdFxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiBtYXRjaGVkT3B0aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSB2YWwpXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgIGxldCBtYXRjaGVkT3B0aW9uOiBPcHRpb25cblxuICAgICAgICBjb25zdCB2YWx1ZVdpdGhSZWxhdGlvbiA9IHZhbHVlIGFzIFZhbHVlV2l0aFJlbGF0aW9uXG5cbiAgICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICBpZiAob3B0Py5vcHRpb25zKSB7XG4gICAgICAgICAgICBvcHQub3B0aW9ucy5zb21lKChzdWJPcHQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHN1Yk9wdD8udmFsdWUgPT09IHZhbHVlV2l0aFJlbGF0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgbWF0Y2hlZE9wdGlvbiA9IHN1Yk9wdFxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gbWF0Y2hlZE9wdGlvblxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzTWFueSwgaGFzTXVsdGlwbGVSZWxhdGlvbnMsIHZhbHVlLCBvcHRpb25zXSlcblxuICBjb25zdCBoYW5kbGVJbnB1dENoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdTZWFyY2gpID0+IHtcbiAgICAgIGlmIChzZWFyY2ggIT09IG5ld1NlYXJjaCkge1xuICAgICAgICBzZXRTZWFyY2gobmV3U2VhcmNoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlYXJjaF0sXG4gIClcblxuICBjb25zdCBhZGRPcHRpb25CeUlEID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGlkLCByZWxhdGlvbikgPT4ge1xuICAgICAgaWYgKCFlcnJvckxvYWRpbmcgJiYgaWQgIT09ICdudWxsJykge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0vJHtyZWxhdGlvbn0vJHtpZH0/ZGVwdGg9MGAsIHtcbiAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgIGFkZE9wdGlvbnMoeyBkb2NzOiBbZGF0YV0gfSwgcmVsYXRpb24pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcih0KCdlcnJvcjpsb2FkaW5nRG9jdW1lbnQnLCB7IGlkIH0pKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbaTE4biwgYWRkT3B0aW9ucywgYXBpLCBlcnJvckxvYWRpbmcsIHNlcnZlclVSTCwgdF0sXG4gIClcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gR2V0IHJlc3VsdHMgd2hlbiBzZWFyY2ggaW5wdXQgY2hhbmdlc1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICBpMThuLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB0eXBlOiAnQ0xFQVInLFxuICAgIH0pXG5cbiAgICBzZXRIYXNMb2FkZWRGaXJzdE9wdGlvbnModHJ1ZSlcbiAgICBzZXRMYXN0TG9hZGVkUGFnZSgxKVxuICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKC0xKVxuICAgIGdldFJlc3VsdHMoeyBzZWFyY2g6IGRlYm91bmNlZFNlYXJjaCB9KVxuICB9LCBbZ2V0UmVzdWx0cywgZGVib3VuY2VkU2VhcmNoLCByZWxhdGlvblRvLCBpMThuXSlcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gRm9ybWF0IG9wdGlvbnMgb25jZSBmaXJzdCBvcHRpb25zIGhhdmUgYmVlbiByZXRyaWV2ZWRcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsdWUgJiYgaGFzTG9hZGVkRmlyc3RPcHRpb25zKSB7XG4gICAgICBpZiAoaGFzTWFueSkge1xuICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9ucyA9IGZpbmRPcHRpb25zQnlWYWx1ZSgpXG5cbiAgICAgICAgOygobWF0Y2hlZE9wdGlvbnMgYXMgT3B0aW9uW10pIHx8IFtdKS5mb3JFYWNoKChvcHRpb24sIGkpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbikge1xuICAgICAgICAgICAgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgIGFkZE9wdGlvbkJ5SUQodmFsdWVbaV0udmFsdWUsIHZhbHVlW2ldLnJlbGF0aW9uVG8pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRPcHRpb25CeUlEKHZhbHVlW2ldLCByZWxhdGlvblRvKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSBmaW5kT3B0aW9uc0J5VmFsdWUoKVxuXG4gICAgICAgIGlmICghbWF0Y2hlZE9wdGlvbikge1xuICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVXaXRoUmVsYXRpb24gPSB2YWx1ZSBhcyBWYWx1ZVdpdGhSZWxhdGlvblxuICAgICAgICAgICAgYWRkT3B0aW9uQnlJRCh2YWx1ZVdpdGhSZWxhdGlvbi52YWx1ZSwgdmFsdWVXaXRoUmVsYXRpb24ucmVsYXRpb25UbylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWRkT3B0aW9uQnlJRCh2YWx1ZSwgcmVsYXRpb25UbylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtcbiAgICBhZGRPcHRpb25CeUlELFxuICAgIGZpbmRPcHRpb25zQnlWYWx1ZSxcbiAgICBoYXNNYW55LFxuICAgIGhhc011bHRpcGxlUmVsYXRpb25zLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgdmFsdWUsXG4gICAgaGFzTG9hZGVkRmlyc3RPcHRpb25zLFxuICBdKVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbJ2ZpZWxkLXR5cGUnLCBiYXNlQ2xhc3MsIGVycm9yTG9hZGluZyAmJiAnZXJyb3ItbG9hZGluZyddXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCB2YWx1ZVRvUmVuZGVyID0gKGZpbmRPcHRpb25zQnlWYWx1ZSgpIHx8IHZhbHVlKSBhcyBPcHRpb25cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzfT5cbiAgICAgIHshZXJyb3JMb2FkaW5nICYmIChcbiAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGlzTXVsdGk9e2hhc01hbnl9XG4gICAgICAgICAgaXNTb3J0YWJsZT17aXNTb3J0YWJsZX1cbiAgICAgICAgICBvbkNoYW5nZT17KHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoaGFzTWFueSkge1xuICAgICAgICAgICAgICBvbkNoYW5nZShcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgPyBzZWxlY3RlZC5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzogb3B0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKHtcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBzZWxlY3RlZC5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZC52YWx1ZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKHNlbGVjdGVkLnZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25JbnB1dENoYW5nZT17aGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgb25NZW51U2Nyb2xsVG9Cb3R0b209eygpID0+IHtcbiAgICAgICAgICAgIGdldFJlc3VsdHMoeyBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiwgbGFzdExvYWRlZFBhZ2U6IGxhc3RMb2FkZWRQYWdlICsgMSB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17dCgnc2VsZWN0VmFsdWUnKX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWVUb1JlbmRlcn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7ZXJyb3JMb2FkaW5nICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lcnJvci1sb2FkaW5nYH0+e2Vycm9yTG9hZGluZ308L2Rpdj59XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVsYXRpb25zaGlwRmllbGRcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJtYXhSZXN1bHRzUGVyUmVxdWVzdCIsIlJlbGF0aW9uc2hpcEZpZWxkIiwicHJvcHMiLCJhZG1pbiIsImlzU29ydGFibGUiLCJkaXNhYmxlZCIsImhhc01hbnkiLCJvbkNoYW5nZSIsInJlbGF0aW9uVG8iLCJ2YWx1ZSIsImNvbGxlY3Rpb25zIiwicm91dGVzIiwiYXBpIiwic2VydmVyVVJMIiwidXNlQ29uZmlnIiwiaGFzTXVsdGlwbGVSZWxhdGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJvcHRpb25zIiwiZGlzcGF0Y2hPcHRpb25zIiwidXNlUmVkdWNlciIsIm9wdGlvbnNSZWR1Y2VyIiwibGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24iLCJzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiIsInVzZVN0YXRlIiwibGFzdExvYWRlZFBhZ2UiLCJzZXRMYXN0TG9hZGVkUGFnZSIsInNlYXJjaCIsInNldFNlYXJjaCIsImVycm9yTG9hZGluZyIsInNldEVycm9yTG9hZGluZyIsImhhc0xvYWRlZEZpcnN0T3B0aW9ucyIsInNldEhhc0xvYWRlZEZpcnN0T3B0aW9ucyIsImRlYm91bmNlZFNlYXJjaCIsInVzZURlYm91bmNlIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImFkZE9wdGlvbnMiLCJ1c2VDYWxsYmFjayIsImRhdGEiLCJyZWxhdGlvbiIsImNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbCIsInNsdWciLCJ0eXBlIiwiZ2V0UmVzdWx0cyIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnIiwibGFzdExvYWRlZFBhZ2VBcmciLCJzZWFyY2hBcmciLCJsYXN0TG9hZGVkUGFnZVRvVXNlIiwibGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uc1RvRmV0Y2giLCJzbGljZSIsInJlc3VsdHNGZXRjaGVkIiwicmVkdWNlIiwicHJpb3JSZWxhdGlvbiIsImZpZWxkVG9TZWFyY2giLCJ1c2VBc1RpdGxlIiwic2VhcmNoUGFyYW0iLCJyZXNwb25zZSIsImZldGNoIiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJvayIsImpzb24iLCJkb2NzIiwibGVuZ3RoIiwicGFnZSIsIm5leHRQYWdlIiwiaW5kZXhPZiIsIlByb21pc2UiLCJyZXNvbHZlIiwiZmluZE9wdGlvbnNCeVZhbHVlIiwibWFwIiwidmFsIiwibWF0Y2hlZE9wdGlvbiIsImZvckVhY2giLCJvcHQiLCJzb21lIiwic3ViT3B0IiwidW5kZWZpbmVkIiwidmFsdWVXaXRoUmVsYXRpb24iLCJoYW5kbGVJbnB1dENoYW5nZSIsIm5ld1NlYXJjaCIsImFkZE9wdGlvbkJ5SUQiLCJpZCIsImNvbnNvbGUiLCJlcnJvciIsInVzZUVmZmVjdCIsInJlcXVpcmVkIiwibWF0Y2hlZE9wdGlvbnMiLCJvcHRpb24iLCJpIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwidmFsdWVUb1JlbmRlciIsImRpdiIsImNsYXNzTmFtZSIsIlJlYWN0U2VsZWN0IiwiaXNNdWx0aSIsInNlbGVjdGVkIiwib25JbnB1dENoYW5nZSIsIm9uTWVudVNjcm9sbFRvQm90dG9tIiwicGxhY2Vob2xkZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaVRBOzs7ZUFBQTs7OytEQWpUb0U7OEJBQ3JDO29FQU1QO3dCQUNFO29FQUNGO1FBQ2pCO3VFQUNvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFM0IsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyx1QkFBdUI7QUFFN0IsTUFBTUMsb0JBQXFDLENBQUNDO0lBQzFDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRUMsUUFBUSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxLQUFLLEVBQUUsR0FBR1A7SUFFdkYsTUFBTSxFQUNKUSxXQUFXLEVBQ1hDLFFBQVEsRUFBRUMsR0FBRyxFQUFFLEVBQ2ZDLFNBQVMsRUFDVixHQUFHQyxJQUFBQSxpQkFBUztJQUViLE1BQU1DLHVCQUF1QkMsTUFBTUMsT0FBTyxDQUFDVDtJ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
|
|
386
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9Db25kaXRpb24vUmVsYXRpb25zaGlwL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgUGFnaW5hdGVkRG9jcyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9SZWFjdFNlbGVjdC90eXBlcydcbmltcG9ydCB0eXBlIHsgR2V0UmVzdWx0cywgUHJvcHMsIFZhbHVlV2l0aFJlbGF0aW9uIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHVzZURlYm91bmNlIGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZURlYm91bmNlJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCBSZWFjdFNlbGVjdCBmcm9tICcuLi8uLi8uLi9SZWFjdFNlbGVjdCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IG9wdGlvbnNSZWR1Y2VyIGZyb20gJy4vb3B0aW9uc1JlZHVjZXInXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdjb25kaXRpb24tdmFsdWUtcmVsYXRpb25zaGlwJ1xuXG5jb25zdCBtYXhSZXN1bHRzUGVyUmVxdWVzdCA9IDEwXG5cbmNvbnN0IFJlbGF0aW9uc2hpcEZpZWxkOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGFkbWluOiB7IGlzU29ydGFibGUgfSA9IHt9LFxuICAgIGRpc2FibGVkLFxuICAgIGZpbHRlck9wdGlvbnMsXG4gICAgaGFzTWFueSxcbiAgICBvbkNoYW5nZSxcbiAgICByZWxhdGlvblRvLFxuICAgIHZhbHVlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbnMsXG4gICAgcm91dGVzOiB7IGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgaGFzTXVsdGlwbGVSZWxhdGlvbnMgPSBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pXG4gIGNvbnN0IFtvcHRpb25zLCBkaXNwYXRjaE9wdGlvbnNdID0gdXNlUmVkdWNlcihvcHRpb25zUmVkdWNlciwgW10pXG4gIGNvbnN0IFtsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiwgc2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25dID0gdXNlU3RhdGUoLTEpXG4gIGNvbnN0IFtsYXN0TG9hZGVkUGFnZSwgc2V0TGFzdExvYWRlZFBhZ2VdID0gdXNlU3RhdGUoMSlcbiAgY29uc3QgW3NlYXJjaCwgc2V0U2VhcmNoXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbZXJyb3JMb2FkaW5nLCBzZXRFcnJvckxvYWRpbmddID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtoYXNMb2FkZWRGaXJzdE9wdGlvbnMsIHNldEhhc0xvYWRlZEZpcnN0T3B0aW9uc10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgZGVib3VuY2VkU2VhcmNoID0gdXNlRGVib3VuY2Uoc2VhcmNoLCAzMDApXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuICBjb25zdCB7IHVzZXIgfSA9IHVzZUF1dGgoKVxuXG4gIGNvbnN0IGFkZE9wdGlvbnMgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0YSwgcmVsYXRpb24pID0+IHtcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHJlbGF0aW9uKVxuICAgICAgZGlzcGF0Y2hPcHRpb25zKHsgdHlwZTogJ0FERCcsIGNvbGxlY3Rpb24sIGRhdGEsIGhhc011bHRpcGxlUmVsYXRpb25zLCBpMThuLCByZWxhdGlvbiB9KVxuICAgIH0sXG4gICAgW2NvbGxlY3Rpb25zLCBoYXNNdWx0aXBsZVJlbGF0aW9ucywgaTE4bl0sXG4gIClcblxuICBjb25zdCBnZXRSZXN1bHRzID0gdXNlQ2FsbGJhY2s8R2V0UmVzdWx0cz4oXG4gICAgYXN5bmMgKHtcbiAgICAgIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uOiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyxcbiAgICAgIGxhc3RMb2FkZWRQYWdlOiBsYXN0TG9hZGVkUGFnZUFyZyxcbiAgICAgIHNlYXJjaDogc2VhcmNoQXJnLFxuICAgIH0pID0+IHtcbiAgICAgIGxldCBsYXN0TG9hZGVkUGFnZVRvVXNlID0gdHlwZW9mIGxhc3RMb2FkZWRQYWdlQXJnICE9PSAndW5kZWZpbmVkJyA/IGxhc3RMb2FkZWRQYWdlQXJnIDogMVxuICAgICAgY29uc3QgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9XG4gICAgICAgIHR5cGVvZiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyAhPT0gJ3VuZGVmaW5lZCcgPyBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyA6IC0xXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgPyByZWxhdGlvblRvIDogW3JlbGF0aW9uVG9dXG4gICAgICBjb25zdCByZWxhdGlvbnNUb0ZldGNoID1cbiAgICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9PT0gLTFcbiAgICAgICAgICA/IHJlbGF0aW9uc1xuICAgICAgICAgIDogcmVsYXRpb25zLnNsaWNlKGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uVG9Vc2UgKyAxKVxuXG4gICAgICBsZXQgcmVzdWx0c0ZldGNoZWQgPSAwXG5cbiAgICAgIGlmICghZXJyb3JMb2FkaW5nKSB7XG4gICAgICAgIHZvaWQgcmVsYXRpb25zVG9GZXRjaC5yZWR1Y2UoYXN5bmMgKHByaW9yUmVsYXRpb24sIHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JSZWxhdGlvblxuICAgICAgICAgIGlmIChyZXN1bHRzRmV0Y2hlZCA8IDEwKSB7XG4gICAgICAgICAgICBjb25zdCBzZWFyY2g6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYgeyB3aGVyZTogV2hlcmUgfSA9IHtcbiAgICAgICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgICAgIGxpbWl0OiBtYXhSZXN1bHRzUGVyUmVxdWVzdCxcbiAgICAgICAgICAgICAgcGFnZTogbGFzdExvYWRlZFBhZ2VUb1VzZSxcbiAgICAgICAgICAgICAgd2hlcmU6IHsgYW5kOiBbXSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb24pXG4gICAgICAgICAgICBjb25zdCBmaWVsZFRvU2VhcmNoID0gY29sbGVjdGlvbj8uYWRtaW4/LnVzZUFzVGl0bGUgfHwgJ2lkJ1xuICAgICAgICAgICAgLy8gYWRkIHNlYXJjaCBhcmcgdG8gd2hlcmUgb2JqZWN0XG4gICAgICAgICAgICBpZiAoc2VhcmNoQXJnKSB7XG4gICAgICAgICAgICAgIHNlYXJjaC53aGVyZS5hbmQucHVzaCh7XG4gICAgICAgICAgICAgICAgW2ZpZWxkVG9TZWFyY2hdOiB7XG4gICAgICAgICAgICAgICAgICBsaWtlOiBzZWFyY2hBcmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNhbGwgdGhlIGZpbHRlck9wdGlvbnMgZnVuY3Rpb24gaWYgaXQgZXhpc3RzIHBhc3NpbmcgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICAgICAgICAgIGlmIChmaWx0ZXJPcHRpb25zKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgICAgICAgdHlwZW9mIGZpbHRlck9wdGlvbnMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gZGF0YSBhbmQgc2libGluZ0RhdGEgYXJlIGVtcHR5IHNpbmNlIHdlIGNhbm5vdCBmZXRjaCB3aXRoIHRoZSB2YWx1ZXMgY292ZXJpbmcgdGhlXG4gICAgICAgICAgICAgICAgICAgICAgLy8gZW50aXJlIGxpc3QgdGhpcyBsaW1pdGF0aW9uIG1lYW5zIHRoYXQgZmlsdGVyT3B0aW9ucyBmdW5jdGlvbnMgdXNpbmcgYSBkb2N1bWVudCdzXG4gICAgICAgICAgICAgICAgICAgICAgLy8gIGRhdGEgYXJlIHVuc3VwcG9ydGVkIGluIHRoZSB3aGVyZUJ1aWxkZXJcbiAgICAgICAgICAgICAgICAgICAgICBpZDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICBzaWJsaW5nRGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgdXNlcixcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIDogZmlsdGVyT3B0aW9uc1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbkZpbHRlciA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICBzZWFyY2gud2hlcmUuYW5kLnB1c2gob3B0aW9uRmlsdGVyKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgLy8gbm8gb3B0aW9ucyB3aWxsIGJlIHJldHVybmVkXG4gICAgICAgICAgICAgICAgc2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24ocmVsYXRpb25zLmluZGV4T2YocmVsYXRpb24pKVxuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG1vcmUgcmVsYXRpb25zIHRvIHNlYXJjaCwgbmVlZCB0byByZXNldCBsYXN0TG9hZGVkUGFnZSB0byAxXG4gICAgICAgICAgICAgICAgLy8gYm90aCBsb2NhbGx5IHdpdGhpbiBmdW5jdGlvbiBhbmQgc3RhdGVcbiAgICAgICAgICAgICAgICBpZiAocmVsYXRpb25zLmluZGV4T2YocmVsYXRpb24pICsgMSA8IHJlbGF0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSAxXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWFyY2gud2hlcmUuYW5kLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICBkZWxldGUgc2VhcmNoLndoZXJlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7c2VydmVyVVJMfSR7YXBpfS8ke3JlbGF0aW9ufT8ke3FzLnN0cmluZ2lmeShzZWFyY2gpfWAsIHtcbiAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGE6IFBhZ2luYXRlZERvY3MgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgaWYgKGRhdGEuZG9jcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0c0ZldGNoZWQgKz0gZGF0YS5kb2NzLmxlbmd0aFxuICAgICAgICAgICAgICAgIGFkZE9wdGlvbnMoZGF0YSwgcmVsYXRpb24pXG4gICAgICAgICAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2UoZGF0YS5wYWdlKVxuXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhLm5leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG5cbiAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlbGF0aW9ucyB0byBzZWFyY2gsIG5lZWQgdG8gcmVzZXQgbGFzdExvYWRlZFBhZ2UgdG8gMVxuICAgICAgICAgICAgICAgICAgLy8gYm90aCBsb2NhbGx5IHdpdGhpbiBmdW5jdGlvbiBhbmQgc3RhdGVcbiAgICAgICAgICAgICAgICAgIGlmIChyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikgKyAxIDwgcmVsYXRpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBsYXN0TG9hZGVkUGFnZVRvVXNlID0gMVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHQoJ2Vycm9yOnVuc3BlY2lmaWMnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgcmVsYXRpb25UbyxcbiAgICAgIGVycm9yTG9hZGluZyxcbiAgICAgIGNvbGxlY3Rpb25zLFxuICAgICAgZmlsdGVyT3B0aW9ucyxcbiAgICAgIHNlcnZlclVSTCxcbiAgICAgIGFwaSxcbiAgICAgIGkxOG4ubGFuZ3VhZ2UsXG4gICAgICB1c2VyLFxuICAgICAgYWRkT3B0aW9ucyxcbiAgICAgIHQsXG4gICAgXSxcbiAgKVxuXG4gIGNvbnN0IGZpbmRPcHRpb25zQnlWYWx1ZSA9IHVzZUNhbGxiYWNrKCgpOiBPcHRpb24gfCBPcHRpb25bXSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAoaGFzTWFueSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKCh2YWwpID0+IHtcbiAgICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICBsZXQgbWF0Y2hlZE9wdGlvbjogT3B0aW9uXG5cbiAgICAgICAgICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0Lm9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgIG9wdC5vcHRpb25zLnNvbWUoKHN1Yk9wdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViT3B0Py52YWx1ZSA9PT0gdmFsLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZE9wdGlvbiA9IHN1Yk9wdFxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgIHJldHVybiBtYXRjaGVkT3B0aW9uXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSB2YWwpXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgIGxldCBtYXRjaGVkT3B0aW9uOiBPcHRpb25cblxuICAgICAgICBjb25zdCB2YWx1ZVdpdGhSZWxhdGlvbiA9IHZhbHVlIGFzIFZhbHVlV2l0aFJlbGF0aW9uXG5cbiAgICAgICAgb3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICBpZiAob3B0Py5vcHRpb25zKSB7XG4gICAgICAgICAgICBvcHQub3B0aW9ucy5zb21lKChzdWJPcHQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHN1Yk9wdD8udmFsdWUgPT09IHZhbHVlV2l0aFJlbGF0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgbWF0Y2hlZE9wdGlvbiA9IHN1Yk9wdFxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gbWF0Y2hlZE9wdGlvblxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC52YWx1ZSA9PT0gdmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzTWFueSwgaGFzTXVsdGlwbGVSZWxhdGlvbnMsIHZhbHVlLCBvcHRpb25zXSlcblxuICBjb25zdCBoYW5kbGVJbnB1dENoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdTZWFyY2gpID0+IHtcbiAgICAgIGlmIChzZWFyY2ggIT09IG5ld1NlYXJjaCkge1xuICAgICAgICBzZXRTZWFyY2gobmV3U2VhcmNoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlYXJjaF0sXG4gIClcblxuICBjb25zdCBhZGRPcHRpb25CeUlEID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGlkLCByZWxhdGlvbikgPT4ge1xuICAgICAgaWYgKCFlcnJvckxvYWRpbmcgJiYgaWQgIT09ICdudWxsJykge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0vJHtyZWxhdGlvbn0vJHtpZH0/ZGVwdGg9MGAsIHtcbiAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgIGFkZE9wdGlvbnMoeyBkb2NzOiBbZGF0YV0gfSwgcmVsYXRpb24pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcih0KCdlcnJvcjpsb2FkaW5nRG9jdW1lbnQnLCB7IGlkIH0pKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbaTE4biwgYWRkT3B0aW9ucywgYXBpLCBlcnJvckxvYWRpbmcsIHNlcnZlclVSTCwgdF0sXG4gIClcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gR2V0IHJlc3VsdHMgd2hlbiBzZWFyY2ggaW5wdXQgY2hhbmdlc1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICBpMThuLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB0eXBlOiAnQ0xFQVInLFxuICAgIH0pXG5cbiAgICBzZXRIYXNMb2FkZWRGaXJzdE9wdGlvbnModHJ1ZSlcbiAgICBzZXRMYXN0TG9hZGVkUGFnZSgxKVxuICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKC0xKVxuICAgIGdldFJlc3VsdHMoeyBzZWFyY2g6IGRlYm91bmNlZFNlYXJjaCB9KVxuICB9LCBbZ2V0UmVzdWx0cywgZGVib3VuY2VkU2VhcmNoLCByZWxhdGlvblRvLCBpMThuXSlcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gRm9ybWF0IG9wdGlvbnMgb25jZSBmaXJzdCBvcHRpb25zIGhhdmUgYmVlbiByZXRyaWV2ZWRcbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsdWUgJiYgaGFzTG9hZGVkRmlyc3RPcHRpb25zKSB7XG4gICAgICBpZiAoaGFzTWFueSkge1xuICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9ucyA9IGZpbmRPcHRpb25zQnlWYWx1ZSgpXG5cbiAgICAgICAgOygobWF0Y2hlZE9wdGlvbnMgYXMgT3B0aW9uW10pIHx8IFtdKS5mb3JFYWNoKChvcHRpb24sIGkpID0+IHtcbiAgICAgICAgICBpZiAoIW9wdGlvbikge1xuICAgICAgICAgICAgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgIGFkZE9wdGlvbkJ5SUQodmFsdWVbaV0udmFsdWUsIHZhbHVlW2ldLnJlbGF0aW9uVG8pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRPcHRpb25CeUlEKHZhbHVlW2ldLCByZWxhdGlvblRvKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSBmaW5kT3B0aW9uc0J5VmFsdWUoKVxuXG4gICAgICAgIGlmICghbWF0Y2hlZE9wdGlvbikge1xuICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVXaXRoUmVsYXRpb24gPSB2YWx1ZSBhcyBWYWx1ZVdpdGhSZWxhdGlvblxuICAgICAgICAgICAgYWRkT3B0aW9uQnlJRCh2YWx1ZVdpdGhSZWxhdGlvbi52YWx1ZSwgdmFsdWVXaXRoUmVsYXRpb24ucmVsYXRpb25UbylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWRkT3B0aW9uQnlJRCh2YWx1ZSwgcmVsYXRpb25UbylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtcbiAgICBhZGRPcHRpb25CeUlELFxuICAgIGZpbmRPcHRpb25zQnlWYWx1ZSxcbiAgICBoYXNNYW55LFxuICAgIGhhc011bHRpcGxlUmVsYXRpb25zLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgdmFsdWUsXG4gICAgaGFzTG9hZGVkRmlyc3RPcHRpb25zLFxuICBdKVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbJ2ZpZWxkLXR5cGUnLCBiYXNlQ2xhc3MsIGVycm9yTG9hZGluZyAmJiAnZXJyb3ItbG9hZGluZyddXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCB2YWx1ZVRvUmVuZGVyID0gKGZpbmRPcHRpb25zQnlWYWx1ZSgpIHx8IHZhbHVlKSBhcyBPcHRpb25cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzfT5cbiAgICAgIHshZXJyb3JMb2FkaW5nICYmIChcbiAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGlzTXVsdGk9e2hhc01hbnl9XG4gICAgICAgICAgaXNTb3J0YWJsZT17aXNTb3J0YWJsZX1cbiAgICAgICAgICBvbkNoYW5nZT17KHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoaGFzTWFueSkge1xuICAgICAgICAgICAgICBvbkNoYW5nZShcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgPyBzZWxlY3RlZC5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzogb3B0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKHtcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBzZWxlY3RlZC5yZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZC52YWx1ZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKHNlbGVjdGVkLnZhbHVlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25JbnB1dENoYW5nZT17aGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgb25NZW51U2Nyb2xsVG9Cb3R0b209eygpID0+IHtcbiAgICAgICAgICAgIGdldFJlc3VsdHMoeyBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiwgbGFzdExvYWRlZFBhZ2U6IGxhc3RMb2FkZWRQYWdlICsgMSB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17dCgnc2VsZWN0VmFsdWUnKX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWVUb1JlbmRlcn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7ZXJyb3JMb2FkaW5nICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lcnJvci1sb2FkaW5nYH0+e2Vycm9yTG9hZGluZ308L2Rpdj59XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmVsYXRpb25zaGlwRmllbGRcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJtYXhSZXN1bHRzUGVyUmVxdWVzdCIsIlJlbGF0aW9uc2hpcEZpZWxkIiwicHJvcHMiLCJhZG1pbiIsImlzU29ydGFibGUiLCJkaXNhYmxlZCIsImZpbHRlck9wdGlvbnMiLCJoYXNNYW55Iiwib25DaGFuZ2UiLCJyZWxhdGlvblRvIiwidmFsdWUiLCJjb2xsZWN0aW9ucyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImhhc011bHRpcGxlUmVsYXRpb25zIiwiQXJyYXkiLCJpc0FycmF5Iiwib3B0aW9ucyIsImRpc3BhdGNoT3B0aW9ucyIsInVzZVJlZHVjZXIiLCJvcHRpb25zUmVkdWNlciIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uIiwic2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24iLCJ1c2VTdGF0ZSIsImxhc3RMb2FkZWRQYWdlIiwic2V0TGFzdExvYWRlZFBhZ2UiLCJzZWFyY2giLCJzZXRTZWFyY2giLCJlcnJvckxvYWRpbmciLCJzZXRFcnJvckxvYWRpbmciLCJoYXNMb2FkZWRGaXJzdE9wdGlvbnMiLCJzZXRIYXNMb2FkZWRGaXJzdE9wdGlvbnMiLCJkZWJvdW5jZWRTZWFyY2giLCJ1c2VEZWJvdW5jZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJ1c2VyIiwidXNlQXV0aCIsImFkZE9wdGlvbnMiLCJ1c2VDYWxsYmFjayIsImRhdGEiLCJyZWxhdGlvbiIsImNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbCIsInNsdWciLCJ0eXBlIiwiZ2V0UmVzdWx0cyIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnIiwibGFzdExvYWRlZFBhZ2VBcmciLCJzZWFyY2hBcmciLCJsYXN0TG9hZGVkUGFnZVRvVXNlIiwibGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uc1RvRmV0Y2giLCJzbGljZSIsInJlc3VsdHNGZXRjaGVkIiwicmVkdWNlIiwicHJpb3JSZWxhdGlvbiIsImRlcHRoIiwibGltaXQiLCJwYWdlIiwid2hlcmUiLCJhbmQiLCJmaWVsZFRvU2VhcmNoIiwidXNlQXNUaXRsZSIsInB1c2giLCJsaWtlIiwib3B0aW9uRmlsdGVyIiwiaWQiLCJ1bmRlZmluZWQiLCJzaWJsaW5nRGF0YSIsImluZGV4T2YiLCJsZW5ndGgiLCJyZXNwb25zZSIsImZldGNoIiwicXMiLCJzdHJpbmdpZnkiLCJjcmVkZW50aWFscyIsImhlYWRlcnMiLCJsYW5ndWFnZSIsIm9rIiwianNvbiIsImRvY3MiLCJuZXh0UGFnZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiZmluZE9wdGlvbnNCeVZhbHVlIiwibWFwIiwidmFsIiwibWF0Y2hlZE9wdGlvbiIsImZvckVhY2giLCJvcHQiLCJzb21lIiwic3ViT3B0IiwidmFsdWVXaXRoUmVsYXRpb24iLCJoYW5kbGVJbnB1dENoYW5nZSIsIm5ld1NlYXJjaCIsImFkZE9wdGlvbkJ5SUQiLCJjb25zb2xlIiwiZXJyb3IiLCJ1c2VFZmZlY3QiLCJyZXF1aXJlZCIsIm1hdGNoZWRPcHRpb25zIiwib3B0aW9uIiwiaSIsImNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInZhbHVlVG9SZW5kZXIiLCJkaXYiLCJjbGFzc05hbWUiLCJSZWFjdFNlbGVjdCIsImlzTXVsdGkiLCJzZWxlY3RlZCIsIm9uSW5wdXRDaGFuZ2UiLCJvbk1lbnVTY3JvbGxUb0JvdHRvbSIsInBsYWNlaG9sZGVyIl0sIm1h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
|
|
@@ -97,9 +97,9 @@ const Condition = (props)=>{
|
|
|
97
97
|
]);
|
|
98
98
|
(0, _react.useEffect)(()=>{
|
|
99
99
|
dispatch({
|
|
100
|
+
type: 'update',
|
|
100
101
|
andIndex,
|
|
101
102
|
orIndex,
|
|
102
|
-
type: 'update',
|
|
103
103
|
value: debouncedValue || ''
|
|
104
104
|
});
|
|
105
105
|
}, [
|
|
@@ -133,10 +133,10 @@ const Condition = (props)=>{
|
|
|
133
133
|
isClearable: false,
|
|
134
134
|
onChange: (field)=>{
|
|
135
135
|
dispatch({
|
|
136
|
-
|
|
136
|
+
type: 'update',
|
|
137
|
+
andIndex,
|
|
137
138
|
field: field?.value,
|
|
138
|
-
orIndex
|
|
139
|
-
type: 'update'
|
|
139
|
+
orIndex
|
|
140
140
|
});
|
|
141
141
|
},
|
|
142
142
|
options: fields,
|
|
@@ -148,10 +148,10 @@ const Condition = (props)=>{
|
|
|
148
148
|
isClearable: false,
|
|
149
149
|
onChange: (operator)=>{
|
|
150
150
|
dispatch({
|
|
151
|
+
type: 'update',
|
|
151
152
|
andIndex,
|
|
152
153
|
operator: operator.value,
|
|
153
|
-
orIndex
|
|
154
|
-
type: 'update'
|
|
154
|
+
orIndex
|
|
155
155
|
});
|
|
156
156
|
setInternalOperatorField(operator.value);
|
|
157
157
|
},
|
|
@@ -178,9 +178,9 @@ const Condition = (props)=>{
|
|
|
178
178
|
icon: "x",
|
|
179
179
|
iconStyle: "with-border",
|
|
180
180
|
onClick: ()=>dispatch({
|
|
181
|
+
type: 'remove',
|
|
181
182
|
andIndex,
|
|
182
|
-
orIndex
|
|
183
|
-
type: 'remove'
|
|
183
|
+
orIndex
|
|
184
184
|
}),
|
|
185
185
|
round: true
|
|
186
186
|
}), /*#__PURE__*/ _react.default.createElement(_Button.default, {
|
|
@@ -189,15 +189,15 @@ const Condition = (props)=>{
|
|
|
189
189
|
icon: "plus",
|
|
190
190
|
iconStyle: "with-border",
|
|
191
191
|
onClick: ()=>dispatch({
|
|
192
|
+
type: 'add',
|
|
192
193
|
andIndex: andIndex + 1,
|
|
193
194
|
field: fields[0].value,
|
|
194
195
|
orIndex,
|
|
195
|
-
relation: 'and'
|
|
196
|
-
type: 'add'
|
|
196
|
+
relation: 'and'
|
|
197
197
|
}),
|
|
198
198
|
round: true
|
|
199
199
|
}))));
|
|
200
200
|
};
|
|
201
201
|
const _default = Condition;
|
|
202
202
|
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9Db25kaXRpb24vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgUmVuZGVyQ3VzdG9tQ29tcG9uZW50IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9SZW5kZXJDdXN0b21Db21wb25lbnQnXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL0J1dHRvbidcbmltcG9ydCBSZWFjdFNlbGVjdCBmcm9tICcuLi8uLi9SZWFjdFNlbGVjdCdcbmltcG9ydCBEYXRlIGZyb20gJy4vRGF0ZSdcbmltcG9ydCBOdW1iZXIgZnJvbSAnLi9OdW1iZXInXG5pbXBvcnQgUmVsYXRpb25zaGlwIGZyb20gJy4vUmVsYXRpb25zaGlwJ1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi9TZWxlY3QnXG5pbXBvcnQgVGV4dCBmcm9tICcuL1RleHQnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgdmFsdWVGaWVsZHMgPSB7XG4gIERhdGUsXG4gIE51bWJlcixcbiAgUmVsYXRpb25zaGlwLFxuICBTZWxlY3QsXG4gIFRleHQsXG59XG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdjb25kaXRpb24nXG5cbmNvbnN0IENvbmRpdGlvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYW5kSW5kZXgsIGRpc3BhdGNoLCBmaWVsZHMsIG9ySW5kZXgsIHZhbHVlIH0gPSBwcm9wc1xuICBjb25zdCBmaWVsZE5hbWUgPSBPYmplY3Qua2V5cyh2YWx1ZSlbMF1cbiAgY29uc3QgW2FjdGl2ZUZpZWxkLCBzZXRBY3RpdmVGaWVsZF0gPSB1c2VTdGF0ZTxGaWVsZENvbmRpdGlvbj4oKCkgPT5cbiAgICBmaWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkTmFtZSA9PT0gZmllbGQudmFsdWUpLFxuICApXG5cbiAgY29uc3Qgb3BlcmF0b3JBbmRWYWx1ZSA9IHZhbHVlPy5bZmllbGROYW1lXSA/IE9iamVjdC5lbnRyaWVzKHZhbHVlW2ZpZWxkTmFtZV0pWzBdIDogdW5kZWZpbmVkXG4gIGNvbnN0IHF1ZXJ5VmFsdWUgPSBvcGVyYXRvckFuZFZhbHVlPy5bMV1cbiAgY29uc3Qgb3BlcmF0b3JWYWx1ZSA9IG9wZXJhdG9yQW5kVmFsdWU/LlswXVxuXG4gIGNvbnN0IFtpbnRlcm5hbFZhbHVlLCBzZXRJbnRlcm5hbFZhbHVlXSA9IHVzZVN0YXRlKHF1ZXJ5VmFsdWUpXG4gIGNvbnN0IFtpbnRlcm5hbE9wZXJhdG9yRmllbGQsIHNldEludGVybmFsT3BlcmF0b3JGaWVsZF0gPSB1c2VTdGF0ZShvcGVyYXRvclZhbHVlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFZhbHVlID0gdXNlRGVib3VuY2UoaW50ZXJuYWxWYWx1ZSwgMzAwKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV3QWN0aXZlRmllbGQgPSBmaWVsZHMuZmluZCgoeyB2YWx1ZTogbmFtZSB9KSA9PiBuYW1lID09PSBmaWVsZE5hbWUpXG5cbiAgICBpZiAobmV3QWN0aXZlRmllbGQgJiYgbmV3QWN0aXZlRmllbGQgIT09IGFjdGl2ZUZpZWxkKSB7XG4gICAgICBzZXRBY3RpdmVGaWVsZChuZXdBY3RpdmVGaWVsZClcbiAgICAgIHNldEludGVybmFsT3BlcmF0b3JGaWVsZChudWxsKVxuICAgICAgc2V0SW50ZXJuYWxWYWx1ZSgnJylcbiAgICB9XG4gIH0sIFtmaWVsZE5hbWUsIGZpZWxkcywgYWN0aXZlRmllbGRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgYW5kSW5kZXgsXG4gICAgICBvckluZGV4LFxuICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICB2YWx1ZTogZGVib3VuY2VkVmFsdWUgfHwgJycsXG4gICAgfSlcbiAgfSwgW2RlYm91bmNlZFZhbHVlLCBkaXNwYXRjaCwgb3JJbmRleCwgYW5kSW5kZXhdKVxuXG4gIGNvbnN0IGJvb2xlYW5TZWxlY3QgPSBbJ2V4aXN0cyddLmluY2x1ZGVzKG9wZXJhdG9yVmFsdWUpIHx8IGFjdGl2ZUZpZWxkLnByb3BzLnR5cGUgPT09ICdjaGVja2JveCdcbiAgY29uc3QgVmFsdWVDb21wb25lbnQgPSBib29sZWFuU2VsZWN0XG4gICAgPyBTZWxlY3RcbiAgICA6IHZhbHVlRmllbGRzW2FjdGl2ZUZpZWxkPy5jb21wb25lbnRdIHx8IHZhbHVlRmllbGRzLlRleHRcblxuICBsZXQgdmFsdWVPcHRpb25zXG4gIGlmIChib29sZWFuU2VsZWN0KSB7XG4gICAgdmFsdWVPcHRpb25zID0gWyd0cnVlJywgJ2ZhbHNlJ11cbiAgfSBlbHNlIGlmIChhY3RpdmVGaWVsZD8ucHJvcHMgJiYgJ29wdGlvbnMnIGluIGFjdGl2ZUZpZWxkLnByb3BzKSB7XG4gICAgdmFsdWVPcHRpb25zID0gYWN0aXZlRmllbGQucHJvcHMub3B0aW9uc1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmllbGRgfT5cbiAgICAgICAgICAgIDxSZWFjdFNlbGVjdFxuICAgICAgICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICBhbmRJbmRleDogYW5kSW5kZXgsXG4gICAgICAgICAgICAgICAgICBmaWVsZDogZmllbGQ/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgb3JJbmRleDogb3JJbmRleCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9wdGlvbnM9e2ZpZWxkc31cbiAgICAgICAgICAgICAgdmFsdWU9e2ZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGROYW1lID09PSBmaWVsZC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19vcGVyYXRvcmB9PlxuICAgICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshZmllbGROYW1lfVxuICAgICAgICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3BlcmF0b3IpID0+IHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICBhbmRJbmRleCxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBvcGVyYXRvci52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIG9ySW5kZXgsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAndXBkYXRlJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHNldEludGVybmFsT3BlcmF0b3JGaWVsZChvcGVyYXRvci52YWx1ZSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb3B0aW9ucz17YWN0aXZlRmllbGQub3BlcmF0b3JzfVxuICAgICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgICAgYWN0aXZlRmllbGQub3BlcmF0b3JzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAob3BlcmF0b3IpID0+IGludGVybmFsT3BlcmF0b3JGaWVsZCA9PT0gb3BlcmF0b3IudmFsdWUsXG4gICAgICAgICAgICAgICAgKSB8fCBudWxsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3ZhbHVlYH0+XG4gICAgICAgICAgICA8UmVuZGVyQ3VzdG9tQ29tcG9uZW50XG4gICAgICAgICAgICAgIEN1c3RvbUNvbXBvbmVudD17YWN0aXZlRmllbGQ/LnByb3BzPy5hZG1pbj8uY29tcG9uZW50cz8uRmlsdGVyfVxuICAgICAgICAgICAgICBEZWZhdWx0Q29tcG9uZW50PXtWYWx1ZUNvbXBvbmVudH1cbiAgICAgICAgICAgICAgY29tcG9uZW50UHJvcHM9e3tcbiAgICAgICAgICAgICAgICAuLi5hY3RpdmVGaWVsZD8ucHJvcHMsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICFvcGVyYXRvclZhbHVlLFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBzZXRJbnRlcm5hbFZhbHVlLFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBvcGVyYXRvclZhbHVlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHZhbHVlT3B0aW9ucyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaW50ZXJuYWxWYWx1ZSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9uc2B9PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FjdGlvbnMtcmVtb3ZlYH1cbiAgICAgICAgICAgIGljb249XCJ4XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICBhbmRJbmRleCxcbiAgICAgICAgICAgICAgICBvckluZGV4LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdyZW1vdmUnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm91bmRcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FjdGlvbnMtYWRkYH1cbiAgICAgICAgICAgIGljb249XCJwbHVzXCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICBhbmRJbmRleDogYW5kSW5kZXggKyAxLFxuICAgICAgICAgICAgICAgIGZpZWxkOiBmaWVsZHNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgb3JJbmRleCxcbiAgICAgICAgICAgICAgICByZWxhdGlvbjogJ2FuZCcsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2FkZCcsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3VuZFxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29uZGl0aW9uXG4iXSwibmFtZXMiOlsidmFsdWVGaWVsZHMiLCJEYXRlIiwiTnVtYmVyIiwiUmVsYXRpb25zaGlwIiwiU2VsZWN0IiwiVGV4dCIsImJhc2VDbGFzcyIsIkNvbmRpdGlvbiIsInByb3BzIiwiYW5kSW5kZXgiLCJkaXNwYXRjaCIsImZpZWxkcyIsIm9ySW5kZXgiLCJ2YWx1ZSIsImZpZWxkTmFtZSIsIk9iamVjdCIsImtleXMiLCJhY3RpdmVGaWVsZCIsInNldEFjdGl2ZUZpZWxkIiwidXNlU3RhdGUiLCJmaW5kIiwiZmllbGQiLCJvcGVyYXRvckFuZFZhbHVlIiwiZW50cmllcyIsInVuZGVmaW5lZCIsInF1ZXJ5VmFsdWUiLCJvcGVyYXRvclZhbHVlIiwiaW50ZXJuYWxWYWx1ZSIsInNldEludGVybmFsVmFsdWUiLCJpbnRlcm5hbE9wZXJhdG9yRmllbGQiLCJzZXRJbnRlcm5hbE9wZXJhdG9yRmllbGQiLCJkZWJvdW5jZWRWYWx1ZSIsInVzZURlYm91bmNlIiwidXNlRWZmZWN0IiwibmV3QWN0aXZlRmllbGQiLCJuYW1lIiwidHlwZSIsImJvb2xlYW5TZWxlY3QiLCJpbmNsdWRlcyIsIlZhbHVlQ29tcG9uZW50IiwiY29tcG9uZW50IiwidmFsdWVPcHRpb25zIiwib3B0aW9ucyIsImRpdiIsImNsYXNzTmFtZSIsIlJlYWN0U2VsZWN0IiwiaXNDbGVhcmFibGUiLCJvbkNoYW5nZSIsImRpc2FibGVkIiwib3BlcmF0b3IiLCJvcGVyYXRvcnMiLCJSZW5kZXJDdXN0b21Db21wb25lbnQiLCJDdXN0b21Db21wb25lbnQiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJGaWx0ZXIiLCJEZWZhdWx0Q29tcG9uZW50IiwiY29tcG9uZW50UHJvcHMiLCJCdXR0b24iLCJidXR0b25TdHlsZSIsImljb24iLCJpY29uU3R5bGUiLCJvbkNsaWNrIiwicm91bmQiLCJyZWxhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFxS0E7OztlQUFBOzs7K0RBcksyQztvRUFLbkI7OEVBQ1U7K0RBQ2Y7b0VBQ0s7NkRBQ1A7K0RBQ0U7cUVBQ007d0JBQ0Y7NkRBQ047UUFDVjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9Db25kaXRpb24vaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgdXNlRGVib3VuY2UgZnJvbSAnLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQgUmVuZGVyQ3VzdG9tQ29tcG9uZW50IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9SZW5kZXJDdXN0b21Db21wb25lbnQnXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uLy4uL0J1dHRvbidcbmltcG9ydCBSZWFjdFNlbGVjdCBmcm9tICcuLi8uLi9SZWFjdFNlbGVjdCdcbmltcG9ydCBEYXRlIGZyb20gJy4vRGF0ZSdcbmltcG9ydCBOdW1iZXIgZnJvbSAnLi9OdW1iZXInXG5pbXBvcnQgUmVsYXRpb25zaGlwIGZyb20gJy4vUmVsYXRpb25zaGlwJ1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi9TZWxlY3QnXG5pbXBvcnQgVGV4dCBmcm9tICcuL1RleHQnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgdmFsdWVGaWVsZHMgPSB7XG4gIERhdGUsXG4gIE51bWJlcixcbiAgUmVsYXRpb25zaGlwLFxuICBTZWxlY3QsXG4gIFRleHQsXG59XG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdjb25kaXRpb24nXG5cbmNvbnN0IENvbmRpdGlvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYW5kSW5kZXgsIGRpc3BhdGNoLCBmaWVsZHMsIG9ySW5kZXgsIHZhbHVlIH0gPSBwcm9wc1xuICBjb25zdCBmaWVsZE5hbWUgPSBPYmplY3Qua2V5cyh2YWx1ZSlbMF1cbiAgY29uc3QgW2FjdGl2ZUZpZWxkLCBzZXRBY3RpdmVGaWVsZF0gPSB1c2VTdGF0ZTxGaWVsZENvbmRpdGlvbj4oKCkgPT5cbiAgICBmaWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkTmFtZSA9PT0gZmllbGQudmFsdWUpLFxuICApXG5cbiAgY29uc3Qgb3BlcmF0b3JBbmRWYWx1ZSA9IHZhbHVlPy5bZmllbGROYW1lXSA/IE9iamVjdC5lbnRyaWVzKHZhbHVlW2ZpZWxkTmFtZV0pWzBdIDogdW5kZWZpbmVkXG4gIGNvbnN0IHF1ZXJ5VmFsdWUgPSBvcGVyYXRvckFuZFZhbHVlPy5bMV1cbiAgY29uc3Qgb3BlcmF0b3JWYWx1ZSA9IG9wZXJhdG9yQW5kVmFsdWU/LlswXVxuXG4gIGNvbnN0IFtpbnRlcm5hbFZhbHVlLCBzZXRJbnRlcm5hbFZhbHVlXSA9IHVzZVN0YXRlKHF1ZXJ5VmFsdWUpXG4gIGNvbnN0IFtpbnRlcm5hbE9wZXJhdG9yRmllbGQsIHNldEludGVybmFsT3BlcmF0b3JGaWVsZF0gPSB1c2VTdGF0ZShvcGVyYXRvclZhbHVlKVxuXG4gIGNvbnN0IGRlYm91bmNlZFZhbHVlID0gdXNlRGVib3VuY2UoaW50ZXJuYWxWYWx1ZSwgMzAwKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV3QWN0aXZlRmllbGQgPSBmaWVsZHMuZmluZCgoeyB2YWx1ZTogbmFtZSB9KSA9PiBuYW1lID09PSBmaWVsZE5hbWUpXG5cbiAgICBpZiAobmV3QWN0aXZlRmllbGQgJiYgbmV3QWN0aXZlRmllbGQgIT09IGFjdGl2ZUZpZWxkKSB7XG4gICAgICBzZXRBY3RpdmVGaWVsZChuZXdBY3RpdmVGaWVsZClcbiAgICAgIHNldEludGVybmFsT3BlcmF0b3JGaWVsZChudWxsKVxuICAgICAgc2V0SW50ZXJuYWxWYWx1ZSgnJylcbiAgICB9XG4gIH0sIFtmaWVsZE5hbWUsIGZpZWxkcywgYWN0aXZlRmllbGRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goe1xuICAgICAgdHlwZTogJ3VwZGF0ZScsXG4gICAgICBhbmRJbmRleCxcbiAgICAgIG9ySW5kZXgsXG4gICAgICB2YWx1ZTogZGVib3VuY2VkVmFsdWUgfHwgJycsXG4gICAgfSlcbiAgfSwgW2RlYm91bmNlZFZhbHVlLCBkaXNwYXRjaCwgb3JJbmRleCwgYW5kSW5kZXhdKVxuXG4gIGNvbnN0IGJvb2xlYW5TZWxlY3QgPSBbJ2V4aXN0cyddLmluY2x1ZGVzKG9wZXJhdG9yVmFsdWUpIHx8IGFjdGl2ZUZpZWxkLnByb3BzLnR5cGUgPT09ICdjaGVja2JveCdcbiAgY29uc3QgVmFsdWVDb21wb25lbnQgPSBib29sZWFuU2VsZWN0XG4gICAgPyBTZWxlY3RcbiAgICA6IHZhbHVlRmllbGRzW2FjdGl2ZUZpZWxkPy5jb21wb25lbnRdIHx8IHZhbHVlRmllbGRzLlRleHRcblxuICBsZXQgdmFsdWVPcHRpb25zXG4gIGlmIChib29sZWFuU2VsZWN0KSB7XG4gICAgdmFsdWVPcHRpb25zID0gWyd0cnVlJywgJ2ZhbHNlJ11cbiAgfSBlbHNlIGlmIChhY3RpdmVGaWVsZD8ucHJvcHMgJiYgJ29wdGlvbnMnIGluIGFjdGl2ZUZpZWxkLnByb3BzKSB7XG4gICAgdmFsdWVPcHRpb25zID0gYWN0aXZlRmllbGQucHJvcHMub3B0aW9uc1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19pbnB1dHNgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZmllbGRgfT5cbiAgICAgICAgICAgIDxSZWFjdFNlbGVjdFxuICAgICAgICAgICAgICBpc0NsZWFyYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAndXBkYXRlJyxcbiAgICAgICAgICAgICAgICAgIGFuZEluZGV4LFxuICAgICAgICAgICAgICAgICAgZmllbGQ6IGZpZWxkPy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIG9ySW5kZXgsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb3B0aW9ucz17ZmllbGRzfVxuICAgICAgICAgICAgICB2YWx1ZT17ZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZE5hbWUgPT09IGZpZWxkLnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX29wZXJhdG9yYH0+XG4gICAgICAgICAgICA8UmVhY3RTZWxlY3RcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFmaWVsZE5hbWV9XG4gICAgICAgICAgICAgIGlzQ2xlYXJhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcGVyYXRvcikgPT4ge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICd1cGRhdGUnLFxuICAgICAgICAgICAgICAgICAgYW5kSW5kZXgsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvcjogb3BlcmF0b3IudmFsdWUsXG4gICAgICAgICAgICAgICAgICBvckluZGV4LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgc2V0SW50ZXJuYWxPcGVyYXRvckZpZWxkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvcHRpb25zPXthY3RpdmVGaWVsZC5vcGVyYXRvcnN9XG4gICAgICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgICAgICBhY3RpdmVGaWVsZC5vcGVyYXRvcnMuZmluZChcbiAgICAgICAgICAgICAgICAgIChvcGVyYXRvcikgPT4gaW50ZXJuYWxPcGVyYXRvckZpZWxkID09PSBvcGVyYXRvci52YWx1ZSxcbiAgICAgICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdmFsdWVgfT5cbiAgICAgICAgICAgIDxSZW5kZXJDdXN0b21Db21wb25lbnRcbiAgICAgICAgICAgICAgQ3VzdG9tQ29tcG9uZW50PXthY3RpdmVGaWVsZD8ucHJvcHM/LmFkbWluPy5jb21wb25lbnRzPy5GaWx0ZXJ9XG4gICAgICAgICAgICAgIERlZmF1bHRDb21wb25lbnQ9e1ZhbHVlQ29tcG9uZW50fVxuICAgICAgICAgICAgICBjb21wb25lbnRQcm9wcz17e1xuICAgICAgICAgICAgICAgIC4uLmFjdGl2ZUZpZWxkPy5wcm9wcyxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogIW9wZXJhdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IHNldEludGVybmFsVmFsdWUsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG9wZXJhdG9yVmFsdWUsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdmFsdWVPcHRpb25zLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBpbnRlcm5hbFZhbHVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9ucy1yZW1vdmVgfVxuICAgICAgICAgICAgaWNvbj1cInhcIlxuICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdyZW1vdmUnLFxuICAgICAgICAgICAgICAgIGFuZEluZGV4LFxuICAgICAgICAgICAgICAgIG9ySW5kZXgsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3VuZFxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWN0aW9ucy1hZGRgfVxuICAgICAgICAgICAgaWNvbj1cInBsdXNcIlxuICAgICAgICAgICAgaWNvblN0eWxlPVwid2l0aC1ib3JkZXJcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdhZGQnLFxuICAgICAgICAgICAgICAgIGFuZEluZGV4OiBhbmRJbmRleCArIDEsXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpZWxkc1swXS52YWx1ZSxcbiAgICAgICAgICAgICAgICBvckluZGV4LFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uOiAnYW5kJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb25kaXRpb25cbiJdLCJuYW1lcyI6WyJ2YWx1ZUZpZWxkcyIsIkRhdGUiLCJOdW1iZXIiLCJSZWxhdGlvbnNoaXAiLCJTZWxlY3QiLCJUZXh0IiwiYmFzZUNsYXNzIiwiQ29uZGl0aW9uIiwicHJvcHMiLCJhbmRJbmRleCIsImRpc3BhdGNoIiwiZmllbGRzIiwib3JJbmRleCIsInZhbHVlIiwiZmllbGROYW1lIiwiT2JqZWN0Iiwia2V5cyIsImFjdGl2ZUZpZWxkIiwic2V0QWN0aXZlRmllbGQiLCJ1c2VTdGF0ZSIsImZpbmQiLCJmaWVsZCIsIm9wZXJhdG9yQW5kVmFsdWUiLCJlbnRyaWVzIiwidW5kZWZpbmVkIiwicXVlcnlWYWx1ZSIsIm9wZXJhdG9yVmFsdWUiLCJpbnRlcm5hbFZhbHVlIiwic2V0SW50ZXJuYWxWYWx1ZSIsImludGVybmFsT3BlcmF0b3JGaWVsZCIsInNldEludGVybmFsT3BlcmF0b3JGaWVsZCIsImRlYm91bmNlZFZhbHVlIiwidXNlRGVib3VuY2UiLCJ1c2VFZmZlY3QiLCJuZXdBY3RpdmVGaWVsZCIsIm5hbWUiLCJ0eXBlIiwiYm9vbGVhblNlbGVjdCIsImluY2x1ZGVzIiwiVmFsdWVDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZU9wdGlvbnMiLCJvcHRpb25zIiwiZGl2IiwiY2xhc3NOYW1lIiwiUmVhY3RTZWxlY3QiLCJpc0NsZWFyYWJsZSIsIm9uQ2hhbmdlIiwiZGlzYWJsZWQiLCJvcGVyYXRvciIsIm9wZXJhdG9ycyIsIlJlbmRlckN1c3RvbUNvbXBvbmVudCIsIkN1c3RvbUNvbXBvbmVudCIsImFkbWluIiwiY29tcG9uZW50cyIsIkZpbHRlciIsIkRlZmF1bHRDb21wb25lbnQiLCJjb21wb25lbnRQcm9wcyIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiaWNvbiIsImljb25TdHlsZSIsIm9uQ2xpY2siLCJyb3VuZCIsInJlbGF0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQXFLQTs7O2VBQUE7OzsrREFySzJDO29FQUtuQjs4RUFDVTsrREFDZjtvRUFDSzs2REFDUDsrREFDRTtxRUFDTTt3QkFDRjs2REFDTjtRQUNWOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1BLGNBQWM7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
|
|
@@ -78,34 +78,35 @@ const reduceFields = (fields, i18n)=>(0, _flattenTopLevelFields.default)(fields)
|
|
|
78
78
|
} else {
|
|
79
79
|
operators = _fieldtypes.default[field.type].operators;
|
|
80
80
|
}
|
|
81
|
+
const operatorKeys = new Set();
|
|
82
|
+
const filteredOperators = operators.reduce((acc, operator)=>{
|
|
83
|
+
if (!operatorKeys.has(operator.value)) {
|
|
84
|
+
operatorKeys.add(operator.value);
|
|
85
|
+
return [
|
|
86
|
+
...acc,
|
|
87
|
+
{
|
|
88
|
+
...operator,
|
|
89
|
+
label: i18n.t(`operators:${operator.label}`)
|
|
90
|
+
}
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
return acc;
|
|
94
|
+
}, []);
|
|
95
|
+
const formattedField = {
|
|
96
|
+
label: (0, _getTranslation.getTranslation)(field.label || field.name, i18n),
|
|
97
|
+
value: field.name,
|
|
98
|
+
..._fieldtypes.default[field.type],
|
|
99
|
+
operators: filteredOperators,
|
|
100
|
+
props: {
|
|
101
|
+
...field
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
return [
|
|
105
|
+
...reduced,
|
|
106
|
+
formattedField
|
|
107
|
+
];
|
|
81
108
|
}
|
|
82
|
-
|
|
83
|
-
const filteredOperators = operators.reduce((acc, operator)=>{
|
|
84
|
-
if (!operatorKeys.has(operator.value)) {
|
|
85
|
-
operatorKeys.add(operator.value);
|
|
86
|
-
return [
|
|
87
|
-
...acc,
|
|
88
|
-
{
|
|
89
|
-
...operator,
|
|
90
|
-
label: i18n.t(`operators:${operator.label}`)
|
|
91
|
-
}
|
|
92
|
-
];
|
|
93
|
-
}
|
|
94
|
-
return acc;
|
|
95
|
-
}, []);
|
|
96
|
-
const formattedField = {
|
|
97
|
-
label: (0, _getTranslation.getTranslation)(field.label || field.name, i18n),
|
|
98
|
-
value: field.name,
|
|
99
|
-
..._fieldtypes.default[field.type],
|
|
100
|
-
operators: filteredOperators,
|
|
101
|
-
props: {
|
|
102
|
-
...field
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
return [
|
|
106
|
-
...reduced,
|
|
107
|
-
formattedField
|
|
108
|
-
];
|
|
109
|
+
return reduced;
|
|
109
110
|
}, []);
|
|
110
111
|
/**
|
|
111
112
|
* The WhereBuilder component is used to render the filter controls for a collection's list view.
|
|
@@ -234,4 +235,4 @@ const reduceFields = (fields, i18n)=>(0, _flattenTopLevelFields.default)(fields)
|
|
|
234
235
|
};
|
|
235
236
|
const _default = WhereBuilder;
|
|
236
237
|
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHF1ZXJ5U3RyaW5nIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZVJlZHVjZXIsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcblxuaW1wb3J0IHR5cGUgeyBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2ZsYXR0ZW5Ub3BMZXZlbEZpZWxkcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvU2VhcmNoUGFyYW1zJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgQ29uZGl0aW9uIGZyb20gJy4vQ29uZGl0aW9uJ1xuaW1wb3J0IGZpZWxkVHlwZXMgZnJvbSAnLi9maWVsZC10eXBlcydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IHJlZHVjZXIgZnJvbSAnLi9yZWR1Y2VyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtV2hlcmVRdWVyeSB9IGZyb20gJy4vdHJhbnNmb3JtV2hlcmVRdWVyeSdcbmltcG9ydCB2YWxpZGF0ZVdoZXJlUXVlcnkgZnJvbSAnLi92YWxpZGF0ZVdoZXJlUXVlcnknXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICd3aGVyZS1idWlsZGVyJ1xuXG5jb25zdCByZWR1Y2VGaWVsZHMgPSAoZmllbGRzLCBpMThuKSA9PlxuICBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzKS5yZWR1Y2UoKHJlZHVjZWQsIGZpZWxkKSA9PiB7XG4gICAgbGV0IG9wZXJhdG9ycyA9IFtdXG5cbiAgICBpZiAodHlwZW9mIGZpZWxkVHlwZXNbZmllbGQudHlwZV0gPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAodHlwZW9mIGZpZWxkVHlwZXNbZmllbGQudHlwZV0ub3BlcmF0b3JzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9wZXJhdG9ycyA9IGZpZWxkVHlwZXNbZmllbGQudHlwZV0ub3BlcmF0b3JzKFxuICAgICAgICAgICdoYXNNYW55JyBpbiBmaWVsZCAmJiBmaWVsZC5oYXNNYW55ID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcGVyYXRvcnMgPSBmaWVsZFR5cGVzW2ZpZWxkLnR5cGVdLm9wZXJhdG9yc1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG9wZXJhdG9yS2V5cyA9IG5ldyBTZXQoKVxuICAgIGNvbnN0IGZpbHRlcmVkT3BlcmF0b3JzID0gb3BlcmF0b3JzLnJlZHVjZSgoYWNjLCBvcGVyYXRvcikgPT4ge1xuICAgICAgaWYgKCFvcGVyYXRvcktleXMuaGFzKG9wZXJhdG9yLnZhbHVlKSkge1xuICAgICAgICBvcGVyYXRvcktleXMuYWRkKG9wZXJhdG9yLnZhbHVlKVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5vcGVyYXRvcixcbiAgICAgICAgICAgIGxhYmVsOiBpMThuLnQoYG9wZXJhdG9yczoke29wZXJhdG9yLmxhYmVsfWApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBbXSlcblxuICAgIGNvbnN0IGZvcm1hdHRlZEZpZWxkID0ge1xuICAgICAgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGZpZWxkLmxhYmVsIHx8IGZpZWxkLm5hbWUsIGkxOG4pLFxuICAgICAgdmFsdWU6IGZpZWxkLm5hbWUsXG4gICAgICAuLi5maWVsZFR5cGVzW2ZpZWxkLnR5cGVdLFxuICAgICAgb3BlcmF0b3JzOiBmaWx0ZXJlZE9wZXJhdG9ycyxcbiAgICAgIHByb3BzOiB7XG4gICAgICAgIC4uLmZpZWxkLFxuICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4gWy4uLnJlZHVjZWQsIGZvcm1hdHRlZEZpZWxkXVxuICB9LCBbXSlcblxuLyoqXG4gKiBUaGUgV2hlcmVCdWlsZGVyIGNvbXBvbmVudCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgZmlsdGVyIGNvbnRyb2xzIGZvciBhIGNvbGxlY3Rpb24ncyBsaXN0IHZpZXcuXG4gKiBJdCBpcyBwYXJ0IG9mIHRoZSB7QGxpbmsgTGlzdENvbnRyb2xzfSBjb21wb25lbnQgd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGNvbnRyb2xzIChzZWFyY2gsIGZpbHRlciwgd2hlcmUpLlxuICovXG5jb25zdCBXaGVyZUJ1aWxkZXI6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbjogeyBsYWJlbHM6IHsgcGx1cmFsIH0gPSB7fSB9ID0ge30sXG4gICAgY29sbGVjdGlvbixcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAgbW9kaWZ5U2VhcmNoUXVlcnkgPSB0cnVlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHBhcmFtcyA9IHVzZVNlYXJjaFBhcmFtcygpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIC8vIFRoaXMgaGFuZGxlcyBpbml0aWFsaXppbmcgdGhlIHdoZXJlIGNvbmRpdGlvbnMgZnJvbSB0aGUgc2VhcmNoIHF1ZXJ5IChVUkwpLiBUaGF0IHdheSwgaWYgeW91IHBhc3MgaW5cbiAgLy8gcXVlcnkgcGFyYW1zIHRvIHRoZSBVUkwsIHRoZSB3aGVyZSBjb25kaXRpb25zIHdpbGwgYmUgaW5pdGlhbGl6ZWQgZnJvbSB0aG9zZSBhbmQgZGlzcGxheWVkIGluIHRoZSBVSS5cbiAgLy8gRXhhbXBsZTogL2FkbWluL2NvbGxlY3Rpb25zL3Bvc3RzP3doZXJlW29yXVswXVthbmRdWzBdW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3RcbiAgY29uc3QgW2NvbmRpdGlvbnMsIGRpc3BhdGNoQ29uZGl0aW9uc10gPSB1c2VSZWR1Y2VyKHJlZHVjZXIsIHBhcmFtcy53aGVyZSwgKHdoZXJlRnJvbVNlYXJjaCkgPT4ge1xuICAgIGlmIChtb2RpZnlTZWFyY2hRdWVyeSAmJiB3aGVyZUZyb21TZWFyY2gpIHtcbiAgICAgIGlmICh2YWxpZGF0ZVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKSkge1xuICAgICAgICByZXR1cm4gd2hlcmVGcm9tU2VhcmNoLm9yXG4gICAgICB9XG5cbiAgICAgIC8vIFRyYW5zZm9ybSB0aGUgd2hlcmUgcXVlcnkgdG8gYmUgaW4gdGhlIHJpZ2h0IGZvcm1hdC4gVGhpcyB3aWxsIHRyYW5zZm9ybSBzb21ldGhpbmcgc2ltcGxlIGxpa2UgW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3QgdG8gdGhlIHJpZ2h0IGZvcm1hdFxuICAgICAgY29uc3QgdHJhbnNmb3JtZWRXaGVyZSA9IHRyYW5zZm9ybVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKVxuXG4gICAgICBpZiAodmFsaWRhdGVXaGVyZVF1ZXJ5KHRyYW5zZm9ybWVkV2hlcmUpKSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFdoZXJlLm9yXG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCB3aGVyZSBxdWVyeSBpbiBVUkwuIElnbm9yaW5nLicpXG4gICAgfVxuICAgIHJldHVybiBbXVxuICB9KVxuXG4gIGNvbnN0IFtyZWR1Y2VkRmllbGRzXSA9IHVzZVN0YXRlKCgpID0+IHJlZHVjZUZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcywgaTE4bikpXG5cbiAgLy8gVGhpcyBoYW5kbGVzIHVwZGF0aW5nIHRoZSBzZWFyY2ggcXVlcnkgKFVSTCkgd2hlbiB0aGUgd2hlcmUgY29uZGl0aW9ucyBjaGFuZ2VcbiAgdXNlVGhyb3R0bGVkRWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSBxdWVyeVN0cmluZy5wYXJzZShoaXN0b3J5LmxvY2F0aW9uLnNlYXJjaCwge1xuICAgICAgICBkZXB0aDogMTAsXG4gICAgICAgIGlnbm9yZVF1ZXJ5UHJlZml4OiB0cnVlLFxuICAgICAgfSkgYXMgeyB3aGVyZTogV2hlcmUgfVxuXG4gICAgICBjb25zdCBwYXJhbXNUb0tlZXAgPVxuICAgICAgICB0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmICdvcicgaW4gY3VycmVudFBhcmFtcy53aGVyZVxuICAgICAgICAgID8gY3VycmVudFBhcmFtcy53aGVyZS5vci5yZWR1Y2UoKGtlcHRQYXJhbXMsIHBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1BhcmFtID0geyAuLi5wYXJhbSB9XG4gICAgICAgICAgICAgIGlmIChwYXJhbS5hbmQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3UGFyYW0uYW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIFsuLi5rZXB0UGFyYW1zLCBuZXdQYXJhbV1cbiAgICAgICAgICAgIH0sIFtdKVxuICAgICAgICAgIDogW11cblxuICAgICAgY29uc3QgaGFzTmV3V2hlcmVDb25kaXRpb25zID0gY29uZGl0aW9ucy5sZW5ndGggPiAwXG5cbiAgICAgIGNvbnN0IG5ld1doZXJlUXVlcnkgPSB7XG4gICAgICAgIC4uLih0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmXG4gICAgICAgICh2YWxpZGF0ZVdoZXJlUXVlcnkoY3VycmVudFBhcmFtcz8ud2hlcmUpIHx8ICFoYXNOZXdXaGVyZUNvbmRpdGlvbnMpXG4gICAgICAgICAgPyBjdXJyZW50UGFyYW1zLndoZXJlXG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIG9yOiBbLi4uY29uZGl0aW9ucywgLi4ucGFyYW1zVG9LZWVwXSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhbmRsZUNoYW5nZSkgaGFuZGxlQ2hhbmdlKG5ld1doZXJlUXVlcnkgYXMgV2hlcmUpXG5cbiAgICAgIGNvbnN0IGhhc0V4aXN0aW5nQ29uZGl0aW9ucyA9XG4gICAgICAgIHR5cGVvZiBjdXJyZW50UGFyYW1zPy53aGVyZSA9PT0gJ29iamVjdCcgJiYgJ29yJyBpbiBjdXJyZW50UGFyYW1zLndoZXJlXG5cbiAgICAgIGlmIChcbiAgICAgICAgbW9kaWZ5U2VhcmNoUXVlcnkgJiZcbiAgICAgICAgKChoYXNFeGlzdGluZ0NvbmRpdGlvbnMgJiYgIWhhc05ld1doZXJlQ29uZGl0aW9ucykgfHwgaGFzTmV3V2hlcmVDb25kaXRpb25zKVxuICAgICAgKSB7XG4gICAgICAgIGhpc3RvcnkucmVwbGFjZSh7XG4gICAgICAgICAgc2VhcmNoOiBxdWVyeVN0cmluZy5zdHJpbmdpZnkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLmN1cnJlbnRQYXJhbXMsXG4gICAgICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgICAgIHdoZXJlOiBuZXdXaGVyZVF1ZXJ5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWRkUXVlcnlQcmVmaXg6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgNTAwLFxuICAgIFtjb25kaXRpb25zLCBtb2RpZnlTZWFyY2hRdWVyeSwgaGFuZGxlQ2hhbmdlXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICB7Y29uZGl0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9PlxuICAgICAgICAgICAge3QoJ2ZpbHRlcldoZXJlJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24ocGx1cmFsLCBpMThuKSB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19vci1maWx0ZXJzYH0+XG4gICAgICAgICAgICB7Y29uZGl0aW9ucy5tYXAoKG9yLCBvckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e29ySW5kZXh9PlxuICAgICAgICAgICAgICAgIHtvckluZGV4ICE9PSAwICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdvcicpfTwvZGl2Pn1cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hbmQtZmlsdGVyc2B9PlxuICAgICAgICAgICAgICAgICAge0FycmF5LmlzQXJyYXkob3I/LmFuZCkgJiZcbiAgICAgICAgICAgICAgICAgICAgb3IuYW5kLm1hcCgoXywgYW5kSW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXthbmRJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YW5kSW5kZXggIT09IDAgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xhYmVsYH0+e3QoJ2FuZCcpfTwvZGl2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kSW5kZXg9e2FuZEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2hDb25kaXRpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3JlZHVjZWRGaWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YW5kSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9ySW5kZXg9e29ySW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtjb25kaXRpb25zW29ySW5kZXhdLmFuZFthbmRJbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1vcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ29yJyl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApfVxuICAgICAge2NvbmRpdGlvbnMubGVuZ3RoID09PSAwICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX25vLWZpbHRlcnNgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT57dCgnbm9GaWx0ZXJzU2V0Jyl9PC9kaXY+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWRkLWZpcnN0LWZpbHRlcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2FkZEZpbHRlcicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgV2hlcmVCdWlsZGVyXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwicmVkdWNlRmllbGRzIiwiZmllbGRzIiwiaTE4biIsImZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyIsInJlZHVjZSIsInJlZHVjZWQiLCJmaWVsZCIsIm9wZXJhdG9ycyIsImZpZWxkVHlwZXMiLCJ0eXBlIiwiaGFzTWFueSIsIm9wZXJhdG9yS2V5cyIsIlNldCIsImZpbHRlcmVkT3BlcmF0b3JzIiwiYWNjIiwib3BlcmF0b3IiLCJoYXMiLCJ2YWx1ZSIsImFkZCIsImxhYmVsIiwidCIsImZvcm1hdHRlZEZpZWxkIiwiZ2V0VHJhbnNsYXRpb24iLCJuYW1lIiwicHJvcHMiLCJXaGVyZUJ1aWxkZXIiLCJjb2xsZWN0aW9uIiwibGFiZWxzIiwicGx1cmFsIiwiaGFuZGxlQ2hhbmdlIiwibW9kaWZ5U2VhcmNoUXVlcnkiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsInBhcmFtcyIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVRyYW5zbGF0aW9uIiwiY29uZGl0aW9ucyIsImRpc3BhdGNoQ29uZGl0aW9ucyIsInVzZVJlZHVjZXIiLCJyZWR1Y2VyIiwid2hlcmUiLCJ3aGVyZUZyb21TZWFyY2giLCJ2YWxpZGF0ZVdoZXJlUXVlcnkiLCJvciIsInRyYW5zZm9ybWVkV2hlcmUiLCJ0cmFuc2Zvcm1XaGVyZVF1ZXJ5IiwiY29uc29sZSIsIndhcm4iLCJyZWR1Y2VkRmllbGRzIiwidXNlU3RhdGUiLCJ1c2VUaHJvdHRsZWRFZmZlY3QiLCJjdXJyZW50UGFyYW1zIiwicXVlcnlTdHJpbmciLCJwYXJzZSIsImxvY2F0aW9uIiwic2VhcmNoIiwiZGVwdGgiLCJpZ25vcmVRdWVyeVByZWZpeCIsInBhcmFtc1RvS2VlcCIsImtlcHRQYXJhbXMiLCJwYXJhbSIsIm5ld1BhcmFtIiwiYW5kIiwiaGFzTmV3V2hlcmVDb25kaXRpb25zIiwibGVuZ3RoIiwibmV3V2hlcmVRdWVyeSIsImhhc0V4aXN0aW5nQ29uZGl0aW9ucyIsInJlcGxhY2UiLCJzdHJpbmdpZnkiLCJwYWdlIiwiYWRkUXVlcnlQcmVmaXgiLCJkaXYiLCJjbGFzc05hbWUiLCJSZWFjdCIsIkZyYWdtZW50IiwidWwiLCJtYXAiLCJvckluZGV4IiwibGkiLCJrZXkiLCJBcnJheSIsImlzQXJyYXkiLCJfIiwiYW5kSW5kZXgiLCJDb25kaXRpb24iLCJkaXNwYXRjaCIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiaWNvbiIsImljb25Qb3NpdGlvbiIsImljb25TdHlsZSIsIm9uQ2xpY2siXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ09B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
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL1doZXJlQnVpbGRlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHF1ZXJ5U3RyaW5nIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZVJlZHVjZXIsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcblxuaW1wb3J0IHR5cGUgeyBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2ZsYXR0ZW5Ub3BMZXZlbEZpZWxkcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IHVzZVRocm90dGxlZEVmZmVjdCBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUaHJvdHRsZWRFZmZlY3QnXG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvU2VhcmNoUGFyYW1zJ1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuLi9CdXR0b24nXG5pbXBvcnQgQ29uZGl0aW9uIGZyb20gJy4vQ29uZGl0aW9uJ1xuaW1wb3J0IGZpZWxkVHlwZXMgZnJvbSAnLi9maWVsZC10eXBlcydcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IHJlZHVjZXIgZnJvbSAnLi9yZWR1Y2VyJ1xuaW1wb3J0IHsgdHJhbnNmb3JtV2hlcmVRdWVyeSB9IGZyb20gJy4vdHJhbnNmb3JtV2hlcmVRdWVyeSdcbmltcG9ydCB2YWxpZGF0ZVdoZXJlUXVlcnkgZnJvbSAnLi92YWxpZGF0ZVdoZXJlUXVlcnknXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICd3aGVyZS1idWlsZGVyJ1xuXG5jb25zdCByZWR1Y2VGaWVsZHMgPSAoZmllbGRzLCBpMThuKSA9PlxuICBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzKS5yZWR1Y2UoKHJlZHVjZWQsIGZpZWxkKSA9PiB7XG4gICAgbGV0IG9wZXJhdG9ycyA9IFtdXG5cbiAgICBpZiAodHlwZW9mIGZpZWxkVHlwZXNbZmllbGQudHlwZV0gPT09ICdvYmplY3QnKSB7XG4gICAgICBpZiAodHlwZW9mIGZpZWxkVHlwZXNbZmllbGQudHlwZV0ub3BlcmF0b3JzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9wZXJhdG9ycyA9IGZpZWxkVHlwZXNbZmllbGQudHlwZV0ub3BlcmF0b3JzKFxuICAgICAgICAgICdoYXNNYW55JyBpbiBmaWVsZCAmJiBmaWVsZC5oYXNNYW55ID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcGVyYXRvcnMgPSBmaWVsZFR5cGVzW2ZpZWxkLnR5cGVdLm9wZXJhdG9yc1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvcGVyYXRvcktleXMgPSBuZXcgU2V0KClcbiAgICAgIGNvbnN0IGZpbHRlcmVkT3BlcmF0b3JzID0gb3BlcmF0b3JzLnJlZHVjZSgoYWNjLCBvcGVyYXRvcikgPT4ge1xuICAgICAgICBpZiAoIW9wZXJhdG9yS2V5cy5oYXMob3BlcmF0b3IudmFsdWUpKSB7XG4gICAgICAgICAgb3BlcmF0b3JLZXlzLmFkZChvcGVyYXRvci52YWx1ZSlcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5vcGVyYXRvcixcbiAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChgb3BlcmF0b3JzOiR7b3BlcmF0b3IubGFiZWx9YCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBbXSlcblxuICAgICAgY29uc3QgZm9ybWF0dGVkRmllbGQgPSB7XG4gICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihmaWVsZC5sYWJlbCB8fCBmaWVsZC5uYW1lLCBpMThuKSxcbiAgICAgICAgdmFsdWU6IGZpZWxkLm5hbWUsXG4gICAgICAgIC4uLmZpZWxkVHlwZXNbZmllbGQudHlwZV0sXG4gICAgICAgIG9wZXJhdG9yczogZmlsdGVyZWRPcGVyYXRvcnMsXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgICByZXR1cm4gWy4uLnJlZHVjZWQsIGZvcm1hdHRlZEZpZWxkXVxuICAgIH1cbiAgICByZXR1cm4gcmVkdWNlZFxuICB9LCBbXSlcblxuLyoqXG4gKiBUaGUgV2hlcmVCdWlsZGVyIGNvbXBvbmVudCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgZmlsdGVyIGNvbnRyb2xzIGZvciBhIGNvbGxlY3Rpb24ncyBsaXN0IHZpZXcuXG4gKiBJdCBpcyBwYXJ0IG9mIHRoZSB7QGxpbmsgTGlzdENvbnRyb2xzfSBjb21wb25lbnQgd2hpY2ggaXMgdXNlZCB0byByZW5kZXIgdGhlIGNvbnRyb2xzIChzZWFyY2gsIGZpbHRlciwgd2hlcmUpLlxuICovXG5jb25zdCBXaGVyZUJ1aWxkZXI6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbjogeyBsYWJlbHM6IHsgcGx1cmFsIH0gPSB7fSB9ID0ge30sXG4gICAgY29sbGVjdGlvbixcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAgbW9kaWZ5U2VhcmNoUXVlcnkgPSB0cnVlLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IHBhcmFtcyA9IHVzZVNlYXJjaFBhcmFtcygpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIC8vIFRoaXMgaGFuZGxlcyBpbml0aWFsaXppbmcgdGhlIHdoZXJlIGNvbmRpdGlvbnMgZnJvbSB0aGUgc2VhcmNoIHF1ZXJ5IChVUkwpLiBUaGF0IHdheSwgaWYgeW91IHBhc3MgaW5cbiAgLy8gcXVlcnkgcGFyYW1zIHRvIHRoZSBVUkwsIHRoZSB3aGVyZSBjb25kaXRpb25zIHdpbGwgYmUgaW5pdGlhbGl6ZWQgZnJvbSB0aG9zZSBhbmQgZGlzcGxheWVkIGluIHRoZSBVSS5cbiAgLy8gRXhhbXBsZTogL2FkbWluL2NvbGxlY3Rpb25zL3Bvc3RzP3doZXJlW29yXVswXVthbmRdWzBdW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3RcbiAgY29uc3QgW2NvbmRpdGlvbnMsIGRpc3BhdGNoQ29uZGl0aW9uc10gPSB1c2VSZWR1Y2VyKHJlZHVjZXIsIHBhcmFtcy53aGVyZSwgKHdoZXJlRnJvbVNlYXJjaCkgPT4ge1xuICAgIGlmIChtb2RpZnlTZWFyY2hRdWVyeSAmJiB3aGVyZUZyb21TZWFyY2gpIHtcbiAgICAgIGlmICh2YWxpZGF0ZVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKSkge1xuICAgICAgICByZXR1cm4gd2hlcmVGcm9tU2VhcmNoLm9yXG4gICAgICB9XG5cbiAgICAgIC8vIFRyYW5zZm9ybSB0aGUgd2hlcmUgcXVlcnkgdG8gYmUgaW4gdGhlIHJpZ2h0IGZvcm1hdC4gVGhpcyB3aWxsIHRyYW5zZm9ybSBzb21ldGhpbmcgc2ltcGxlIGxpa2UgW3RleHRdW2VxdWFsc109ZXhhbXBsZSUyMHBvc3QgdG8gdGhlIHJpZ2h0IGZvcm1hdFxuICAgICAgY29uc3QgdHJhbnNmb3JtZWRXaGVyZSA9IHRyYW5zZm9ybVdoZXJlUXVlcnkod2hlcmVGcm9tU2VhcmNoKVxuXG4gICAgICBpZiAodmFsaWRhdGVXaGVyZVF1ZXJ5KHRyYW5zZm9ybWVkV2hlcmUpKSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZFdoZXJlLm9yXG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCB3aGVyZSBxdWVyeSBpbiBVUkwuIElnbm9yaW5nLicpXG4gICAgfVxuICAgIHJldHVybiBbXVxuICB9KVxuXG4gIGNvbnN0IFtyZWR1Y2VkRmllbGRzXSA9IHVzZVN0YXRlKCgpID0+IHJlZHVjZUZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcywgaTE4bikpXG5cbiAgLy8gVGhpcyBoYW5kbGVzIHVwZGF0aW5nIHRoZSBzZWFyY2ggcXVlcnkgKFVSTCkgd2hlbiB0aGUgd2hlcmUgY29uZGl0aW9ucyBjaGFuZ2VcbiAgdXNlVGhyb3R0bGVkRWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSBxdWVyeVN0cmluZy5wYXJzZShoaXN0b3J5LmxvY2F0aW9uLnNlYXJjaCwge1xuICAgICAgICBkZXB0aDogMTAsXG4gICAgICAgIGlnbm9yZVF1ZXJ5UHJlZml4OiB0cnVlLFxuICAgICAgfSkgYXMgeyB3aGVyZTogV2hlcmUgfVxuXG4gICAgICBjb25zdCBwYXJhbXNUb0tlZXAgPVxuICAgICAgICB0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmICdvcicgaW4gY3VycmVudFBhcmFtcy53aGVyZVxuICAgICAgICAgID8gY3VycmVudFBhcmFtcy53aGVyZS5vci5yZWR1Y2UoKGtlcHRQYXJhbXMsIHBhcmFtKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1BhcmFtID0geyAuLi5wYXJhbSB9XG4gICAgICAgICAgICAgIGlmIChwYXJhbS5hbmQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3UGFyYW0uYW5kXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIFsuLi5rZXB0UGFyYW1zLCBuZXdQYXJhbV1cbiAgICAgICAgICAgIH0sIFtdKVxuICAgICAgICAgIDogW11cblxuICAgICAgY29uc3QgaGFzTmV3V2hlcmVDb25kaXRpb25zID0gY29uZGl0aW9ucy5sZW5ndGggPiAwXG5cbiAgICAgIGNvbnN0IG5ld1doZXJlUXVlcnkgPSB7XG4gICAgICAgIC4uLih0eXBlb2YgY3VycmVudFBhcmFtcz8ud2hlcmUgPT09ICdvYmplY3QnICYmXG4gICAgICAgICh2YWxpZGF0ZVdoZXJlUXVlcnkoY3VycmVudFBhcmFtcz8ud2hlcmUpIHx8ICFoYXNOZXdXaGVyZUNvbmRpdGlvbnMpXG4gICAgICAgICAgPyBjdXJyZW50UGFyYW1zLndoZXJlXG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIG9yOiBbLi4uY29uZGl0aW9ucywgLi4ucGFyYW1zVG9LZWVwXSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhbmRsZUNoYW5nZSkgaGFuZGxlQ2hhbmdlKG5ld1doZXJlUXVlcnkgYXMgV2hlcmUpXG5cbiAgICAgIGNvbnN0IGhhc0V4aXN0aW5nQ29uZGl0aW9ucyA9XG4gICAgICAgIHR5cGVvZiBjdXJyZW50UGFyYW1zPy53aGVyZSA9PT0gJ29iamVjdCcgJiYgJ29yJyBpbiBjdXJyZW50UGFyYW1zLndoZXJlXG5cbiAgICAgIGlmIChcbiAgICAgICAgbW9kaWZ5U2VhcmNoUXVlcnkgJiZcbiAgICAgICAgKChoYXNFeGlzdGluZ0NvbmRpdGlvbnMgJiYgIWhhc05ld1doZXJlQ29uZGl0aW9ucykgfHwgaGFzTmV3V2hlcmVDb25kaXRpb25zKVxuICAgICAgKSB7XG4gICAgICAgIGhpc3RvcnkucmVwbGFjZSh7XG4gICAgICAgICAgc2VhcmNoOiBxdWVyeVN0cmluZy5zdHJpbmdpZnkoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC4uLmN1cnJlbnRQYXJhbXMsXG4gICAgICAgICAgICAgIHBhZ2U6IDEsXG4gICAgICAgICAgICAgIHdoZXJlOiBuZXdXaGVyZVF1ZXJ5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWRkUXVlcnlQcmVmaXg6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgNTAwLFxuICAgIFtjb25kaXRpb25zLCBtb2RpZnlTZWFyY2hRdWVyeSwgaGFuZGxlQ2hhbmdlXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Jhc2VDbGFzc30+XG4gICAgICB7Y29uZGl0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9PlxuICAgICAgICAgICAge3QoJ2ZpbHRlcldoZXJlJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24ocGx1cmFsLCBpMThuKSB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19vci1maWx0ZXJzYH0+XG4gICAgICAgICAgICB7Y29uZGl0aW9ucy5tYXAoKG9yLCBvckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxsaSBrZXk9e29ySW5kZXh9PlxuICAgICAgICAgICAgICAgIHtvckluZGV4ICE9PSAwICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19sYWJlbGB9Pnt0KCdvcicpfTwvZGl2Pn1cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hbmQtZmlsdGVyc2B9PlxuICAgICAgICAgICAgICAgICAge0FycmF5LmlzQXJyYXkob3I/LmFuZCkgJiZcbiAgICAgICAgICAgICAgICAgICAgb3IuYW5kLm1hcCgoXywgYW5kSW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXthbmRJbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YW5kSW5kZXggIT09IDAgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2xhYmVsYH0+e3QoJ2FuZCcpfTwvZGl2Pn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDb25kaXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kSW5kZXg9e2FuZEluZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2hDb25kaXRpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHM9e3JlZHVjZWRGaWVsZHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YW5kSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9ySW5kZXg9e29ySW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtjb25kaXRpb25zW29ySW5kZXhdLmFuZFthbmRJbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2FkZC1vcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ29yJyl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApfVxuICAgICAge2NvbmRpdGlvbnMubGVuZ3RoID09PSAwICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX25vLWZpbHRlcnNgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbGFiZWxgfT57dCgnbm9GaWx0ZXJzU2V0Jyl9PC9kaXY+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYWRkLWZpcnN0LWZpbHRlcmB9XG4gICAgICAgICAgICBpY29uPVwicGx1c1wiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZHVjZWRGaWVsZHMubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICBkaXNwYXRjaENvbmRpdGlvbnMoeyB0eXBlOiAnYWRkJywgZmllbGQ6IHJlZHVjZWRGaWVsZHNbMF0udmFsdWUgfSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3QoJ2FkZEZpbHRlcicpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgV2hlcmVCdWlsZGVyXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwicmVkdWNlRmllbGRzIiwiZmllbGRzIiwiaTE4biIsImZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyIsInJlZHVjZSIsInJlZHVjZWQiLCJmaWVsZCIsIm9wZXJhdG9ycyIsImZpZWxkVHlwZXMiLCJ0eXBlIiwiaGFzTWFueSIsIm9wZXJhdG9yS2V5cyIsIlNldCIsImZpbHRlcmVkT3BlcmF0b3JzIiwiYWNjIiwib3BlcmF0b3IiLCJoYXMiLCJ2YWx1ZSIsImFkZCIsImxhYmVsIiwidCIsImZvcm1hdHRlZEZpZWxkIiwiZ2V0VHJhbnNsYXRpb24iLCJuYW1lIiwicHJvcHMiLCJXaGVyZUJ1aWxkZXIiLCJjb2xsZWN0aW9uIiwibGFiZWxzIiwicGx1cmFsIiwiaGFuZGxlQ2hhbmdlIiwibW9kaWZ5U2VhcmNoUXVlcnkiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsInBhcmFtcyIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVRyYW5zbGF0aW9uIiwiY29uZGl0aW9ucyIsImRpc3BhdGNoQ29uZGl0aW9ucyIsInVzZVJlZHVjZXIiLCJyZWR1Y2VyIiwid2hlcmUiLCJ3aGVyZUZyb21TZWFyY2giLCJ2YWxpZGF0ZVdoZXJlUXVlcnkiLCJvciIsInRyYW5zZm9ybWVkV2hlcmUiLCJ0cmFuc2Zvcm1XaGVyZVF1ZXJ5IiwiY29uc29sZSIsIndhcm4iLCJyZWR1Y2VkRmllbGRzIiwidXNlU3RhdGUiLCJ1c2VUaHJvdHRsZWRFZmZlY3QiLCJjdXJyZW50UGFyYW1zIiwicXVlcnlTdHJpbmciLCJwYXJzZSIsImxvY2F0aW9uIiwic2VhcmNoIiwiZGVwdGgiLCJpZ25vcmVRdWVyeVByZWZpeCIsInBhcmFtc1RvS2VlcCIsImtlcHRQYXJhbXMiLCJwYXJhbSIsIm5ld1BhcmFtIiwiYW5kIiwiaGFzTmV3V2hlcmVDb25kaXRpb25zIiwibGVuZ3RoIiwibmV3V2hlcmVRdWVyeSIsImhhc0V4aXN0aW5nQ29uZGl0aW9ucyIsInJlcGxhY2UiLCJzdHJpbmdpZnkiLCJwYWdlIiwiYWRkUXVlcnlQcmVmaXgiLCJkaXYiLCJjbGFzc05hbWUiLCJSZWFjdCIsIkZyYWdtZW50IiwidWwiLCJtYXAiLCJvckluZGV4IiwibGkiLCJrZXkiLCJBcnJheSIsImlzQXJyYXkiLCJfIiwiYW5kSW5kZXgiLCJDb25kaXRpb24iLCJkaXNwYXRjaCIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiaWNvbiIsImljb25Qb3NpdGlvbiIsImljb25TdHlsZSIsIm9uQ2xpY2siXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ09BOzs7ZUFBQTs7OzJEQWhPd0I7K0RBQ29COzhCQUNiO2dDQUNKOzhFQUtPO2dDQUNIOzJFQUNBOzhCQUNDOytEQUNiO2tFQUNHO21FQUNDO1FBQ2hCO2dFQUNhO3FDQUNnQjsyRUFDTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0IsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxlQUFlLENBQUNDLFFBQVFDLE9BQzVCQyxJQUFBQSw4QkFBcUIsRUFBQ0YsUUFBUUcsTUFBTSxDQUFDLENBQUNDLFNBQVNDO1FBQzdDLElBQUlDLFlBQVksRUFBRTtRQUVsQixJQUFJLE9BQU9DLG1CQUFVLENBQUNGLE1BQU1HLElBQUksQ0FBQyxLQUFLLFVBQVU7WUFDOUMsSUFBSSxPQUFPRCxtQkFBVSxDQUFDRixNQUFNRyxJQUFJLENBQUMsQ0FBQ0YsU0FBUyxLQUFLLFlBQVk7Z0JBQzFEQSxZQUFZQyxtQkFBVSxDQUFDRixNQUFNRyxJQUFJLENBQUMsQ0FBQ0YsU0FBUyxDQUMxQyxhQUFhRCxTQUFTQSxNQUFNSSxPQUFPLEdBQUcsT0FBTztZQUVqRCxPQUFPO2dCQUNMSCxZQUFZQyxtQkFBVSxDQUFDRixNQUFNRyxJQUFJLENBQUMsQ0FBQ0YsU0FBUztZQUM5QztZQUVBLE1BQU1JLGVBQWUsSUFBSUM7WUFDekIsTUFBTUMsb0JBQW9CTixVQUFVSCxNQUFNLENBQUMsQ0FBQ1UsS0FBS0M7Z0JBQy9DLElBQUksQ0FBQ0osYUFBYUssR0FBRyxDQUFDRCxTQUFTRSxLQUFLLEdBQUc7b0JBQ3JDTixhQUFhTyxHQUFHLENBQUNILFNBQVNFLEtBQUs7b0JBQy9CLE9BQU87MkJBQ0ZIO3dCQUNIOzRCQUNFLEdBQUdDLFFBQVE7NEJBQ1hJLE9BQU9qQixLQUFLa0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFTCxTQUFTSSxLQUFLLENBQUMsQ0FBQzt3QkFDN0M7cUJBQ0Q7Z0JBQ0g7Z0JBQ0EsT0FBT0w7WUFDVCxHQUFHLEVBQUU7WUFFTCxNQUFNTyxpQkFBaUI7Z0JBQ3JCRixPQUFPRyxJQUFBQSw4QkFBYyxFQUFDaEIsTUFBTWEsS0FBSyxJQUFJYixNQUFNaUIsSUFBSSxFQUFFckI7Z0JBQ2pEZSxPQUFPWCxNQUFNaUIsSUFBSTtnQkFDakIsR0FBR2YsbUJBQVUsQ0FBQ0YsTUFBTUcsSUFBSSxDQUFDO2dCQUN6QkYsV0FBV007Z0JBQ1hXLE9BQU87b0JBQ0wsR0FBR2xCLEtBQUs7Z0JBQ1Y7WUFDRjtZQUNBLE9BQU87bUJBQUlEO2dCQUFTZ0I7YUFBZTtRQUNyQztRQUNBLE9BQU9oQjtJQUNULEdBQUcsRUFBRTtBQUVQOzs7Q0FHQyxHQUNELE1BQU1vQixlQUFnQyxDQUFDRDtJQUNyQyxNQUFNLEVBQ0pFLFlBQVksRUFBRUMsUUFBUSxFQUFFQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUM1Q0YsVUFBVSxFQUNWRyxZQUFZLEVBQ1pDLG9CQUFvQixJQUFJLEVBQ3pCLEdBQUdOO0lBRUosTUFBTU8sVUFBVUMsSUFBQUEsMEJBQVU7SUFDMUIsTUFBTUMsU0FBU0MsSUFBQUEsNkJBQWU7SUFDOUIsTUFBTSxFQUFFaEMsSUFBSSxFQUFFa0IsQ0FBQyxFQUFFLEdBQUdlLElBQUFBLDRCQUFjLEVBQUM7SUFFbkMsdUdBQXVHO0lBQ3ZHLHdHQUF3RztJQUN4RyxzRkFBc0Y7SUFDdEYsTUFBTSxDQUFDQyxZQUFZQyxtQkFBbUIsR0FBR0MsSUFBQUEsaUJBQVUsRUFBQ0MsZ0JBQU8sRUFBRU4sT0FBT08sS0FBSyxFQUFFLENBQUNDO1FBQzFFLElBQUlYLHFCQUFxQlcsaUJBQWlCO1lBQ3hDLElBQUlDLElBQUFBLDJCQUFrQixFQUFDRCxrQkFBa0I7Z0JBQ3ZDLE9BQU9BLGdCQUFnQkUsRUFBRTtZQUMzQjtZQUVBLG1KQUFtSjtZQUNuSixNQUFNQyxtQkFBbUJDLElBQUFBLHdDQUFtQixFQUFDSjtZQUU3QyxJQUFJQyxJQUFBQSwyQkFBa0IsRUFBQ0UsbUJBQW1CO2dCQUN4QyxPQUFPQSxpQkFBaUJELEVBQUU7WUFDNUI7WUFFQUcsUUFBUUMsSUFBSSxDQUFDO1FBQ2Y7UUFDQSxPQUFPLEVBQUU7SUFDWDtJQUVBLE1BQU0sQ0FBQ0MsY0FBYyxHQUFHQyxJQUFBQSxlQUFRLEVBQUMsSUFBTWpELGFBQWEwQixXQUFXekIsTUFBTSxFQUFFQztJQUV2RSxnRkFBZ0Y7SUFDaEZnRCxJQUFBQSwyQkFBa0IsRUFDaEI7UUFDRSxNQUFNQyxnQkFBZ0JDLFdBQVcsQ0FBQ0MsS0FBSyxDQUFDdEIsUUFBUXVCLFFBQVEsQ0FBQ0MsTUFBTSxFQUFFO1lBQy9EQyxPQUFPO1lBQ1BDLG1CQUFtQjtRQUNyQjtRQUVBLE1BQU1DLGVBQ0osT0FBT1AsZUFBZVgsVUFBVSxZQUFZLFFBQVFXLGNBQWNYLEtBQUssR0FDbkVXLGNBQWNYLEtBQUssQ0FBQ0csRUFBRSxDQUFDdkMsTUFBTSxDQUFDLENBQUN1RCxZQUFZQztZQUN6QyxNQUFNQyxXQUFXO2dCQUFFLEdBQUdELEtBQUs7WUFBQztZQUM1QixJQUFJQSxNQUFNRSxHQUFHLEVBQUU7Z0JBQ2IsT0FBT0QsU0FBU0MsR0FBRztZQUNyQjtZQUNBLE9BQU87bUJBQUlIO2dCQUFZRTthQUFTO1FBQ2xDLEdBQUcsRUFBRSxJQUNMLEVBQUU7UUFFUixNQUFNRSx3QkFBd0IzQixXQUFXNEIsTUFBTSxHQUFHO1FBRWxELE1BQU1DLGdCQUFnQjtZQUNwQixHQUFJLE9BQU9kLGVBQWVYLFVBQVUsWUFDbkNFLENBQUFBLElBQUFBLDJCQUFrQixFQUFDUyxlQUFlWCxVQUFVLENBQUN1QixxQkFBb0IsSUFDOURaLGNBQWNYLEtBQUssR0FDbkIsQ0FBQyxDQUFDO1lBQ05HLElBQUk7bUJBQUlQO21CQUFlc0I7YUFBYTtRQUN0QztRQUVBLElBQUk3QixjQUFjQSxhQUFhb0M7UUFFL0IsTUFBTUMsd0JBQ0osT0FBT2YsZUFBZVgsVUFBVSxZQUFZLFFBQVFXLGNBQWNYLEtBQUs7UUFFekUsSUFDRVYscUJBQ0MsQ0FBQSxBQUFDb0MseUJBQXlCLENBQUNILHlCQUEwQkEscUJBQW9CLEdBQzFFO1lBQ0FoQyxRQUFRb0MsT0FBTyxDQUFDO2dCQUNkWixRQUFRSCxXQUFXLENBQUNnQixTQUFTLENBQzNCO29CQUNFLEdBQUdqQixhQUFhO29CQUNoQmtCLE1BQU07b0JBQ043QixPQUFPeUI7Z0JBQ1QsR0FDQTtvQkFBRUssZ0JBQWdCO2dCQUFLO1lBRTNCO1FBQ0Y7SUFDRixHQUNBLEtBQ0E7UUFBQ2xDO1FBQVlOO1FBQW1CRDtLQUFhO0lBRy9DLHFCQUNFLDZCQUFDMEM7UUFBSUMsV0FBV3pFO09BQ2JxQyxXQUFXNEIsTUFBTSxHQUFHLG1CQUNuQiw2QkFBQ1MsY0FBSyxDQUFDQyxRQUFRLHNCQUNiLDZCQUFDSDtRQUFJQyxXQUFXLENBQUMsRUFBRXpFLFVBQVUsT0FBTyxDQUFDO09BQ2xDcUIsRUFBRSxlQUFlO1FBQUVELE9BQU9HLElBQUFBLDhCQUFjLEVBQUNNLFFBQVExQjtJQUFNLG1CQUUxRCw2QkFBQ3lFO1FBQUdILFdBQVcsQ0FBQyxFQUFFekUsVUFBVSxZQUFZLENBQUM7T0FDdENxQyxXQUFXd0MsR0FBRyxDQUFDLENBQUNqQyxJQUFJa0Msd0JBQ25CLDZCQUFDQztZQUFHQyxLQUFLRjtXQUNOQSxZQUFZLG1CQUFLLDZCQUFDTjtZQUFJQyxXQUFXLENBQUMsRUFBRXpFLFVBQVUsT0FBTyxDQUFDO1dBQUdxQixFQUFFLHNCQUM1RCw2QkFBQ3VEO1lBQUdILFdBQVcsQ0FBQyxFQUFFekUsVUFBVSxhQUFhLENBQUM7V0FDdkNpRixNQUFNQyxPQUFPLENBQUN0QyxJQUFJbUIsUUFDakJuQixHQUFHbUIsR0FBRyxDQUFDYyxHQUFHLENBQUMsQ0FBQ00sR0FBR0MseUJBQ2IsNkJBQUNMO2dCQUFHQyxLQUFLSTtlQUNOQSxhQUFhLG1CQUFLLDZCQUFDWjtnQkFBSUMsV0FBVyxDQUFDLEVBQUV6RSxVQUFVLE9BQU8sQ0FBQztlQUFHcUIsRUFBRSx1QkFDN0QsNkJBQUNnRSxrQkFBUztnQkFDUkQsVUFBVUE7Z0JBQ1ZFLFVBQVVoRDtnQkFDVnBDLFFBQVErQztnQkFDUitCLEtBQUtJO2dCQUNMTixTQUFTQTtnQkFDVDVELE9BQU9tQixVQUFVLENBQUN5QyxRQUFRLENBQUNmLEdBQUcsQ0FBQ3FCLFNBQVM7b0NBUXhELDZCQUFDRyxlQUFNO1FBQ0xDLGFBQVk7UUFDWmYsV0FBVyxDQUFDLEVBQUV6RSxVQUFVLFFBQVEsQ0FBQztRQUNqQ3lGLE1BQUs7UUFDTEMsY0FBYTtRQUNiQyxXQUFVO1FBQ1ZDLFNBQVM7WUFDUCxJQUFJM0MsY0FBY2dCLE1BQU0sR0FBRyxHQUN6QjNCLG1CQUFtQjtnQkFBRTVCLE1BQU07Z0JBQU9ILE9BQU8wQyxhQUFhLENBQUMsRUFBRSxDQUFDL0IsS0FBSztZQUFDO1FBQ3BFO09BRUNHLEVBQUUsU0FJUmdCLFdBQVc0QixNQUFNLEtBQUssbUJBQ3JCLDZCQUFDTztRQUFJQyxXQUFXLENBQUMsRUFBRXpFLFVBQVUsWUFBWSxDQUFDO3FCQUN4Qyw2QkFBQ3dFO1FBQUlDLFdBQVcsQ0FBQyxFQUFFekUsVUFBVSxPQUFPLENBQUM7T0FBR3FCLEVBQUUsZ0NBQzFDLDZCQUFDa0UsZUFBTTtRQUNMQyxhQUFZO1FBQ1pmLFdBQVcsQ0FBQyxFQUFFekUsVUFBVSxrQkFBa0IsQ0FBQztRQUMzQ3lGLE1BQUs7UUFDTEMsY0FBYTtRQUNiQyxXQUFVO1FBQ1ZDLFNBQVM7WUFDUCxJQUFJM0MsY0FBY2dCLE1BQU0sR0FBRyxHQUN6QjNCLG1CQUFtQjtnQkFBRTVCLE1BQU07Z0JBQU9ILE9BQU8wQyxhQUFhLENBQUMsRUFBRSxDQUFDL0IsS0FBSztZQUFDO1FBQ3BFO09BRUNHLEVBQUU7QUFNZjtNQUVBLFdBQWVLIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/context.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAElF,QAAA,MAAM,WAAW,kCAA+B,CAAA;AAChD,QAAA,MAAM,gBAAgB,kCAA+B,CAAA;AACrD,QAAA,MAAM,gBAAgB,kCAAuB,CAAA;AAC7C,QAAA,MAAM,iBAAiB,kCAAuB,CAAA;AAC9C,QAAA,MAAM,eAAe,kCAAuB,CAAA;AAC5C,QAAA,MAAM,iBAAiB,+DAAiE,CAAA;AAExF;;;;GAIG;AACH,QAAA,MAAM,OAAO,QAAO,OAAkC,CAAA;AACtD,QAAA,MAAM,YAAY,QAAO,OAAuC,CAAA;AAChE,QAAA,MAAM,gBAAgB,QAAO,OAAuC,CAAA;AACpE,QAAA,MAAM,iBAAiB,QAAO,OAAwC,CAAA;AACtE,QAAA,MAAM,eAAe,QAAO,OAAsC,CAAA;AAElE;;;;GAIG;AACH,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/context.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAElF,QAAA,MAAM,WAAW,kCAA+B,CAAA;AAChD,QAAA,MAAM,gBAAgB,kCAA+B,CAAA;AACrD,QAAA,MAAM,gBAAgB,kCAAuB,CAAA;AAC7C,QAAA,MAAM,iBAAiB,kCAAuB,CAAA;AAC9C,QAAA,MAAM,eAAe,kCAAuB,CAAA;AAC5C,QAAA,MAAM,iBAAiB,+DAAiE,CAAA;AAExF;;;;GAIG;AACH,QAAA,MAAM,OAAO,QAAO,OAAkC,CAAA;AACtD,QAAA,MAAM,YAAY,QAAO,OAAuC,CAAA;AAChE,QAAA,MAAM,gBAAgB,QAAO,OAAuC,CAAA;AACpE,QAAA,MAAM,iBAAiB,QAAO,OAAwC,CAAA;AACtE,QAAA,MAAM,eAAe,QAAO,OAAsC,CAAA;AAElE;;;;GAIG;AACH,QAAA,MAAM,aAAa,iFAEwC,CAAA;AAE3D;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,6BAAiE,CAAA;AAEvF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDataByPath.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/getDataByPath.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,QAAA,MAAM,aAAa,wBAAyB,MAAM,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"getDataByPath.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/Form/getDataByPath.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,QAAA,MAAM,aAAa,wBAAyB,MAAM,QAAQ,MAAM,MAkB/D,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -16,9 +16,9 @@ export declare const filterFields: (args: {
|
|
|
16
16
|
fieldTypes: FieldTypes;
|
|
17
17
|
filter: (field: Field) => boolean;
|
|
18
18
|
operation?: 'create' | 'update';
|
|
19
|
-
permissions?: {
|
|
19
|
+
permissions?: FieldPermissions | {
|
|
20
20
|
[field: string]: FieldPermissions;
|
|
21
|
-
}
|
|
21
|
+
};
|
|
22
22
|
readOnly?: boolean;
|
|
23
23
|
}) => ReducedField[];
|
|
24
24
|
//# sourceMappingURL=filterFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/RenderFields/filterFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACxC,KAAK,EAAE,aAAa,CAAA;IACpB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/forms/RenderFields/filterFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACxC,KAAK,EAAE,aAAa,CAAA;IACpB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,YAAY;iBACV,aAAa,EAAE;gBAChB,UAAU;oBACN,KAAK,KAAK,OAAO;gBACrB,QAAQ,GAAG,QAAQ;;;;eAMpB,OAAO;MAChB,YAAY,EAyDf,CAAA"}
|
|
@@ -10,6 +10,7 @@ type ArrayRowProps = UseDraggableSortableReturn & Pick<Props, 'fieldTypes' | 'fi
|
|
|
10
10
|
duplicateRow: (rowIndex: number) => void;
|
|
11
11
|
forceRender?: boolean;
|
|
12
12
|
hasMaxRows?: boolean;
|
|
13
|
+
isSortable: boolean;
|
|
13
14
|
moveRow: (fromIndex: number, toIndex: number) => void;
|
|
14
15
|
readOnly?: boolean;
|
|
15
16
|
removeRow: (rowIndex: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayRow.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/Array/ArrayRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAChH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAWpC,OAAO,cAAc,CAAA;AAIrB,KAAK,aAAa,GAAG,0BAA0B,GAC7C,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC,GAAG;IACvF,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACzD,CAAA;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"ArrayRow.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/Array/ArrayRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAA;AAChH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAWpC,OAAO,cAAc,CAAA;AAIrB,KAAK,aAAa,GAAG,0BAA0B,GAC7C,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC,GAAG;IACvF,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,GAAG,CAAA;IACR,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CACzD,CAAA;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyG5C,CAAA"}
|
|
@@ -26,7 +26,7 @@ function _interop_require_default(obj) {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
const baseClass = 'array-field';
|
|
29
|
-
const ArrayRow = ({ CustomRowLabel, addRow, attributes, duplicateRow, fieldTypes, fields, forceRender = false, hasMaxRows, indexPath, labels, listeners, moveRow, path: parentPath, permissions, readOnly, removeRow, row, rowCount, rowIndex, setCollapse, setNodeRef, transform })=>{
|
|
29
|
+
const ArrayRow = ({ CustomRowLabel, addRow, attributes, duplicateRow, fieldTypes, fields, forceRender = false, hasMaxRows, indexPath, isSortable, labels, listeners, moveRow, path: parentPath, permissions, readOnly, removeRow, row, rowCount, rowIndex, setCollapse, setNodeRef, transform })=>{
|
|
30
30
|
const path = `${parentPath}.${rowIndex}`;
|
|
31
31
|
const { i18n } = (0, _reacti18next.useTranslation)();
|
|
32
32
|
const hasSubmitted = (0, _context.useFormSubmitted)();
|
|
@@ -50,6 +50,7 @@ const ArrayRow = ({ CustomRowLabel, addRow, attributes, duplicateRow, fieldTypes
|
|
|
50
50
|
duplicateRow: duplicateRow,
|
|
51
51
|
hasMaxRows: hasMaxRows,
|
|
52
52
|
index: rowIndex,
|
|
53
|
+
isSortable: isSortable,
|
|
53
54
|
moveRow: moveRow,
|
|
54
55
|
removeRow: removeRow,
|
|
55
56
|
rowCount: rowCount
|
|
@@ -91,4 +92,4 @@ const ArrayRow = ({ CustomRowLabel, addRow, attributes, duplicateRow, fieldTypes
|
|
|
91
92
|
})));
|
|
92
93
|
};
|
|
93
94
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL0FycmF5L0FycmF5Um93LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgVXNlRHJhZ2dhYmxlU29ydGFibGVSZXR1cm4gfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9EcmFnZ2FibGVTb3J0YWJsZS91c2VEcmFnZ2FibGVTb3J0YWJsZS90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93IH0gZnJvbSAnLi4vLi4vRm9ybS90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgYXMgUm93TGFiZWxUeXBlIH0gZnJvbSAnLi4vLi4vUm93TGFiZWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyBBcnJheUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0FycmF5QWN0aW9uJ1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9Db2xsYXBzaWJsZSdcbmltcG9ydCB7IEVycm9yUGlsbCB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0Vycm9yUGlsbCdcbmltcG9ydCB7IHVzZUZvcm1TdWJtaXR0ZWQgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgeyBjcmVhdGVOZXN0ZWRGaWVsZFBhdGggfSBmcm9tICcuLi8uLi9Gb3JtL2NyZWF0ZU5lc3RlZEZpZWxkUGF0aCdcbmltcG9ydCBSZW5kZXJGaWVsZHMgZnJvbSAnLi4vLi4vUmVuZGVyRmllbGRzJ1xuaW1wb3J0IHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9Sb3dMYWJlbCdcbmltcG9ydCBIaWRkZW5JbnB1dCBmcm9tICcuLi9IaWRkZW5JbnB1dCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnYXJyYXktZmllbGQnXG5cbnR5cGUgQXJyYXlSb3dQcm9wcyA9IFVzZURyYWdnYWJsZVNvcnRhYmxlUmV0dXJuICZcbiAgUGljazxQcm9wcywgJ2ZpZWxkVHlwZXMnIHwgJ2ZpZWxkcycgfCAnaW5kZXhQYXRoJyB8ICdsYWJlbHMnIHwgJ3BhdGgnIHwgJ3Blcm1pc3Npb25zJz4gJiB7XG4gICAgQ3VzdG9tUm93TGFiZWw/OiBSb3dMYWJlbFR5cGVcbiAgICBhZGRSb3c6IChyb3dJbmRleDogbnVtYmVyKSA9PiB2b2lkXG4gICAgZHVwbGljYXRlUm93OiAocm93SW5kZXg6IG51bWJlcikgPT4gdm9pZFxuICAgIGZvcmNlUmVuZGVyPzogYm9vbGVhblxuICAgIGhhc01heFJvd3M/
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL0FycmF5L0FycmF5Um93LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5cbmltcG9ydCB0eXBlIHsgVXNlRHJhZ2dhYmxlU29ydGFibGVSZXR1cm4gfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9EcmFnZ2FibGVTb3J0YWJsZS91c2VEcmFnZ2FibGVTb3J0YWJsZS90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93IH0gZnJvbSAnLi4vLi4vRm9ybS90eXBlcydcbmltcG9ydCB0eXBlIHsgUm93TGFiZWwgYXMgUm93TGFiZWxUeXBlIH0gZnJvbSAnLi4vLi4vUm93TGFiZWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvZ2V0VHJhbnNsYXRpb24nXG5pbXBvcnQgeyBBcnJheUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0FycmF5QWN0aW9uJ1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9Db2xsYXBzaWJsZSdcbmltcG9ydCB7IEVycm9yUGlsbCB9IGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0Vycm9yUGlsbCdcbmltcG9ydCB7IHVzZUZvcm1TdWJtaXR0ZWQgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgeyBjcmVhdGVOZXN0ZWRGaWVsZFBhdGggfSBmcm9tICcuLi8uLi9Gb3JtL2NyZWF0ZU5lc3RlZEZpZWxkUGF0aCdcbmltcG9ydCBSZW5kZXJGaWVsZHMgZnJvbSAnLi4vLi4vUmVuZGVyRmllbGRzJ1xuaW1wb3J0IHsgUm93TGFiZWwgfSBmcm9tICcuLi8uLi9Sb3dMYWJlbCdcbmltcG9ydCBIaWRkZW5JbnB1dCBmcm9tICcuLi9IaWRkZW5JbnB1dCdcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnYXJyYXktZmllbGQnXG5cbnR5cGUgQXJyYXlSb3dQcm9wcyA9IFVzZURyYWdnYWJsZVNvcnRhYmxlUmV0dXJuICZcbiAgUGljazxQcm9wcywgJ2ZpZWxkVHlwZXMnIHwgJ2ZpZWxkcycgfCAnaW5kZXhQYXRoJyB8ICdsYWJlbHMnIHwgJ3BhdGgnIHwgJ3Blcm1pc3Npb25zJz4gJiB7XG4gICAgQ3VzdG9tUm93TGFiZWw/OiBSb3dMYWJlbFR5cGVcbiAgICBhZGRSb3c6IChyb3dJbmRleDogbnVtYmVyKSA9PiB2b2lkXG4gICAgZHVwbGljYXRlUm93OiAocm93SW5kZXg6IG51bWJlcikgPT4gdm9pZFxuICAgIGZvcmNlUmVuZGVyPzogYm9vbGVhblxuICAgIGhhc01heFJvd3M/OiBib29sZWFuXG4gICAgaXNTb3J0YWJsZTogYm9vbGVhblxuICAgIG1vdmVSb3c6IChmcm9tSW5kZXg6IG51bWJlciwgdG9JbmRleDogbnVtYmVyKSA9PiB2b2lkXG4gICAgcmVhZE9ubHk/OiBib29sZWFuXG4gICAgcmVtb3ZlUm93OiAocm93SW5kZXg6IG51bWJlcikgPT4gdm9pZFxuICAgIHJvdzogUm93XG4gICAgcm93Q291bnQ6IG51bWJlclxuICAgIHJvd0luZGV4OiBudW1iZXJcbiAgICBzZXRDb2xsYXBzZTogKHJvd0lEOiBzdHJpbmcsIGNvbGxhcHNlZDogYm9vbGVhbikgPT4gdm9pZFxuICB9XG5leHBvcnQgY29uc3QgQXJyYXlSb3c6IFJlYWN0LkZDPEFycmF5Um93UHJvcHM+ID0gKHtcbiAgQ3VzdG9tUm93TGFiZWwsXG4gIGFkZFJvdyxcbiAgYXR0cmlidXRlcyxcbiAgZHVwbGljYXRlUm93LFxuICBmaWVsZFR5cGVzLFxuICBmaWVsZHMsXG4gIGZvcmNlUmVuZGVyID0gZmFsc2UsXG4gIGhhc01heFJvd3MsXG4gIGluZGV4UGF0aCxcbiAgaXNTb3J0YWJsZSxcbiAgbGFiZWxzLFxuICBsaXN0ZW5lcnMsXG4gIG1vdmVSb3csXG4gIHBhdGg6IHBhcmVudFBhdGgsXG4gIHBlcm1pc3Npb25zLFxuICByZWFkT25seSxcbiAgcmVtb3ZlUm93LFxuICByb3csXG4gIHJvd0NvdW50LFxuICByb3dJbmRleCxcbiAgc2V0Q29sbGFwc2UsXG4gIHNldE5vZGVSZWYsXG4gIHRyYW5zZm9ybSxcbn0pID0+IHtcbiAgY29uc3QgcGF0aCA9IGAke3BhcmVudFBhdGh9LiR7cm93SW5kZXh9YFxuICBjb25zdCB7IGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgaGFzU3VibWl0dGVkID0gdXNlRm9ybVN1Ym1pdHRlZCgpXG5cbiAgY29uc3QgZmFsbGJhY2tMYWJlbCA9IGAke2dldFRyYW5zbGF0aW9uKGxhYmVscy5zaW5ndWxhciwgaTE4bil9ICR7U3RyaW5nKHJvd0luZGV4ICsgMSkucGFkU3RhcnQoXG4gICAgMixcbiAgICAnMCcsXG4gICl9YFxuXG4gIGNvbnN0IGNoaWxkRXJyb3JQYXRoc0NvdW50ID0gcm93LmNoaWxkRXJyb3JQYXRocz8uc2l6ZVxuICBjb25zdCBmaWVsZEhhc0Vycm9ycyA9IGhhc1N1Ym1pdHRlZCAmJiBjaGlsZEVycm9yUGF0aHNDb3VudCA+IDBcblxuICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgIGAke2Jhc2VDbGFzc31fX3Jvd2AsXG4gICAgZmllbGRIYXNFcnJvcnMgPyBgJHtiYXNlQ2xhc3N9X19yb3ctLWhhcy1lcnJvcnNgIDogYCR7YmFzZUNsYXNzfV9fcm93LS1uby1lcnJvcnNgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGlkPXtgJHtwYXJlbnRQYXRoLnNwbGl0KCcuJykuam9pbignLScpfS1yb3ctJHtyb3dJbmRleH1gfVxuICAgICAga2V5PXtgJHtwYXJlbnRQYXRofS1yb3ctJHtyb3cuaWR9YH1cbiAgICAgIHJlZj17c2V0Tm9kZVJlZn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHRyYW5zZm9ybSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPENvbGxhcHNpYmxlXG4gICAgICAgIGFjdGlvbnM9e1xuICAgICAgICAgICFyZWFkT25seSA/IChcbiAgICAgICAgICAgIDxBcnJheUFjdGlvblxuICAgICAgICAgICAgICBhZGRSb3c9e2FkZFJvd31cbiAgICAgICAgICAgICAgZHVwbGljYXRlUm93PXtkdXBsaWNhdGVSb3d9XG4gICAgICAgICAgICAgIGhhc01heFJvd3M9e2hhc01heFJvd3N9XG4gICAgICAgICAgICAgIGluZGV4PXtyb3dJbmRleH1cbiAgICAgICAgICAgICAgaXNTb3J0YWJsZT17aXNTb3J0YWJsZX1cbiAgICAgICAgICAgICAgbW92ZVJvdz17bW92ZVJvd31cbiAgICAgICAgICAgICAgcmVtb3ZlUm93PXtyZW1vdmVSb3d9XG4gICAgICAgICAgICAgIHJvd0NvdW50PXtyb3dDb3VudH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lc31cbiAgICAgICAgY29sbGFwc2VkPXtyb3cuY29sbGFwc2VkfVxuICAgICAgICBjb2xsYXBzaWJsZVN0eWxlPXtmaWVsZEhhc0Vycm9ycyA/ICdlcnJvcicgOiAnZGVmYXVsdCd9XG4gICAgICAgIGRyYWdIYW5kbGVQcm9wcz17e1xuICAgICAgICAgIGlkOiByb3cuaWQsXG4gICAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgICBsaXN0ZW5lcnMsXG4gICAgICAgIH19XG4gICAgICAgIGhlYWRlcj17XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3Jvdy1oZWFkZXJgfT5cbiAgICAgICAgICAgIDxSb3dMYWJlbFxuICAgICAgICAgICAgICBsYWJlbD17Q3VzdG9tUm93TGFiZWwgfHwgZmFsbGJhY2tMYWJlbH1cbiAgICAgICAgICAgICAgcGF0aD17cGF0aH1cbiAgICAgICAgICAgICAgcm93TnVtYmVyPXtyb3dJbmRleCArIDF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2ZpZWxkSGFzRXJyb3JzICYmIDxFcnJvclBpbGwgY291bnQ9e2NoaWxkRXJyb3JQYXRoc0NvdW50fSB3aXRoTWVzc2FnZSAvPn1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBvblRvZ2dsZT17KGNvbGxhcHNlZCkgPT4gc2V0Q29sbGFwc2Uocm93LmlkLCBjb2xsYXBzZWQpfVxuICAgICAgPlxuICAgICAgICA8SGlkZGVuSW5wdXQgbmFtZT17YCR7cGF0aH0uaWRgfSB2YWx1ZT17cm93LmlkfSAvPlxuICAgICAgICA8UmVuZGVyRmllbGRzXG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWVsZHNgfVxuICAgICAgICAgIGZpZWxkU2NoZW1hPXtmaWVsZHMubWFwKChmaWVsZCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgcGF0aDogY3JlYXRlTmVzdGVkRmllbGRQYXRoKHBhdGgsIGZpZWxkKSxcbiAgICAgICAgICB9KSl9XG4gICAgICAgICAgZmllbGRUeXBlcz17ZmllbGRUeXBlc31cbiAgICAgICAgICBmb3JjZVJlbmRlcj17Zm9yY2VSZW5kZXJ9XG4gICAgICAgICAgaW5kZXhQYXRoPXtpbmRleFBhdGh9XG4gICAgICAgICAgbWFyZ2lucz1cInNtYWxsXCJcbiAgICAgICAgICBwZXJtaXNzaW9ucz17cGVybWlzc2lvbnM/LmZpZWxkc31cbiAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgIC8+XG4gICAgICA8L0NvbGxhcHNpYmxlPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiQXJyYXlSb3ciLCJiYXNlQ2xhc3MiLCJDdXN0b21Sb3dMYWJlbCIsImFkZFJvdyIsImF0dHJpYnV0ZXMiLCJkdXBsaWNhdGVSb3ciLCJmaWVsZFR5cGVzIiwiZmllbGRzIiwiZm9yY2VSZW5kZXIiLCJoYXNNYXhSb3dzIiwiaW5kZXhQYXRoIiwiaXNTb3J0YWJsZSIsImxhYmVscyIsImxpc3RlbmVycyIsIm1vdmVSb3ciLCJwYXRoIiwicGFyZW50UGF0aCIsInBlcm1pc3Npb25zIiwicmVhZE9ubHkiLCJyZW1vdmVSb3ciLCJyb3ciLCJyb3dDb3VudCIsInJvd0luZGV4Iiwic2V0Q29sbGFwc2UiLCJzZXROb2RlUmVmIiwidHJhbnNmb3JtIiwiaTE4biIsInVzZVRyYW5zbGF0aW9uIiwiaGFzU3VibWl0dGVkIiwidXNlRm9ybVN1Ym1pdHRlZCIsImZhbGxiYWNrTGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsInNpbmd1bGFyIiwiU3RyaW5nIiwicGFkU3RhcnQiLCJjaGlsZEVycm9yUGF0aHNDb3VudCIsImNoaWxkRXJyb3JQYXRocyIsInNpemUiLCJmaWVsZEhhc0Vycm9ycyIsImNsYXNzTmFtZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImRpdiIsImlkIiwic3BsaXQiLCJrZXkiLCJyZWYiLCJzdHlsZSIsIkNvbGxhcHNpYmxlIiwiYWN0aW9ucyIsIkFycmF5QWN0aW9uIiwiaW5kZXgiLCJ1bmRlZmluZWQiLCJjbGFzc05hbWUiLCJjb2xsYXBzZWQiLCJjb2xsYXBzaWJsZVN0eWxlIiwiZHJhZ0hhbmRsZVByb3BzIiwiaGVhZGVyIiwiUm93TGFiZWwiLCJsYWJlbCIsInJvd051bWJlciIsIkVycm9yUGlsbCIsImNvdW50Iiwid2l0aE1lc3NhZ2UiLCJvblRvZ2dsZSIsIkhpZGRlbklucHV0IiwibmFtZSIsInZhbHVlIiwiUmVuZGVyRmllbGRzIiwiZmllbGRTY2hlbWEiLCJtYXAiLCJmaWVsZCIsImNyZWF0ZU5lc3RlZEZpZWxkUGF0aCIsIm1hcmdpbnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBcUNhQTs7O2VBQUFBOzs7OERBckNLOzhCQUNhO2dDQU9BOzZCQUNIOzZCQUNBOzJC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
|