@projectcor/people-microfront 1.0.2-2 → 1.0.2-20
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/lib/App.js +1 -43
- package/lib/App.stories.js +25 -2
- package/lib/components/DeleteTeamModal/DeleteTeamModal.js +36 -24
- package/lib/components/DeleteTeamModal/DeleteTeamModal.styles.js +18 -6
- package/lib/components/DeleteTeamModal/DeleteTeamModal.types.js +1 -1
- package/lib/components/DeletedUserIcon/DeletedUserIcon.styles.js +2 -2
- package/lib/components/DisabledUserIcon/DisabledUserIcon.styles.js +2 -2
- package/lib/components/EmptyStateTeams/EmptyStateTeams.js +2 -2
- package/lib/components/EmptyUser/EmptyUser.js +3 -18
- package/lib/components/Filters/FilterChip/FilterChip.js +10 -5
- package/lib/components/HeaderTeams/HeaderTeams.js +2 -2
- package/lib/components/Illustration/EmptyFilter.js +67 -0
- package/lib/components/MenuOptions/MenuOptions.js +4 -18
- package/lib/components/ModalEditUserPosition/ModalEditUserPosition.js +17 -52
- package/lib/components/ModalEditUserPosition/ModalEditUserPosition.styles.js +36 -0
- package/lib/components/ModalEditUserPosition/UserEditPositionRow.js +13 -4
- package/lib/components/ModalOptionsWithSearch/ModalOptionsWithSearch.js +16 -3
- package/lib/components/Pagination/PaginationView.js +132 -0
- package/lib/components/Search/Search.js +4 -4
- package/lib/components/Table/Row/Row.js +65 -14
- package/lib/components/Table/Row/Row.styles.js +25 -9
- package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.js +65 -0
- package/lib/components/Table/TeamRow/AddMemberModal/AddMemberModal.styles.js +38 -0
- package/lib/components/Table/TeamRow/AddMemberModal/index.js +2 -0
- package/lib/components/Table/TeamRow/AddUsers/AddUsers.js +182 -0
- package/lib/components/Table/TeamRow/AddUsers/AddUsers.styles.js +21 -0
- package/lib/components/Table/TeamRow/AddUsers/index.js +2 -0
- package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.js +65 -0
- package/lib/components/Table/TeamRow/RemoveMemberModal/RemoveMemberModal.styles.js +38 -0
- package/lib/components/Table/TeamRow/RemoveMemberModal/index.js +2 -0
- package/lib/components/Table/TeamRow/TeamRow.js +74 -57
- package/lib/components/Table/TeamRow/UsersRow/UsersRow.js +191 -0
- package/lib/components/Table/TeamRow/UsersRow/UsersRow.styles.js +40 -0
- package/lib/components/Table/TeamRow/UsersRow/index.js +2 -0
- package/lib/components/TeamDetailsModal/MembersSelect.js +103 -28
- package/lib/components/TeamDetailsModal/TeamDetailsModal.js +73 -74
- package/lib/components/TeamDetailsModal/TeamDetailsModal.styles.js +14 -10
- package/lib/components/TeamDetailsModal/TeamDetailsModal.types.js +1 -1
- package/lib/components/TeamDetailsModal/index.js +1 -1
- package/lib/components/UserRow/UserRow.js +17 -8
- package/lib/components/UserRow/UserRow.styles.js +2 -2
- package/lib/container/Body/BodyContainerViewTeams.js +72 -98
- package/lib/container/Filters/FiltersContainer.js +42 -10
- package/lib/container/MainView/MainTeamsView.js +33 -0
- package/lib/container/MainView/MainUsersView.js +89 -69
- package/lib/container/MainView/MainView.js +21 -39
- package/lib/container/Pagination/PaginationContainer.js +10 -123
- package/lib/container/Pagination/PaginationTeamsContainer.js +32 -0
- package/lib/container/RouterComponent/RouterComponent.js +20 -31
- package/lib/container/RouterComponent/RouterComponent.styles.js +26 -0
- package/lib/container/TableContainer/TableContainer.js +18 -8
- package/lib/context/TeamsContext.js +5 -2
- package/lib/context/UsersContext.js +71 -22
- package/lib/hooks/useAssignUserToTeam.js +78 -0
- package/lib/hooks/useCreateTeams.js +67 -0
- package/lib/hooks/useDeleteTeam.js +67 -0
- package/lib/hooks/useGetTeams.js +8 -4
- package/lib/hooks/useGetTotalPositions.js +24 -0
- package/lib/hooks/useGetTotalTeams.js +24 -0
- package/lib/hooks/useGetUsers.js +23 -8
- package/lib/hooks/useGetUsersForFilter.js +1 -2
- package/lib/hooks/useResize.js +9 -4
- package/lib/hooks/useUnassignUserFromTeam.js +67 -0
- package/lib/hooks/useUpdateTeam.js +65 -0
- package/lib/lang/i18nextForWeb.js +2 -2
- package/lib/lang/translation/br.json +21 -4
- package/lib/lang/translation/en.json +58 -41
- package/lib/lang/translation/es.json +21 -4
- package/lib/lang/translation/fr.json +86 -69
- package/lib/mocks/mockedUser.js +7 -1
- package/lib/query/assignUserToTeam.js +5 -0
- package/lib/query/createTeam.js +5 -0
- package/lib/query/deleteTeam.js +5 -0
- package/lib/query/getTeams.js +2 -2
- package/lib/query/getTotalPositions.js +5 -0
- package/lib/query/getTotalTeams.js +5 -0
- package/lib/query/getUsers.js +2 -2
- package/lib/query/unassignUserFromTeam.js +5 -0
- package/lib/query/updateTeam.js +5 -0
- package/lib/types/global.d.js +1 -1
- package/package.json +2 -2
|
@@ -1,49 +1,121 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
-
import { useState,
|
|
3
|
+
import { useState, useEffect, useRef, useCallback } from 'react';
|
|
4
4
|
import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
|
|
5
5
|
import { CUSelect } from '@projectcor/selector/lib/components/CUSelect';
|
|
6
6
|
import { SearchComponent } from '../Filters/SearchComponent/SearchComponent';
|
|
7
|
+
import { useGetUsers } from '../../hooks/useGetUsers';
|
|
8
|
+
import { useDebounce } from '../../hooks/useDebounce';
|
|
7
9
|
import { SCBackdropInputSelect, SCCUItemsList, SCCUSelectItem, SCWrapperSelectIcon, SCMemberItemContent, SCMemberCheckbox, SCMemberSearchWrapper } from './TeamDetailsModal.styles';
|
|
8
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
11
|
export var MembersSelect = function MembersSelect(_ref) {
|
|
10
12
|
var value = _ref.value,
|
|
11
|
-
membersList = _ref.membersList,
|
|
12
13
|
onChange = _ref.onChange;
|
|
13
14
|
var _useState = useState(false),
|
|
14
15
|
_useState2 = _slicedToArray(_useState, 2),
|
|
15
16
|
showSelectMembers = _useState2[0],
|
|
16
17
|
setShowSelectMembers = _useState2[1];
|
|
18
|
+
var _useGetUsers = useGetUsers(),
|
|
19
|
+
handleGetUsers = _useGetUsers.handleGetUsers,
|
|
20
|
+
users = _useGetUsers.users,
|
|
21
|
+
currentPage = _useGetUsers.currentPage,
|
|
22
|
+
totalPages = _useGetUsers.totalPages,
|
|
23
|
+
loading = _useGetUsers.loading;
|
|
17
24
|
var _useState3 = useState(''),
|
|
18
25
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
19
26
|
searchValue = _useState4[0],
|
|
20
27
|
setSearchValue = _useState4[1];
|
|
28
|
+
var debouncedSearchValue = useDebounce(searchValue, 300);
|
|
29
|
+
var _useState5 = useState([]),
|
|
30
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
31
|
+
accumulatedUsers = _useState6[0],
|
|
32
|
+
setAccumulatedUsers = _useState6[1];
|
|
33
|
+
var scrollContainerRef = useRef(null);
|
|
34
|
+
var isLoadingMoreRef = useRef(false);
|
|
21
35
|
var handleSelectMember = function handleSelectMember(member) {
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return m !==
|
|
28
|
-
});
|
|
29
|
-
onChange(updatedMembers.join(' - '));
|
|
36
|
+
var alredySelected = value.some(function (m) {
|
|
37
|
+
return m.id === member.id;
|
|
38
|
+
});
|
|
39
|
+
if (alredySelected) {
|
|
40
|
+
onChange('members', value.filter(function (m) {
|
|
41
|
+
return m.id !== member.id;
|
|
42
|
+
}));
|
|
30
43
|
} else {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
44
|
+
onChange('members', [].concat(_toConsumableArray(value), [{
|
|
45
|
+
id: member.id,
|
|
46
|
+
name: "".concat(member.firstName, " ").concat(member.lastName)
|
|
47
|
+
}]));
|
|
34
48
|
}
|
|
35
|
-
// No cerrar el selector para permitir selección múltiple
|
|
36
49
|
};
|
|
37
50
|
var handleSearch = function handleSearch(e) {
|
|
38
51
|
setSearchValue(e.target.value);
|
|
39
52
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
53
|
+
|
|
54
|
+
// Resetear usuarios acumulados cuando cambia el search o se abre el selector
|
|
55
|
+
useEffect(function () {
|
|
56
|
+
if (showSelectMembers) {
|
|
57
|
+
setAccumulatedUsers([]);
|
|
58
|
+
isLoadingMoreRef.current = false;
|
|
59
|
+
handleGetUsers({
|
|
60
|
+
page: 1,
|
|
61
|
+
searchInput: debouncedSearchValue
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}, [debouncedSearchValue, showSelectMembers, handleGetUsers]);
|
|
65
|
+
|
|
66
|
+
// Acumular usuarios cuando se reciben nuevos datos
|
|
67
|
+
useEffect(function () {
|
|
68
|
+
if (users.length > 0 && showSelectMembers) {
|
|
69
|
+
if (currentPage === 1) {
|
|
70
|
+
// Si es la primera página, reemplazar
|
|
71
|
+
setAccumulatedUsers(users);
|
|
72
|
+
} else {
|
|
73
|
+
// Si es una página posterior, agregar a los existentes
|
|
74
|
+
setAccumulatedUsers(function (prev) {
|
|
75
|
+
// Evitar duplicados
|
|
76
|
+
var existingIds = new Set(prev.map(function (u) {
|
|
77
|
+
return u.id;
|
|
78
|
+
}));
|
|
79
|
+
var newUsers = users.filter(function (u) {
|
|
80
|
+
return !existingIds.has(u.id);
|
|
81
|
+
});
|
|
82
|
+
return [].concat(_toConsumableArray(prev), _toConsumableArray(newUsers));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
isLoadingMoreRef.current = false;
|
|
86
|
+
}
|
|
87
|
+
}, [users, currentPage, showSelectMembers]);
|
|
88
|
+
var handleScroll = useCallback(function () {
|
|
89
|
+
var container = scrollContainerRef.current;
|
|
90
|
+
if (!container || loading || isLoadingMoreRef.current) return;
|
|
91
|
+
var scrollTop = container.scrollTop,
|
|
92
|
+
scrollHeight = container.scrollHeight,
|
|
93
|
+
clientHeight = container.clientHeight;
|
|
94
|
+
var isNearBottom = scrollTop + clientHeight >= scrollHeight - 10; // 10px de margen
|
|
95
|
+
|
|
96
|
+
if (isNearBottom && currentPage < totalPages) {
|
|
97
|
+
isLoadingMoreRef.current = true;
|
|
98
|
+
handleGetUsers({
|
|
99
|
+
page: currentPage + 1,
|
|
100
|
+
searchInput: debouncedSearchValue
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}, [currentPage, totalPages, loading, handleGetUsers, debouncedSearchValue]);
|
|
104
|
+
useEffect(function () {
|
|
105
|
+
var container = scrollContainerRef.current;
|
|
106
|
+
if (!container || !showSelectMembers) return undefined;
|
|
107
|
+
container.addEventListener('scroll', handleScroll);
|
|
108
|
+
return function () {
|
|
109
|
+
container.removeEventListener('scroll', handleScroll);
|
|
110
|
+
};
|
|
111
|
+
}, [handleScroll, showSelectMembers]);
|
|
112
|
+
var handleClickActionSelect = function handleClickActionSelect() {
|
|
113
|
+
setShowSelectMembers(!showSelectMembers);
|
|
114
|
+
if (!showSelectMembers) {
|
|
115
|
+
setSearchValue('');
|
|
116
|
+
setAccumulatedUsers([]);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
47
119
|
return /*#__PURE__*/_jsxs(CUSelect, {
|
|
48
120
|
title: "Agregar miembros *",
|
|
49
121
|
placeholder: "Seleccionar miembros",
|
|
@@ -55,25 +127,28 @@ export var MembersSelect = function MembersSelect(_ref) {
|
|
|
55
127
|
color: "#20201F"
|
|
56
128
|
})
|
|
57
129
|
}),
|
|
58
|
-
value: value
|
|
130
|
+
value: value.map(function (member) {
|
|
131
|
+
return member.name;
|
|
132
|
+
}).join(' - '),
|
|
59
133
|
open: showSelectMembers,
|
|
60
|
-
handleClickAction:
|
|
61
|
-
return setShowSelectMembers(!showSelectMembers);
|
|
62
|
-
},
|
|
134
|
+
handleClickAction: handleClickActionSelect,
|
|
63
135
|
children: [/*#__PURE__*/_jsx(SCBackdropInputSelect, {
|
|
64
136
|
onClick: function onClick() {
|
|
65
137
|
return setShowSelectMembers(false);
|
|
66
138
|
}
|
|
67
139
|
}), /*#__PURE__*/_jsxs(SCCUItemsList, {
|
|
140
|
+
ref: scrollContainerRef,
|
|
68
141
|
children: [/*#__PURE__*/_jsx(SCMemberSearchWrapper, {
|
|
69
142
|
children: /*#__PURE__*/_jsx(SearchComponent, {
|
|
70
143
|
placeholder: "Buscar miembro",
|
|
71
144
|
onChange: handleSearch,
|
|
72
145
|
value: searchValue
|
|
73
146
|
})
|
|
74
|
-
}),
|
|
147
|
+
}), accumulatedUsers.map(function (member) {
|
|
75
148
|
var memberName = "".concat(member.firstName, " ").concat(member.lastName);
|
|
76
|
-
var isSelected = (value === null || value === void 0 ? void 0 : value.
|
|
149
|
+
var isSelected = (value === null || value === void 0 ? void 0 : value.some(function (m) {
|
|
150
|
+
return m.id === member.id;
|
|
151
|
+
})) || false;
|
|
77
152
|
return /*#__PURE__*/_jsx(SCCUSelectItem, {
|
|
78
153
|
onClick: function onClick(e) {
|
|
79
154
|
e.stopPropagation();
|
|
@@ -100,4 +175,4 @@ export var MembersSelect = function MembersSelect(_ref) {
|
|
|
100
175
|
})]
|
|
101
176
|
});
|
|
102
177
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZU1lbW8iLCJDaGV2cm9uRG93biIsIkNVU2VsZWN0IiwiU2VhcmNoQ29tcG9uZW50IiwiU0NCYWNrZHJvcElucHV0U2VsZWN0IiwiU0NDVUl0ZW1zTGlzdCIsIlNDQ1VTZWxlY3RJdGVtIiwiU0NXcmFwcGVyU2VsZWN0SWNvbiIsIlNDTWVtYmVySXRlbUNvbnRlbnQiLCJTQ01lbWJlckNoZWNrYm94IiwiU0NNZW1iZXJTZWFyY2hXcmFwcGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIk1lbWJlcnNTZWxlY3QiLCJfcmVmIiwidmFsdWUiLCJtZW1iZXJzTGlzdCIsIm9uQ2hhbmdlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2hvd1NlbGVjdE1lbWJlcnMiLCJzZXRTaG93U2VsZWN0TWVtYmVycyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2VhcmNoVmFsdWUiLCJzZXRTZWFyY2hWYWx1ZSIsImhhbmRsZVNlbGVjdE1lbWJlciIsIm1lbWJlciIsIm1lbWJlck5hbWUiLCJjb25jYXQiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImN1cnJlbnRNZW1iZXJzIiwic3BsaXQiLCJpbmNsdWRlcyIsInVwZGF0ZWRNZW1iZXJzIiwiZmlsdGVyIiwibSIsImpvaW4iLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJoYW5kbGVTZWFyY2giLCJlIiwidGFyZ2V0IiwiZmlsdGVyZWRNZW1iZXJzIiwic2VhcmNoTG93ZXIiLCJ0b0xvd2VyQ2FzZSIsInRpdGxlIiwicGxhY2Vob2xkZXIiLCJlbmRJY29uIiwiaXNPcGVuIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwib3BlbiIsImhhbmRsZUNsaWNrQWN0aW9uIiwib25DbGljayIsIm1hcCIsImlzU2VsZWN0ZWQiLCJzdG9wUHJvcGFnYXRpb24iLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsInR5cGUiLCJjaGVja2VkIiwicmVhZE9ubHkiLCJpZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RlYW1EZXRhaWxzTW9kYWwvTWVtYmVyc1NlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZU1lbW8sIENoYW5nZUV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ1VTZWxlY3QgfSBmcm9tICdAcHJvamVjdGNvci9zZWxlY3Rvci9saWIvY29tcG9uZW50cy9DVVNlbGVjdCdcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL0ZpbHRlcnMvU2VhcmNoQ29tcG9uZW50L1NlYXJjaENvbXBvbmVudCdcbmltcG9ydCB7XG4gIFNDQmFja2Ryb3BJbnB1dFNlbGVjdCxcbiAgU0NDVUl0ZW1zTGlzdCxcbiAgU0NDVVNlbGVjdEl0ZW0sXG4gIFNDV3JhcHBlclNlbGVjdEljb24sXG4gIFNDTWVtYmVySXRlbUNvbnRlbnQsXG4gIFNDTWVtYmVyQ2hlY2tib3gsXG4gIFNDTWVtYmVyU2VhcmNoV3JhcHBlcixcbn0gZnJvbSAnLi9UZWFtRGV0YWlsc01vZGFsLnN0eWxlcydcbmltcG9ydCB7IFRlYW1Vc2VyIH0gZnJvbSAnLi9UZWFtRGV0YWlsc01vZGFsLnR5cGVzJ1xuXG5pbnRlcmZhY2UgTWVtYmVyc1NlbGVjdFByb3BzIHtcbiAgdmFsdWU6IHN0cmluZ1xuICBtZW1iZXJzTGlzdDogVGVhbVVzZXJbXVxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IE1lbWJlcnNTZWxlY3QgPSAoeyB2YWx1ZSwgbWVtYmVyc0xpc3QsIG9uQ2hhbmdlIH06IE1lbWJlcnNTZWxlY3RQcm9wcykgPT4ge1xuICBjb25zdCBbc2hvd1NlbGVjdE1lbWJlcnMsIHNldFNob3dTZWxlY3RNZW1iZXJzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VhcmNoVmFsdWUsIHNldFNlYXJjaFZhbHVlXSA9IHVzZVN0YXRlKCcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdE1lbWJlciA9IChtZW1iZXI6IFRlYW1Vc2VyKSA9PiB7XG4gICAgY29uc3QgbWVtYmVyTmFtZSA9IGAke21lbWJlci5maXJzdE5hbWV9ICR7bWVtYmVyLmxhc3ROYW1lfWBcbiAgICBjb25zdCBjdXJyZW50TWVtYmVycyA9IHZhbHVlID8gdmFsdWUuc3BsaXQoJyAtICcpIDogW11cblxuICAgIGlmIChjdXJyZW50TWVtYmVycy5pbmNsdWRlcyhtZW1iZXJOYW1lKSkge1xuICAgICAgLy8gU2kgeWEgZXN0w6Egc2VsZWNjaW9uYWRvLCByZW1vdmVybG9cbiAgICAgIGNvbnN0IHVwZGF0ZWRNZW1iZXJzID0gY3VycmVudE1lbWJlcnMuZmlsdGVyKG0gPT4gbSAhPT0gbWVtYmVyTmFtZSlcbiAgICAgIG9uQ2hhbmdlKHVwZGF0ZWRNZW1iZXJzLmpvaW4oJyAtICcpKVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTaSBubyBlc3TDoSBzZWxlY2Npb25hZG8sIGFncmVnYXJsb1xuICAgICAgY29uc3QgdXBkYXRlZE1lbWJlcnMgPSBbLi4uY3VycmVudE1lbWJlcnMsIG1lbWJlck5hbWVdXG4gICAgICBvbkNoYW5nZSh1cGRhdGVkTWVtYmVycy5qb2luKCcgLSAnKSlcbiAgICB9XG4gICAgLy8gTm8gY2VycmFyIGVsIHNlbGVjdG9yIHBhcmEgcGVybWl0aXIgc2VsZWNjacOzbiBtw7psdGlwbGVcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9IChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGUudGFyZ2V0LnZhbHVlKVxuICB9XG5cbiAgY29uc3QgZmlsdGVyZWRNZW1iZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFzZWFyY2hWYWx1ZSkgcmV0dXJuIG1lbWJlcnNMaXN0XG4gICAgY29uc3Qgc2VhcmNoTG93ZXIgPSBzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpXG4gICAgcmV0dXJuIG1lbWJlcnNMaXN0LmZpbHRlcihcbiAgICAgIG1lbWJlciA9PlxuICAgICAgICBtZW1iZXIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoTG93ZXIpIHx8XG4gICAgICAgIG1lbWJlci5sYXN0TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaExvd2VyKSB8fFxuICAgICAgICBgJHttZW1iZXIuZmlyc3ROYW1lfSAke21lbWJlci5sYXN0TmFtZX1gLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoTG93ZXIpXG4gICAgKVxuICB9LCBbbWVtYmVyc0xpc3QsIHNlYXJjaFZhbHVlXSlcblxuICByZXR1cm4gKFxuICAgIDxDVVNlbGVjdFxuICAgICAgdGl0bGU9XCJBZ3JlZ2FyIG1pZW1icm9zICpcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY2Npb25hciBtaWVtYnJvc1wiXG4gICAgICBlbmRJY29uPXtcbiAgICAgICAgPFNDV3JhcHBlclNlbGVjdEljb24gaXNPcGVuPXtzaG93U2VsZWN0TWVtYmVyc30+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPVwiMTZweFwiIGhlaWdodD1cIjE2cHhcIiBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDV3JhcHBlclNlbGVjdEljb24+XG4gICAgICB9XG4gICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICBvcGVuPXtzaG93U2VsZWN0TWVtYmVyc31cbiAgICAgIGhhbmRsZUNsaWNrQWN0aW9uPXsoKSA9PiBzZXRTaG93U2VsZWN0TWVtYmVycyghc2hvd1NlbGVjdE1lbWJlcnMpfVxuICAgID5cbiAgICAgIDxTQ0JhY2tkcm9wSW5wdXRTZWxlY3Qgb25DbGljaz17KCkgPT4gc2V0U2hvd1NlbGVjdE1lbWJlcnMoZmFsc2UpfSAvPlxuICAgICAgPFNDQ1VJdGVtc0xpc3Q+XG4gICAgICAgIDxTQ01lbWJlclNlYXJjaFdyYXBwZXI+XG4gICAgICAgICAgPFNlYXJjaENvbXBvbmVudCBwbGFjZWhvbGRlcj1cIkJ1c2NhciBtaWVtYnJvXCIgb25DaGFuZ2U9e2hhbmRsZVNlYXJjaH0gdmFsdWU9e3NlYXJjaFZhbHVlfSAvPlxuICAgICAgICA8L1NDTWVtYmVyU2VhcmNoV3JhcHBlcj5cbiAgICAgICAge2ZpbHRlcmVkTWVtYmVycy5tYXAobWVtYmVyID0+IHtcbiAgICAgICAgICBjb25zdCBtZW1iZXJOYW1lID0gYCR7bWVtYmVyLmZpcnN0TmFtZX0gJHttZW1iZXIubGFzdE5hbWV9YFxuICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB2YWx1ZT8uaW5jbHVkZXMobWVtYmVyTmFtZSkgfHwgZmFsc2VcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFNDQ1VTZWxlY3RJdGVtXG4gICAgICAgICAgICAgIGtleT17bWVtYmVyLmlkfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0TWVtYmVyKG1lbWJlcilcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBpc1NlbGVjdGVkID8gJyNlZGZhZmYnIDogJ3RyYW5zcGFyZW50JyB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U0NNZW1iZXJJdGVtQ29udGVudD5cbiAgICAgICAgICAgICAgICA8c3Bhbj57bWVtYmVyTmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPFNDTWVtYmVyQ2hlY2tib3hcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtpc1NlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgcmVhZE9ubHlcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE1lbWJlcihtZW1iZXIpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU0NNZW1iZXJJdGVtQ29udGVudD5cbiAgICAgICAgICAgIDwvU0NDVVNlbGVjdEl0ZW0+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIDwvU0NDVUl0ZW1zTGlzdD5cbiAgICA8L0NVU2VsZWN0PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsUUFBUSxFQUFFQyxPQUFPLFFBQXFCLE9BQU87QUFDdEQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxRQUFRLFFBQVEsOENBQThDO0FBQ3ZFLFNBQVNDLGVBQWUsUUFBUSw0Q0FBNEM7QUFDNUUsU0FDRUMscUJBQXFCLEVBQ3JCQyxhQUFhLEVBQ2JDLGNBQWMsRUFDZEMsbUJBQW1CLEVBQ25CQyxtQkFBbUIsRUFDbkJDLGdCQUFnQixFQUNoQkMscUJBQXFCLFFBQ2hCLDJCQUEyQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFTbEMsT0FBTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUFDLElBQUEsRUFBNkQ7RUFBQSxJQUF2REMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7SUFBRUMsV0FBVyxHQUFBRixJQUFBLENBQVhFLFdBQVc7SUFBRUMsUUFBUSxHQUFBSCxJQUFBLENBQVJHLFFBQVE7RUFDMUQsSUFBQUMsU0FBQSxHQUFrRHJCLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXNCLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFERyxpQkFBaUIsR0FBQUYsVUFBQTtJQUFFRyxvQkFBb0IsR0FBQUgsVUFBQTtFQUM5QyxJQUFBSSxVQUFBLEdB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b0JBQW9CLENBQUMsS0FBSyxDQUFDO01BQUE7SUFBQyxDQUFFLENBQUMsZUFDckVWLEtBQUEsQ0FBQ1QsYUFBYTtNQUFBZ0QsUUFBQSxnQkFDWnpDLElBQUEsQ0FBQ0YscUJBQXFCO1FBQUEyQyxRQUFBLGVBQ3BCekMsSUFBQSxDQUFDVCxlQUFlO1VBQUMrQyxXQUFXLEVBQUMsZ0JBQWdCO1VBQUMvQixRQUFRLEVBQUV3QixZQUFhO1VBQUMxQixLQUFLLEVBQUVVO1FBQVksQ0FBRTtNQUFDLENBQ3ZFLENBQUMsRUFDdkJtQixlQUFlLENBQUNjLEdBQUcsQ0FBQyxVQUFBOUIsTUFBTSxFQUFJO1FBQzdCLElBQU1DLFVBQVUsTUFBQUMsTUFBQSxDQUFNRixNQUFNLENBQUNHLFNBQVMsT0FBQUQsTUFBQSxDQUFJRixNQUFNLENBQUNJLFFBQVEsQ0FBRTtRQUMzRCxJQUFNMkIsVUFBVSxHQUFHLENBQUE1QyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRW9CLFFBQVEsQ0FBQ04sVUFBVSxDQUFDLEtBQUksS0FBSztRQUN2RCxvQkFDRW5CLElBQUEsQ0FBQ04sY0FBYztVQUVicUQsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUVmLENBQUMsRUFBSTtZQUNaQSxDQUFDLENBQUNrQixlQUFlLENBQUMsQ0FBQztZQUNuQmpDLGtCQUFrQixDQUFDQyxNQUFNLENBQUM7VUFDNUIsQ0FBRTtVQUNGaUMsS0FBSyxFQUFFO1lBQUVDLGVBQWUsRUFBRUgsVUFBVSxHQUFHLFNBQVMsR0FBRztVQUFjLENBQUU7VUFBQVIsUUFBQSxlQUVuRXZDLEtBQUEsQ0FBQ04sbUJBQW1CO1lBQUE2QyxRQUFBLGdCQUNsQnpDLElBQUE7Y0FBQXlDLFFBQUEsRUFBT3RCO1lBQVUsQ0FBTyxDQUFDLGVBQ3pCbkIsSUFBQSxDQUFDSCxnQkFBZ0I7Y0FDZndELElBQUksRUFBQyxVQUFVO2NBQ2ZDLE9BQU8sRUFBRUwsVUFBVztjQUNwQk0sUUFBUTtjQUNSUixPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRWYsQ0FBQyxFQUFJO2dCQUNaQSxDQUFDLENBQUNrQixlQUFlLENBQUMsQ0FBQztnQkFDbkJqQyxrQkFBa0IsQ0FBQ0MsTUFBTSxDQUFDO2NBQzVCO1lBQUUsQ0FDSCxDQUFDO1VBQUEsQ0FDaUI7UUFBQyxHQWxCakJBLE1BQU0sQ0FBQ3NDLEVBbUJFLENBQUM7TUFFckIsQ0FBQyxDQUFDO0lBQUEsQ0FDVyxDQUFDO0VBQUEsQ0FDUixDQUFDO0FBRWYsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwiQ2hldnJvbkRvd24iLCJDVVNlbGVjdCIsIlNlYXJjaENvbXBvbmVudCIsInVzZUdldFVzZXJzIiwidXNlRGVib3VuY2UiLCJTQ0JhY2tkcm9wSW5wdXRTZWxlY3QiLCJTQ0NVSXRlbXNMaXN0IiwiU0NDVVNlbGVjdEl0ZW0iLCJTQ1dyYXBwZXJTZWxlY3RJY29uIiwiU0NNZW1iZXJJdGVtQ29udGVudCIsIlNDTWVtYmVyQ2hlY2tib3giLCJTQ01lbWJlclNlYXJjaFdyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiTWVtYmVyc1NlbGVjdCIsIl9yZWYiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2hvd1NlbGVjdE1lbWJlcnMiLCJzZXRTaG93U2VsZWN0TWVtYmVycyIsIl91c2VHZXRVc2VycyIsImhhbmRsZUdldFVzZXJzIiwidXNlcnMiLCJjdXJyZW50UGFnZSIsInRvdGFsUGFnZXMiLCJsb2FkaW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWFyY2hWYWx1ZSIsInNldFNlYXJjaFZhbHVlIiwiZGVib3VuY2VkU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImFjY3VtdWxhdGVkVXNlcnMiLCJzZXRBY2N1bXVsYXRlZFVzZXJzIiwic2Nyb2xsQ29udGFpbmVyUmVmIiwiaXNMb2FkaW5nTW9yZVJlZiIsImhhbmRsZVNlbGVjdE1lbWJlciIsIm1lbWJlciIsImFscmVkeVNlbGVjdGVkIiwic29tZSIsIm0iLCJpZCIsImZpbHRlciIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIm5hbWUiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImhhbmRsZVNlYXJjaCIsImUiLCJ0YXJnZXQiLCJjdXJyZW50IiwicGFnZSIsInNlYXJjaElucHV0IiwibGVuZ3RoIiwicHJldiIsImV4aXN0aW5nSWRzIiwiU2V0IiwibWFwIiwidSIsIm5ld1VzZXJzIiwiaGFzIiwiaGFuZGxlU2Nyb2xsIiwiY29udGFpbmVyIiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiaXNOZWFyQm90dG9tIiwidW5kZWZpbmVkIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDbGlja0FjdGlvblNlbGVjdCIsInRpdGxlIiwicGxhY2Vob2xkZXIiLCJlbmRJY29uIiwiaXNPcGVuIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiam9pbiIsIm9wZW4iLCJoYW5kbGVDbGlja0FjdGlvbiIsIm9uQ2xpY2siLCJyZWYiLCJtZW1iZXJOYW1lIiwiaXNTZWxlY3RlZCIsInN0b3BQcm9wYWdhdGlvbiIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwidHlwZSIsImNoZWNrZWQiLCJyZWFkT25seSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RlYW1EZXRhaWxzTW9kYWwvTWVtYmVyc1NlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIENoYW5nZUV2ZW50LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZXZyb25Eb3duIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkRvd24nXG5pbXBvcnQgeyBDVVNlbGVjdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3NlbGVjdG9yL2xpYi9jb21wb25lbnRzL0NVU2VsZWN0J1xuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vRmlsdGVycy9TZWFyY2hDb21wb25lbnQvU2VhcmNoQ29tcG9uZW50J1xuaW1wb3J0IHsgdXNlR2V0VXNlcnMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VHZXRVc2VycydcbmltcG9ydCB7IHVzZURlYm91bmNlIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlRGVib3VuY2UnXG5pbXBvcnQge1xuICBTQ0JhY2tkcm9wSW5wdXRTZWxlY3QsXG4gIFNDQ1VJdGVtc0xpc3QsXG4gIFNDQ1VTZWxlY3RJdGVtLFxuICBTQ1dyYXBwZXJTZWxlY3RJY29uLFxuICBTQ01lbWJlckl0ZW1Db250ZW50LFxuICBTQ01lbWJlckNoZWNrYm94LFxuICBTQ01lbWJlclNlYXJjaFdyYXBwZXIsXG59IGZyb20gJy4vVGVhbURldGFpbHNNb2RhbC5zdHlsZXMnXG5pbXBvcnQgeyBUZWFtVXNlciB9IGZyb20gJy4vVGVhbURldGFpbHNNb2RhbC50eXBlcydcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi90eXBlcy91c2VyVHlwZSdcblxuZXhwb3J0IGludGVyZmFjZSBNZW1iZXJTZWxlY3Rpb24ge1xuICBpZDogbnVtYmVyXG4gIG5hbWU6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgTWVtYmVyc1NlbGVjdFByb3BzIHtcbiAgdmFsdWU6IE1lbWJlclNlbGVjdGlvbltdXG4gIG9uQ2hhbmdlOiAoaW5wdXQ6IHN0cmluZywgdmFsdWU6IE1lbWJlclNlbGVjdGlvbltdKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBNZW1iZXJzU2VsZWN0ID0gKHsgdmFsdWUsIG9uQ2hhbmdlIH06IE1lbWJlcnNTZWxlY3RQcm9wcykgPT4ge1xuICBjb25zdCBbc2hvd1NlbGVjdE1lbWJlcnMsIHNldFNob3dTZWxlY3RNZW1iZXJzXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IGhhbmRsZUdldFVzZXJzLCB1c2VycywgY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMsIGxvYWRpbmcgfSA9IHVzZUdldFVzZXJzKClcbiAgY29uc3QgW3NlYXJjaFZhbHVlLCBzZXRTZWFyY2hWYWx1ZV0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgZGVib3VuY2VkU2VhcmNoVmFsdWUgPSB1c2VEZWJvdW5jZShzZWFyY2hWYWx1ZSwgMzAwKVxuICBjb25zdCBbYWNjdW11bGF0ZWRVc2Vycywgc2V0QWNjdW11bGF0ZWRVc2Vyc10gPSB1c2VTdGF0ZTxVc2VyW10+KFtdKVxuICBjb25zdCBzY3JvbGxDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGlzTG9hZGluZ01vcmVSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0TWVtYmVyID0gKG1lbWJlcjogVXNlciB8IFRlYW1Vc2VyKSA9PiB7XG4gICAgY29uc3QgYWxyZWR5U2VsZWN0ZWQgPSB2YWx1ZS5zb21lKG0gPT4gbS5pZCA9PT0gbWVtYmVyLmlkKVxuICAgIGlmIChhbHJlZHlTZWxlY3RlZCkge1xuICAgICAgb25DaGFuZ2UoXG4gICAgICAgICdtZW1iZXJzJyxcbiAgICAgICAgdmFsdWUuZmlsdGVyKG0gPT4gbS5pZCAhPT0gbWVtYmVyLmlkKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBvbkNoYW5nZSgnbWVtYmVycycsIFsuLi52YWx1ZSwgeyBpZDogbWVtYmVyLmlkLCBuYW1lOiBgJHttZW1iZXIuZmlyc3ROYW1lfSAke21lbWJlci5sYXN0TmFtZX1gIH1dKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9IChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIHNldFNlYXJjaFZhbHVlKGUudGFyZ2V0LnZhbHVlKVxuICB9XG5cbiAgLy8gUmVzZXRlYXIgdXN1YXJpb3MgYWN1bXVsYWRvcyBjdWFuZG8gY2FtYmlhIGVsIHNlYXJjaCBvIHNlIGFicmUgZWwgc2VsZWN0b3JcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvd1NlbGVjdE1lbWJlcnMpIHtcbiAgICAgIHNldEFjY3VtdWxhdGVkVXNlcnMoW10pXG4gICAgICBpc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgaGFuZGxlR2V0VXNlcnMoeyBwYWdlOiAxLCBzZWFyY2hJbnB1dDogZGVib3VuY2VkU2VhcmNoVmFsdWUgfSlcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRTZWFyY2hWYWx1ZSwgc2hvd1NlbGVjdE1lbWJlcnMsIGhhbmRsZUdldFVzZXJzXSlcblxuICAvLyBBY3VtdWxhciB1c3VhcmlvcyBjdWFuZG8gc2UgcmVjaWJlbiBudWV2b3MgZGF0b3NcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodXNlcnMubGVuZ3RoID4gMCAmJiBzaG93U2VsZWN0TWVtYmVycykge1xuICAgICAgaWYgKGN1cnJlbnRQYWdlID09PSAxKSB7XG4gICAgICAgIC8vIFNpIGVzIGxhIHByaW1lcmEgcMOhZ2luYSwgcmVlbXBsYXphclxuICAgICAgICBzZXRBY2N1bXVsYXRlZFVzZXJzKHVzZXJzKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgZXMgdW5hIHDDoWdpbmEgcG9zdGVyaW9yLCBhZ3JlZ2FyIGEgbG9zIGV4aXN0ZW50ZXNcbiAgICAgICAgc2V0QWNjdW11bGF0ZWRVc2VycyhwcmV2ID0+IHtcbiAgICAgICAgICAvLyBFdml0YXIgZHVwbGljYWRvc1xuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nSWRzID0gbmV3IFNldChwcmV2Lm1hcCh1ID0+IHUuaWQpKVxuICAgICAgICAgIGNvbnN0IG5ld1VzZXJzID0gdXNlcnMuZmlsdGVyKHUgPT4gIWV4aXN0aW5nSWRzLmhhcyh1LmlkKSlcbiAgICAgICAgICByZXR1cm4gWy4uLnByZXYsIC4uLm5ld1VzZXJzXVxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgaXNMb2FkaW5nTW9yZVJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gIH0sIFt1c2VycywgY3VycmVudFBhZ2UsIHNob3dTZWxlY3RNZW1iZXJzXSlcblxuICBjb25zdCBoYW5kbGVTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gc2Nyb2xsQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lciB8fCBsb2FkaW5nIHx8IGlzTG9hZGluZ01vcmVSZWYuY3VycmVudCkgcmV0dXJuXG5cbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgIGNvbnN0IGlzTmVhckJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxMCAvLyAxMHB4IGRlIG1hcmdlblxuXG4gICAgaWYgKGlzTmVhckJvdHRvbSAmJiBjdXJyZW50UGFnZSA8IHRvdGFsUGFnZXMpIHtcbiAgICAgIGlzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGhhbmRsZUdldFVzZXJzKHsgcGFnZTogY3VycmVudFBhZ2UgKyAxLCBzZWFyY2hJbnB1dDogZGVib3VuY2VkU2VhcmNoVmFsdWUgfSlcbiAgICB9XG4gIH0sIFtjdXJyZW50UGFnZSwgdG90YWxQYWdlcywgbG9hZGluZywgaGFuZGxlR2V0VXNlcnMsIGRlYm91bmNlZFNlYXJjaFZhbHVlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHNjcm9sbENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIgfHwgIXNob3dTZWxlY3RNZW1iZXJzKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIH1cbiAgfSwgW2hhbmRsZVNjcm9sbCwgc2hvd1NlbGVjdE1lbWJlcnNdKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQWN0aW9uU2VsZWN0ID0gKCkgPT4ge1xuICAgIHNldFNob3dTZWxlY3RNZW1iZXJzKCFzaG93U2VsZWN0TWVtYmVycylcbiAgICBpZiAoIXNob3dTZWxlY3RNZW1iZXJzKSB7XG4gICAgICBzZXRTZWFyY2hWYWx1ZSgnJylcbiAgICAgIHNldEFjY3VtdWxhdGVkVXNlcnMoW10pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q1VTZWxlY3RcbiAgICAgIHRpdGxlPVwiQWdyZWdhciBtaWVtYnJvcyAqXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWNjaW9uYXIgbWllbWJyb3NcIlxuICAgICAgZW5kSWNvbj17XG4gICAgICAgIDxTQ1dyYXBwZXJTZWxlY3RJY29uIGlzT3Blbj17c2hvd1NlbGVjdE1lbWJlcnN9PlxuICAgICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCIgY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ1dyYXBwZXJTZWxlY3RJY29uPlxuICAgICAgfVxuICAgICAgdmFsdWU9e3ZhbHVlLm1hcChtZW1iZXIgPT4gbWVtYmVyLm5hbWUpLmpvaW4oJyAtICcpfVxuICAgICAgb3Blbj17c2hvd1NlbGVjdE1lbWJlcnN9XG4gICAgICBoYW5kbGVDbGlja0FjdGlvbj17aGFuZGxlQ2xpY2tBY3Rpb25TZWxlY3R9XG4gICAgPlxuICAgICAgPFNDQmFja2Ryb3BJbnB1dFNlbGVjdCBvbkNsaWNrPXsoKSA9PiBzZXRTaG93U2VsZWN0TWVtYmVycyhmYWxzZSl9IC8+XG4gICAgICA8U0NDVUl0ZW1zTGlzdCByZWY9e3Njcm9sbENvbnRhaW5lclJlZn0+XG4gICAgICAgIDxTQ01lbWJlclNlYXJjaFdyYXBwZXI+XG4gICAgICAgICAgPFNlYXJjaENvbXBvbmVudCBwbGFjZWhvbGRlcj1cIkJ1c2NhciBtaWVtYnJvXCIgb25DaGFuZ2U9e2hhbmRsZVNlYXJjaH0gdmFsdWU9e3NlYXJjaFZhbHVlfSAvPlxuICAgICAgICA8L1NDTWVtYmVyU2VhcmNoV3JhcHBlcj5cbiAgICAgICAge2FjY3VtdWxhdGVkVXNlcnMubWFwKG1lbWJlciA9PiB7XG4gICAgICAgICAgY29uc3QgbWVtYmVyTmFtZSA9IGAke21lbWJlci5maXJzdE5hbWV9ICR7bWVtYmVyLmxhc3ROYW1lfWBcbiAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gdmFsdWU/LnNvbWUobSA9PiBtLmlkID09PSBtZW1iZXIuaWQpIHx8IGZhbHNlXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTQ0NVU2VsZWN0SXRlbVxuICAgICAgICAgICAgICBrZXk9e21lbWJlci5pZH1cbiAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE1lbWJlcihtZW1iZXIpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogaXNTZWxlY3RlZCA/ICcjZWRmYWZmJyA6ICd0cmFuc3BhcmVudCcgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNDTWVtYmVySXRlbUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPHNwYW4+e21lbWJlck5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxTQ01lbWJlckNoZWNrYm94XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgY2hlY2tlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RNZW1iZXIobWVtYmVyKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDTWVtYmVySXRlbUNvbnRlbnQ+XG4gICAgICAgICAgICA8L1NDQ1VTZWxlY3RJdGVtPlxuICAgICAgICAgIClcbiAgICAgICAgfSl9XG4gICAgICA8L1NDQ1VJdGVtc0xpc3Q+XG4gICAgPC9DVVNlbGVjdD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFFBQVEsRUFBZUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQzdFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsUUFBUSxRQUFRLDhDQUE4QztBQUN2RSxTQUFTQyxlQUFlLFFBQVEsNENBQTRDO0FBQzVFLFNBQVNDLFdBQVcsUUFBUSx5QkFBeUI7QUFDckQsU0FBU0MsV0FBVyxRQUFRLHlCQUF5QjtBQUNyRCxTQUNFQyxxQkFBcUIsRUFDckJDLGFBQWEsRUFDYkMsY0FBYyxFQUNkQyxtQkFBbUIsRUFDbkJDLG1CQUFtQixFQUNuQkMsZ0JBQWdCLEVBQ2hCQyxxQkFBcUIsUUFDaEIsMkJBQTJCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQWNsQyxPQUFPLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQUMsSUFBQSxFQUFnRDtFQUFBLElBQTFDQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUFFQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtFQUM3QyxJQUFBQyxTQUFBLEdBQWtEeEIsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBeUIsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBMURHLGlCQUFpQixHQUFBRixVQUFBO0lBQUVHLG9CQUFvQixHQUFBSCxVQUFBO0VBQzlDLElBQUFJLFlBQUEsR0FBb0V0QixXQUFXLENBQUMsQ0FBQztJQUF6RXVCLGNBQWMsR0FBQUQsWUFBQSxDQUFkQyxjQUFjO0lBQUVDLEtBQUssR0FBQUYsWUFBQSxDQUFMRSxLQUFLO0lBQUVDLFdBQVcsR0FBQUgsWUFBQSxDQUFYRyxXQUFXO0lBQUVDLFVBQVUsR0FBQUosWUFBQSxDQUFWSSxVQUFVO0lBQUVDLE9BQU8sR0FBQUwsWUFBQSxD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
|
|
@@ -9,10 +9,10 @@ import { Cross } from '@projectcor/icons/lib/components/Cross';
|
|
|
9
9
|
import { ChevronDown } from '@projectcor/icons/lib/components/ChevronDown';
|
|
10
10
|
import { Input } from '@projectcor/input/lib';
|
|
11
11
|
import { CUSelect } from '@projectcor/selector/lib/components/CUSelect';
|
|
12
|
-
import {
|
|
13
|
-
import { SCTDMOverlay, SCTDMContainer, SCTDMHeader, SCTDMTitle, SCTDMCloseButton, SCTDMContent, SCTDMSection, SCTDMSectionLabel, SCTDMSectionValue, SCTDMUsersList, SCTDMWorkspaceTag, SCTDMButtonsContainer, SCBackdropInputSelect, SCCUItemsList, SCCUSelectItem, SCWrapperTextArea, SCTextAreaLabel, SCTextArea, SCWrapperSelectIcon } from './TeamDetailsModal.styles';
|
|
12
|
+
import { SCTDMOverlay, SCTDMContainer, SCTDMHeader, SCTDMTitle, SCTDMCloseButton, SCTDMContent, SCTDMSection, SCTDMSectionLabel, SCTDMSectionValue, SCTDMUsersList, SCTDMWorkspaceTag, SCTDMButtonsContainer, SCBackdropInputSelect, SCCUItemsList, SCCUSelectItem, SCWrapperTextArea, SCTextAreaLabel, SCTextArea, SCTextAreaCounter, SCWrapperSelectIcon } from './TeamDetailsModal.styles';
|
|
14
13
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
14
|
export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
15
|
+
var _formData$workspace;
|
|
16
16
|
var team = _ref.team,
|
|
17
17
|
isOpen = _ref.isOpen,
|
|
18
18
|
onClose = _ref.onClose,
|
|
@@ -20,17 +20,15 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
20
20
|
onCreate = _ref.onCreate,
|
|
21
21
|
_ref$mode = _ref.mode,
|
|
22
22
|
mode = _ref$mode === void 0 ? 'view' : _ref$mode,
|
|
23
|
-
workspacesList = _ref.workspacesList
|
|
24
|
-
_ref$membersList = _ref.membersList,
|
|
25
|
-
membersList = _ref$membersList === void 0 ? [] : _ref$membersList;
|
|
23
|
+
workspacesList = _ref.workspacesList;
|
|
26
24
|
var _useState = useState(mode === 'edit' || mode === 'create'),
|
|
27
25
|
_useState2 = _slicedToArray(_useState, 2),
|
|
28
26
|
isEditMode = _useState2[0],
|
|
29
27
|
setIsEditMode = _useState2[1];
|
|
30
28
|
var _useState3 = useState({
|
|
31
29
|
name: '',
|
|
32
|
-
workspace:
|
|
33
|
-
members:
|
|
30
|
+
workspace: null,
|
|
31
|
+
members: [],
|
|
34
32
|
description: ''
|
|
35
33
|
}),
|
|
36
34
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
@@ -42,40 +40,55 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
42
40
|
setShowSelectWorkspace = _useState6[1];
|
|
43
41
|
var _useTranslation = useTranslation('teams'),
|
|
44
42
|
t = _useTranslation.t;
|
|
45
|
-
var isCreateMode = mode === 'create';
|
|
46
|
-
var isViewMode = mode === 'view' && !isEditMode;
|
|
47
43
|
useEffect(function () {
|
|
48
|
-
|
|
44
|
+
// Si cambia el modo, ajustar isEditMode
|
|
45
|
+
setIsEditMode(mode === 'edit' || mode === 'create');
|
|
46
|
+
}, [mode]);
|
|
47
|
+
useEffect(function () {
|
|
48
|
+
if (!isOpen) {
|
|
49
|
+
// Resetear cuando el modal se cierra
|
|
49
50
|
setFormData({
|
|
50
|
-
name:
|
|
51
|
-
workspace:
|
|
52
|
-
members:
|
|
53
|
-
|
|
54
|
-
}).join(' - '),
|
|
55
|
-
description: team.description
|
|
51
|
+
name: '',
|
|
52
|
+
workspace: null,
|
|
53
|
+
members: [],
|
|
54
|
+
description: ''
|
|
56
55
|
});
|
|
57
|
-
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (mode === 'create') {
|
|
58
59
|
// Resetear formulario para crear
|
|
59
60
|
setFormData({
|
|
60
61
|
name: '',
|
|
61
|
-
workspace:
|
|
62
|
-
members:
|
|
62
|
+
workspace: null,
|
|
63
|
+
members: [],
|
|
63
64
|
description: ''
|
|
64
65
|
});
|
|
66
|
+
} else if (team) {
|
|
67
|
+
// Actualizar formulario cuando hay un equipo (modo view o edit)
|
|
68
|
+
setFormData({
|
|
69
|
+
name: team.name || '',
|
|
70
|
+
workspace: team.workspace ? {
|
|
71
|
+
id: team.workspace.id,
|
|
72
|
+
name: team.workspace.name
|
|
73
|
+
} : null,
|
|
74
|
+
members: team.users.map(function (user) {
|
|
75
|
+
return {
|
|
76
|
+
id: user.id,
|
|
77
|
+
name: "".concat(user.firstName, " ").concat(user.lastName)
|
|
78
|
+
};
|
|
79
|
+
}),
|
|
80
|
+
description: team.description || ''
|
|
81
|
+
});
|
|
65
82
|
}
|
|
66
|
-
}, [team,
|
|
67
|
-
useEffect(function () {
|
|
68
|
-
// Si cambia el modo, ajustar isEditMode
|
|
69
|
-
setIsEditMode(mode === 'edit' || mode === 'create');
|
|
70
|
-
}, [mode]);
|
|
83
|
+
}, [team, mode, isOpen]);
|
|
71
84
|
if (!isOpen) return null;
|
|
72
|
-
if (
|
|
85
|
+
if (mode === 'view' && !isEditMode && !team) return null;
|
|
73
86
|
var handleCloseModal = function handleCloseModal() {
|
|
74
87
|
setIsEditMode(false);
|
|
75
88
|
setFormData({
|
|
76
89
|
name: '',
|
|
77
|
-
workspace:
|
|
78
|
-
members:
|
|
90
|
+
workspace: null,
|
|
91
|
+
members: [],
|
|
79
92
|
description: ''
|
|
80
93
|
});
|
|
81
94
|
onClose();
|
|
@@ -95,31 +108,16 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
95
108
|
setIsEditMode(true);
|
|
96
109
|
};
|
|
97
110
|
var handleCancelEdit = function handleCancelEdit() {
|
|
98
|
-
|
|
99
|
-
handleCloseModal();
|
|
100
|
-
} else {
|
|
101
|
-
setIsEditMode(false);
|
|
102
|
-
// Restaurar valores originales
|
|
103
|
-
if (team) {
|
|
104
|
-
setFormData({
|
|
105
|
-
name: team.name,
|
|
106
|
-
workspace: team.workspace,
|
|
107
|
-
members: team.users.map(function (user) {
|
|
108
|
-
return "".concat(user.firstName, " ").concat(user.lastName);
|
|
109
|
-
}).join(' - '),
|
|
110
|
-
description: team.description
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
111
|
+
handleCloseModal();
|
|
114
112
|
};
|
|
115
113
|
var handleSave = function handleSave() {
|
|
116
|
-
if (
|
|
117
|
-
onCreate();
|
|
114
|
+
if (mode === 'create' && onCreate) {
|
|
115
|
+
onCreate(formData);
|
|
118
116
|
} else if (onEdit) {
|
|
119
|
-
onEdit();
|
|
117
|
+
onEdit(formData);
|
|
120
118
|
}
|
|
121
119
|
setIsEditMode(false);
|
|
122
|
-
if (
|
|
120
|
+
if (mode === 'create') {
|
|
123
121
|
handleCloseModal();
|
|
124
122
|
}
|
|
125
123
|
};
|
|
@@ -129,10 +127,12 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
129
127
|
});
|
|
130
128
|
};
|
|
131
129
|
var getModalTitle = function getModalTitle() {
|
|
132
|
-
if (
|
|
130
|
+
if (mode === 'create') return t('teams.modal.createTitle');
|
|
133
131
|
if (isEditMode) return t('teams.modal.editTitle');
|
|
134
132
|
return (team === null || team === void 0 ? void 0 : team.name) || '';
|
|
135
133
|
};
|
|
134
|
+
var isFormComplete = window.hasWorkspacesFeature ? formData.name.trim().length > 0 && formData.workspace !== null : formData.name.trim().length > 0;
|
|
135
|
+
var isViewMode = mode === 'view' && !isEditMode;
|
|
136
136
|
return /*#__PURE__*/_jsx(SCTDMOverlay, {
|
|
137
137
|
onClick: handleOverlayClick,
|
|
138
138
|
children: /*#__PURE__*/_jsxs(SCTDMContainer, {
|
|
@@ -161,28 +161,28 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
161
161
|
children: [/*#__PURE__*/_jsx(SCTDMSectionLabel, {
|
|
162
162
|
children: t('teams.modal.workspacesLabel')
|
|
163
163
|
}), /*#__PURE__*/_jsx(SCTDMSectionValue, {
|
|
164
|
-
children: /*#__PURE__*/_jsx(SCTDMWorkspaceTag, {
|
|
165
|
-
children: team.workspace
|
|
166
|
-
})
|
|
164
|
+
children: team.workspace ? /*#__PURE__*/_jsx(SCTDMWorkspaceTag, {
|
|
165
|
+
children: team.workspace.name
|
|
166
|
+
}) : '-'
|
|
167
167
|
})]
|
|
168
168
|
}), !window.hasWorkspacesFeature && /*#__PURE__*/_jsxs(SCTDMSection, {
|
|
169
169
|
children: [/*#__PURE__*/_jsx(SCTDMSectionLabel, {
|
|
170
170
|
children: t('teams.modal.descriptionLabel')
|
|
171
171
|
}), /*#__PURE__*/_jsx(SCTDMSectionValue, {
|
|
172
|
-
children: team.description
|
|
172
|
+
children: team.description || '-'
|
|
173
173
|
})]
|
|
174
174
|
})]
|
|
175
175
|
}), /*#__PURE__*/_jsxs(SCTDMButtonsContainer, {
|
|
176
176
|
children: [/*#__PURE__*/_jsx(CUButton, {
|
|
177
|
-
variant: "contained",
|
|
178
|
-
size: "medium",
|
|
179
|
-
onClick: handleEditClick,
|
|
180
|
-
children: t('teams.modal.editButton')
|
|
181
|
-
}), /*#__PURE__*/_jsx(CUButton, {
|
|
182
177
|
variant: "text",
|
|
183
178
|
size: "medium",
|
|
184
179
|
onClick: handleCloseModal,
|
|
185
180
|
children: t('teams.cancel')
|
|
181
|
+
}), !window.hasWorkspacesFeature && /*#__PURE__*/_jsx(CUButton, {
|
|
182
|
+
variant: "contained",
|
|
183
|
+
size: "medium",
|
|
184
|
+
onClick: handleEditClick,
|
|
185
|
+
children: t('teams.modal.editButton')
|
|
186
186
|
})]
|
|
187
187
|
})]
|
|
188
188
|
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -190,13 +190,16 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
190
190
|
children: [/*#__PURE__*/_jsx(SCTDMSection, {
|
|
191
191
|
children: /*#__PURE__*/_jsx(Input, {
|
|
192
192
|
labelText: t('teams.modal.nameLabel'),
|
|
193
|
-
withCounter:
|
|
194
|
-
|
|
193
|
+
withCounter: true,
|
|
194
|
+
maxLength: 255,
|
|
195
|
+
value: formData.name || (team && mode === 'edit' ? team.name : ''),
|
|
195
196
|
placeholder: t('teams.modal.namePlaceholder'),
|
|
196
197
|
handleSetText: function handleSetText(value) {
|
|
197
198
|
return handleInputChange('name', value);
|
|
198
|
-
}
|
|
199
|
-
|
|
199
|
+
},
|
|
200
|
+
hasError: formData.name.length > 255,
|
|
201
|
+
errorMessage: "El nombre del equipo no puede tener m\xE1s de 255 caracteres"
|
|
202
|
+
}, "team-name-".concat((team === null || team === void 0 ? void 0 : team.id) || 'new', "-").concat(mode, "-").concat(isOpen))
|
|
200
203
|
}), window.hasWorkspacesFeature && /*#__PURE__*/_jsx(SCTDMSection, {
|
|
201
204
|
children: /*#__PURE__*/_jsxs(CUSelect, {
|
|
202
205
|
title: t('teams.modal.workspaceTitle'),
|
|
@@ -209,7 +212,7 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
209
212
|
color: "#20201F"
|
|
210
213
|
})
|
|
211
214
|
}),
|
|
212
|
-
value: formData.workspace,
|
|
215
|
+
value: ((_formData$workspace = formData.workspace) === null || _formData$workspace === void 0 ? void 0 : _formData$workspace.name) || '',
|
|
213
216
|
open: showSelectWorkspace,
|
|
214
217
|
handleClickAction: function handleClickAction() {
|
|
215
218
|
return setShowSelectWorkspace(!showSelectWorkspace);
|
|
@@ -222,21 +225,13 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
222
225
|
children: workspacesList.map(function (workspace) {
|
|
223
226
|
return /*#__PURE__*/_jsx(SCCUSelectItem, {
|
|
224
227
|
onClick: function onClick() {
|
|
225
|
-
return handleInputChange('workspace', workspace
|
|
228
|
+
return handleInputChange('workspace', workspace);
|
|
226
229
|
},
|
|
227
230
|
children: workspace.name
|
|
228
231
|
}, workspace.id);
|
|
229
232
|
})
|
|
230
233
|
})]
|
|
231
234
|
})
|
|
232
|
-
}), /*#__PURE__*/_jsx(SCTDMSection, {
|
|
233
|
-
children: /*#__PURE__*/_jsx(MembersSelect, {
|
|
234
|
-
value: formData.members,
|
|
235
|
-
membersList: membersList.length > 0 ? membersList : (team === null || team === void 0 ? void 0 : team.users) || [],
|
|
236
|
-
onChange: function onChange(value) {
|
|
237
|
-
return handleInputChange('members', value);
|
|
238
|
-
}
|
|
239
|
-
})
|
|
240
235
|
}), !window.hasWorkspacesFeature && /*#__PURE__*/_jsx(SCTDMSection, {
|
|
241
236
|
children: /*#__PURE__*/_jsxs(SCWrapperTextArea, {
|
|
242
237
|
children: [/*#__PURE__*/_jsx(SCTextAreaLabel, {
|
|
@@ -249,7 +244,10 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
249
244
|
},
|
|
250
245
|
spellCheck: false,
|
|
251
246
|
placeholder: t('teams.modal.descriptionPlaceholder'),
|
|
252
|
-
id: "myTextarea"
|
|
247
|
+
id: "myTextarea",
|
|
248
|
+
maxLength: 255
|
|
249
|
+
}), /*#__PURE__*/_jsxs(SCTextAreaCounter, {
|
|
250
|
+
children: [formData.description.length, " / 255"]
|
|
253
251
|
})]
|
|
254
252
|
})
|
|
255
253
|
})]
|
|
@@ -260,17 +258,18 @@ export var TeamDetailsModal = function TeamDetailsModal(_ref) {
|
|
|
260
258
|
onClick: handleCancelEdit,
|
|
261
259
|
children: t('teams.cancel')
|
|
262
260
|
}), /*#__PURE__*/_jsx(CUButton, {
|
|
261
|
+
disabled: !isFormComplete,
|
|
263
262
|
variant: "contained",
|
|
264
263
|
size: "medium",
|
|
265
264
|
onClick: handleSave,
|
|
266
265
|
style: {
|
|
267
266
|
backgroundColor: '#666666'
|
|
268
267
|
},
|
|
269
|
-
children:
|
|
268
|
+
children: mode === 'create' ? t('teams.createTeam') : t('teams.saveChanges')
|
|
270
269
|
})]
|
|
271
270
|
})]
|
|
272
271
|
})]
|
|
273
272
|
})
|
|
274
273
|
});
|
|
275
274
|
};
|
|
276
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlVHJhbnNsYXRpb24iLCJDVUJ1dHRvbiIsIkNyb3NzIiwiQ2hldnJvbkRvd24iLCJJbnB1dCIsIkNVU2VsZWN0IiwiTWVtYmVyc1NlbGVjdCIsIlNDVERNT3ZlcmxheSIsIlNDVERNQ29udGFpbmVyIiwiU0NURE1IZWFkZXIiLCJTQ1RETVRpdGxlIiwiU0NURE1DbG9zZUJ1dHRvbiIsIlNDVERNQ29udGVudCIsIlNDVERNU2VjdGlvbiIsIlNDVERNU2VjdGlvbkxhYmVsIiwiU0NURE1TZWN0aW9uVmFsdWUiLCJTQ1RETVVzZXJzTGlzdCIsIlNDVERNV29ya3NwYWNlVGFnIiwiU0NURE1CdXR0b25zQ29udGFpbmVyIiwiU0NCYWNrZHJvcElucHV0U2VsZWN0IiwiU0NDVUl0ZW1zTGlzdCIsIlNDQ1VTZWxlY3RJdGVtIiwiU0NXcmFwcGVyVGV4dEFyZWEiLCJTQ1RleHRBcmVhTGFiZWwiLCJTQ1RleHRBcmVhIiwiU0NXcmFwcGVyU2VsZWN0SWNvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIlRlYW1EZXRhaWxzTW9kYWwiLCJfcmVmIiwidGVhbSIsImlzT3BlbiIsIm9uQ2xvc2UiLCJvbkVkaXQiLCJvbkNyZWF0ZSIsIl9yZWYkbW9kZSIsIm1vZGUiLCJ3b3Jrc3BhY2VzTGlzdCIsIl9yZWYkbWVtYmVyc0xpc3QiLCJtZW1iZXJzTGlzdCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzRWRpdE1vZGUiLCJzZXRJc0VkaXRNb2RlIiwiX3VzZVN0YXRlMyIsIm5hbWUiLCJ3b3Jrc3BhY2UiLCJtZW1iZXJzIiwiZGVzY3JpcHRpb24iLCJfdXNlU3RhdGU0IiwiZm9ybURhdGEiLCJzZXRGb3JtRGF0YSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd1NlbGVjdFdvcmtzcGFjZSIsInNldFNob3dTZWxlY3RXb3Jrc3BhY2UiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiaXNDcmVhdGVNb2RlIiwiaXNWaWV3TW9kZSIsInVzZXJzIiwibWFwIiwidXNlciIsImNvbmNhdCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiam9pbiIsImhhbmRsZUNsb3NlTW9kYWwiLCJoYW5kbGVPdmVybGF5Q2xpY2siLCJlIiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsImZvcm1hdFVzZXJzIiwiaGFuZGxlRWRpdENsaWNrIiwiaGFuZGxlQ2FuY2VsRWRpdCIsImhhbmRsZVNhdmUiLCJoYW5kbGVJbnB1dENoYW5nZSIsImZpZWxkIiwidmFsdWUiLCJwcmV2IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE1vZGFsVGl0bGUiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwid2luZG93IiwiaGFzV29ya3NwYWNlc0ZlYXR1cmUiLCJ2YXJpYW50Iiwic2l6ZSIsImxhYmVsVGV4dCIsIndpdGhDb3VudGVyIiwicGxhY2Vob2xkZXIiLCJoYW5kbGVTZXRUZXh0IiwidGl0bGUiLCJlbmRJY29uIiwib3BlbiIsImhhbmRsZUNsaWNrQWN0aW9uIiwiaWQiLCJsZW5ndGgiLCJvbkNoYW5nZSIsImh0bWxGb3IiLCJzcGVsbENoZWNrIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9UZWFtRGV0YWlsc01vZGFsL1RlYW1EZXRhaWxzTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAcHJvamVjdGNvci9pbnB1dC9saWInXG5pbXBvcnQgeyBDVVNlbGVjdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3NlbGVjdG9yL2xpYi9jb21wb25lbnRzL0NVU2VsZWN0J1xuaW1wb3J0IHsgVGVhbURldGFpbHNNb2RhbFByb3BzIH0gZnJvbSAnLi9UZWFtRGV0YWlsc01vZGFsLnR5cGVzJ1xuaW1wb3J0IHsgTWVtYmVyc1NlbGVjdCB9IGZyb20gJy4vTWVtYmVyc1NlbGVjdCdcbmltcG9ydCB7XG4gIFNDVERNT3ZlcmxheSxcbiAgU0NURE1Db250YWluZXIsXG4gIFNDVERNSGVhZGVyLFxuICBTQ1RETVRpdGxlLFxuICBTQ1RETUNsb3NlQnV0dG9uLFxuICBTQ1RETUNvbnRlbnQsXG4gIFNDVERNU2VjdGlvbixcbiAgU0NURE1TZWN0aW9uTGFiZWwsXG4gIFNDVERNU2VjdGlvblZhbHVlLFxuICBTQ1RETVVzZXJzTGlzdCxcbiAgU0NURE1Xb3Jrc3BhY2VUYWcsXG4gIFNDVERNQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NCYWNrZHJvcElucHV0U2VsZWN0LFxuICBTQ0NVSXRlbXNMaXN0LFxuICBTQ0NVU2VsZWN0SXRlbSxcbiAgU0NXcmFwcGVyVGV4dEFyZWEsXG4gIFNDVGV4dEFyZWFMYWJlbCxcbiAgU0NUZXh0QXJlYSxcbiAgU0NXcmFwcGVyU2VsZWN0SWNvbixcbn0gZnJvbSAnLi9UZWFtRGV0YWlsc01vZGFsLnN0eWxlcydcblxuZXhwb3J0IGNvbnN0IFRlYW1EZXRhaWxzTW9kYWwgPSAoe1xuICB0ZWFtLFxuICBpc09wZW4sXG4gIG9uQ2xvc2UsXG4gIG9uRWRpdCxcbiAgb25DcmVhdGUsXG4gIG1vZGUgPSAndmlldycsXG4gIHdvcmtzcGFjZXNMaXN0LFxuICBtZW1iZXJzTGlzdCA9IFtdLFxufTogVGVhbURldGFpbHNNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IFtpc0VkaXRNb2RlLCBzZXRJc0VkaXRNb2RlXSA9IHVzZVN0YXRlKG1vZGUgPT09ICdlZGl0JyB8fCBtb2RlID09PSAnY3JlYXRlJylcbiAgY29uc3QgW2Zvcm1EYXRhLCBzZXRGb3JtRGF0YV0gPSB1c2VTdGF0ZSh7XG4gICAgbmFtZTogJycsXG4gICAgd29ya3NwYWNlOiAnJyxcbiAgICBtZW1iZXJzOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gIH0pXG4gIGNvbnN0IFtzaG93U2VsZWN0V29ya3NwYWNlLCBzZXRTaG93U2VsZWN0V29ya3NwYWNlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCd0ZWFtcycpXG5cbiAgY29uc3QgaXNDcmVhdGVNb2RlID0gbW9kZSA9PT0gJ2NyZWF0ZSdcbiAgY29uc3QgaXNWaWV3TW9kZSA9IG1vZGUgPT09ICd2aWV3JyAmJiAhaXNFZGl0TW9kZVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRlYW0gJiYgIWlzQ3JlYXRlTW9kZSkge1xuICAgICAgc2V0Rm9ybURhdGEoe1xuICAgICAgICBuYW1lOiB0ZWFtLm5hbWUsXG4gICAgICAgIHdvcmtzcGFjZTogdGVhbS53b3Jrc3BhY2UsXG4gICAgICAgIG1lbWJlcnM6IHRlYW0udXNlcnMubWFwKHVzZXIgPT4gYCR7dXNlci5maXJzdE5hbWV9ICR7dXNlci5sYXN0TmFtZX1gKS5qb2luKCcgLSAnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRlYW0uZGVzY3JpcHRpb24sXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoaXNDcmVhdGVNb2RlKSB7XG4gICAgICAvLyBSZXNldGVhciBmb3JtdWxhcmlvIHBhcmEgY3JlYXJcbiAgICAgIHNldEZvcm1EYXRhKHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHdvcmtzcGFjZTogJycsXG4gICAgICAgIG1lbWJlcnM6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW3RlYW0sIGlzQ3JlYXRlTW9kZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTaSBjYW1iaWEgZWwgbW9kbywgYWp1c3RhciBpc0VkaXRNb2RlXG4gICAgc2V0SXNFZGl0TW9kZShtb2RlID09PSAnZWRpdCcgfHwgbW9kZSA9PT0gJ2NyZWF0ZScpXG4gIH0sIFttb2RlXSlcblxuICBpZiAoIWlzT3BlbikgcmV0dXJuIG51bGxcbiAgaWYgKGlzVmlld01vZGUgJiYgIXRlYW0pIHJldHVybiBudWxsXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICBzZXRJc0VkaXRNb2RlKGZhbHNlKVxuICAgIHNldEZvcm1EYXRhKHtcbiAgICAgIG5hbWU6ICcnLFxuICAgICAgd29ya3NwYWNlOiAnJyxcbiAgICAgIG1lbWJlcnM6ICcnLFxuICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgIH0pXG4gICAgb25DbG9zZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVPdmVybGF5Q2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCAmJiAhaXNFZGl0TW9kZSkge1xuICAgICAgaGFuZGxlQ2xvc2VNb2RhbCgpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgZm9ybWF0VXNlcnMgPSAoKSA9PiB7XG4gICAgaWYgKCF0ZWFtKSByZXR1cm4gJydcbiAgICByZXR1cm4gdGVhbS51c2Vycy5tYXAodXNlciA9PiBgJHt1c2VyLmZpcnN0TmFtZX0gJHt1c2VyLmxhc3ROYW1lfWApLmpvaW4oJyAtICcpXG4gIH1cblxuICBjb25zdCBoYW5kbGVFZGl0Q2xpY2sgPSAoKSA9PiB7XG4gICAgc2V0SXNFZGl0TW9kZSh0cnVlKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2FuY2VsRWRpdCA9ICgpID0+IHtcbiAgICBpZiAoaXNDcmVhdGVNb2RlKSB7XG4gICAgICBoYW5kbGVDbG9zZU1vZGFsKClcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SXNFZGl0TW9kZShmYWxzZSlcbiAgICAgIC8vIFJlc3RhdXJhciB2YWxvcmVzIG9yaWdpbmFsZXNcbiAgICAgIGlmICh0ZWFtKSB7XG4gICAgICAgIHNldEZvcm1EYXRhKHtcbiAgICAgICAgICBuYW1lOiB0ZWFtLm5hbWUsXG4gICAgICAgICAgd29ya3NwYWNlOiB0ZWFtLndvcmtzcGFjZSxcbiAgICAgICAgICBtZW1iZXJzOiB0ZWFtLnVzZXJzLm1hcCh1c2VyID0+IGAke3VzZXIuZmlyc3ROYW1lfSAke3VzZXIubGFzdE5hbWV9YCkuam9pbignIC0gJyksXG4gICAgICAgICAgZGVzY3JpcHRpb246IHRlYW0uZGVzY3JpcHRpb24sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2F2ZSA9ICgpID0+IHtcbiAgICBpZiAoaXNDcmVhdGVNb2RlICYmIG9uQ3JlYXRlKSB7XG4gICAgICBvbkNyZWF0ZSgpXG4gICAgfSBlbHNlIGlmIChvbkVkaXQpIHtcbiAgICAgIG9uRWRpdCgpXG4gICAgfVxuICAgIHNldElzRWRpdE1vZGUoZmFsc2UpXG4gICAgaWYgKGlzQ3JlYXRlTW9kZSkge1xuICAgICAgaGFuZGxlQ2xvc2VNb2RhbCgpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlSW5wdXRDaGFuZ2UgPSAoZmllbGQ6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4ge1xuICAgIHNldEZvcm1EYXRhKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBbZmllbGRdOiB2YWx1ZSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGdldE1vZGFsVGl0bGUgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ3JlYXRlTW9kZSkgcmV0dXJuIHQoJ3RlYW1zLm1vZGFsLmNyZWF0ZVRpdGxlJylcbiAgICBpZiAoaXNFZGl0TW9kZSkgcmV0dXJuIHQoJ3RlYW1zLm1vZGFsLmVkaXRUaXRsZScpXG4gICAgcmV0dXJuIHRlYW0/Lm5hbWUgfHwgJydcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDVERNT3ZlcmxheSBvbkNsaWNrPXtoYW5kbGVPdmVybGF5Q2xpY2t9PlxuICAgICAgPFNDVERNQ29udGFpbmVyPlxuICAgICAgICA8U0NURE1IZWFkZXI+XG4gICAgICAgICAgPFNDVERNVGl0bGU+e2dldE1vZGFsVGl0bGUoKX08L1NDVERNVGl0bGU+XG4gICAgICAgICAgPFNDVERNQ2xvc2VCdXR0b24gb25DbGljaz17aGFuZGxlQ2xvc2VNb2RhbH0+XG4gICAgICAgICAgICA8Q3Jvc3Mgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cIiNBNEFEQjVcIiAvPlxuICAgICAgICAgIDwvU0NURE1DbG9zZUJ1dHRvbj5cbiAgICAgICAgPC9TQ1RETUhlYWRlcj5cblxuICAgICAgICB7aXNWaWV3TW9kZSAmJiB0ZWFtID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8U0NURE1Db250ZW50PlxuICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb25MYWJlbD57dCgndGVhbXMubW9kYWwudXNlcnNMYWJlbCcpfTwvU0NURE1TZWN0aW9uTGFiZWw+XG4gICAgICAgICAgICAgICAgPFNDVERNU2VjdGlvblZhbHVlPlxuICAgICAgICAgICAgICAgICAgPFNDVERNVXNlcnNMaXN0Pntmb3JtYXRVc2VycygpfTwvU0NURE1Vc2Vyc0xpc3Q+XG4gICAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb25WYWx1ZT5cbiAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb24+XG5cbiAgICAgICAgICAgICAge3dpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiAoXG4gICAgICAgICAgICAgICAgPFNDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb25MYWJlbD57dCgndGVhbXMubW9kYWwud29ya3NwYWNlc0xhYmVsJyl9PC9TQ1RETVNlY3Rpb25MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb25WYWx1ZT5cbiAgICAgICAgICAgICAgICAgICAgPFNDVERNV29ya3NwYWNlVGFnPnt0ZWFtLndvcmtzcGFjZX08L1NDVERNV29ya3NwYWNlVGFnPlxuICAgICAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb25WYWx1ZT5cbiAgICAgICAgICAgICAgICA8L1NDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7IXdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiAoXG4gICAgICAgICAgICAgICAgPFNDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb25MYWJlbD57dCgndGVhbXMubW9kYWwuZGVzY3JpcHRpb25MYWJlbCcpfTwvU0NURE1TZWN0aW9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uVmFsdWU+e3RlYW0uZGVzY3JpcHRpb259PC9TQ1RETVNlY3Rpb25WYWx1ZT5cbiAgICAgICAgICAgICAgICA8L1NDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NURE1Db250ZW50PlxuXG4gICAgICAgICAgICA8U0NURE1CdXR0b25zQ29udGFpbmVyPlxuICAgICAgICAgICAgICA8Q1VCdXR0b24gdmFyaWFudD1cImNvbnRhaW5lZFwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtoYW5kbGVFZGl0Q2xpY2t9PlxuICAgICAgICAgICAgICAgIHt0KCd0ZWFtcy5tb2RhbC5lZGl0QnV0dG9uJyl9XG4gICAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICAgIDxDVUJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgICB7dCgndGVhbXMuY2FuY2VsJyl9XG4gICAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICA8L1NDVERNQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDVERNQ29udGVudD5cbiAgICAgICAgICAgICAgPFNDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgIGxhYmVsVGV4dD17dCgndGVhbXMubW9kYWwubmFtZUxhYmVsJyl9XG4gICAgICAgICAgICAgICAgICB3aXRoQ291bnRlcj17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEubmFtZX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCd0ZWFtcy5tb2RhbC5uYW1lUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNldFRleHQ9e3ZhbHVlID0+IGhhbmRsZUlucHV0Q2hhbmdlKCduYW1lJywgdmFsdWUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uPlxuXG4gICAgICAgICAgICAgIHt3aW5kb3cuaGFzV29ya3NwYWNlc0ZlYXR1cmUgJiYgKFxuICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8Q1VTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3QoJ3RlYW1zLm1vZGFsLndvcmtzcGFjZVRpdGxlJyl9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCd0ZWFtcy5tb2RhbC53b3Jrc3BhY2VQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgICAgICBlbmRJY29uPXtcbiAgICAgICAgICAgICAgICAgICAgICA8U0NXcmFwcGVyU2VsZWN0SWNvbiBpc09wZW49e3Nob3dTZWxlY3RXb3Jrc3BhY2V9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPVwiMTZweFwiIGhlaWdodD1cIjE2cHhcIiBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NXcmFwcGVyU2VsZWN0SWNvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEud29ya3NwYWNlfVxuICAgICAgICAgICAgICAgICAgICBvcGVuPXtzaG93U2VsZWN0V29ya3NwYWNlfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGlja0FjdGlvbj17KCkgPT4gc2V0U2hvd1NlbGVjdFdvcmtzcGFjZSghc2hvd1NlbGVjdFdvcmtzcGFjZSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0JhY2tkcm9wSW5wdXRTZWxlY3Qgb25DbGljaz17KCkgPT4gc2V0U2hvd1NlbGVjdFdvcmtzcGFjZShmYWxzZSl9IC8+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NVSXRlbXNMaXN0PlxuICAgICAgICAgICAgICAgICAgICAgIHt3b3Jrc3BhY2VzTGlzdC5tYXAod29ya3NwYWNlID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NVU2VsZWN0SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3dvcmtzcGFjZS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlSW5wdXRDaGFuZ2UoJ3dvcmtzcGFjZScsIHdvcmtzcGFjZS5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3dvcmtzcGFjZS5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ0NVU2VsZWN0SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NVSXRlbXNMaXN0PlxuICAgICAgICAgICAgICAgICAgPC9DVVNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L1NDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxNZW1iZXJzU2VsZWN0XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEubWVtYmVyc31cbiAgICAgICAgICAgICAgICAgIG1lbWJlcnNMaXN0PXttZW1iZXJzTGlzdC5sZW5ndGggPiAwID8gbWVtYmVyc0xpc3QgOiB0ZWFtPy51c2VycyB8fCBbXX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt2YWx1ZSA9PiBoYW5kbGVJbnB1dENoYW5nZSgnbWVtYmVycycsIHZhbHVlKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDVERNU2VjdGlvbj5cblxuICAgICAgICAgICAgICB7IXdpbmRvdy5oYXNXb3Jrc3BhY2VzRmVhdHVyZSAmJiAoXG4gICAgICAgICAgICAgICAgPFNDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxTQ1dyYXBwZXJUZXh0QXJlYT5cbiAgICAgICAgICAgICAgICAgICAgPFNDVGV4dEFyZWFMYWJlbCBodG1sRm9yPVwibXlUZXh0YXJlYVwiPnt0KCd0ZWFtcy5tb2RhbC5kZXNjcmlwdGlvbkxhYmVsJyl9PC9TQ1RleHRBcmVhTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1RleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1EYXRhLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGhhbmRsZUlucHV0Q2hhbmdlKCdkZXNjcmlwdGlvbicsIGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgICAgICBzcGVsbENoZWNrPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dCgndGVhbXMubW9kYWwuZGVzY3JpcHRpb25QbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwibXlUZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDV3JhcHBlclRleHRBcmVhPlxuICAgICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ1RETUNvbnRlbnQ+XG5cbiAgICAgICAgICAgIDxTQ1RETUJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgICAgIDxDVUJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtoYW5kbGVDYW5jZWxFZGl0fT5cbiAgICAgICAgICAgICAgICB7dCgndGVhbXMuY2FuY2VsJyl9XG4gICAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICAgIDxDVUJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2hhbmRsZVNhdmV9IHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogJyM2NjY2NjYnIH19PlxuICAgICAgICAgICAgICAgIHtpc0NyZWF0ZU1vZGUgPyB0KCd0ZWFtcy5jcmVhdGVUZWFtJykgOiB0KCd0ZWFtcy5zYXZlQ2hhbmdlcycpfVxuICAgICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgICAgPC9TQ1RETUJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1NDVERNQ29udGFpbmVyPlxuICAgIDwvU0NURE1PdmVybGF5PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDbEQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsUUFBUSxR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
|
|
275
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlVHJhbnNsYXRpb24iLCJDVUJ1dHRvbiIsIkNyb3NzIiwiQ2hldnJvbkRvd24iLCJJbnB1dCIsIkNVU2VsZWN0IiwiU0NURE1PdmVybGF5IiwiU0NURE1Db250YWluZXIiLCJTQ1RETUhlYWRlciIsIlNDVERNVGl0bGUiLCJTQ1RETUNsb3NlQnV0dG9uIiwiU0NURE1Db250ZW50IiwiU0NURE1TZWN0aW9uIiwiU0NURE1TZWN0aW9uTGFiZWwiLCJTQ1RETVNlY3Rpb25WYWx1ZSIsIlNDVERNVXNlcnNMaXN0IiwiU0NURE1Xb3Jrc3BhY2VUYWciLCJTQ1RETUJ1dHRvbnNDb250YWluZXIiLCJTQ0JhY2tkcm9wSW5wdXRTZWxlY3QiLCJTQ0NVSXRlbXNMaXN0IiwiU0NDVVNlbGVjdEl0ZW0iLCJTQ1dyYXBwZXJUZXh0QXJlYSIsIlNDVGV4dEFyZWFMYWJlbCIsIlNDVGV4dEFyZWEiLCJTQ1RleHRBcmVhQ291bnRlciIsIlNDV3JhcHBlclNlbGVjdEljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJUZWFtRGV0YWlsc01vZGFsIiwiX3JlZiIsIl9mb3JtRGF0YSR3b3Jrc3BhY2UiLCJ0ZWFtIiwiaXNPcGVuIiwib25DbG9zZSIsIm9uRWRpdCIsIm9uQ3JlYXRlIiwiX3JlZiRtb2RlIiwibW9kZSIsIndvcmtzcGFjZXNMaXN0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFZGl0TW9kZSIsInNldElzRWRpdE1vZGUiLCJfdXNlU3RhdGUzIiwibmFtZSIsIndvcmtzcGFjZSIsIm1lbWJlcnMiLCJkZXNjcmlwdGlvbiIsIl91c2VTdGF0ZTQiLCJmb3JtRGF0YSIsInNldEZvcm1EYXRhIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93U2VsZWN0V29ya3NwYWNlIiwic2V0U2hvd1NlbGVjdFdvcmtzcGFjZSIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJpZCIsInVzZXJzIiwibWFwIiwidXNlciIsImNvbmNhdCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiaGFuZGxlQ2xvc2VNb2RhbCIsImhhbmRsZU92ZXJsYXlDbGljayIsImUiLCJ0YXJnZXQiLCJjdXJyZW50VGFyZ2V0IiwiZm9ybWF0VXNlcnMiLCJqb2luIiwiaGFuZGxlRWRpdENsaWNrIiwiaGFuZGxlQ2FuY2VsRWRpdCIsImhhbmRsZVNhdmUiLCJoYW5kbGVJbnB1dENoYW5nZSIsImZpZWxkIiwidmFsdWUiLCJwcmV2IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE1vZGFsVGl0bGUiLCJpc0Zvcm1Db21wbGV0ZSIsIndpbmRvdyIsImhhc1dvcmtzcGFjZXNGZWF0dXJlIiwidHJpbSIsImxlbmd0aCIsImlzVmlld01vZGUiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwidmFyaWFudCIsInNpemUiLCJsYWJlbFRleHQiLCJ3aXRoQ291bnRlciIsIm1heExlbmd0aCIsInBsYWNlaG9sZGVyIiwiaGFuZGxlU2V0VGV4dCIsImhhc0Vycm9yIiwiZXJyb3JNZXNzYWdlIiwidGl0bGUiLCJlbmRJY29uIiwib3BlbiIsImhhbmRsZUNsaWNrQWN0aW9uIiwiaHRtbEZvciIsIm9uQ2hhbmdlIiwic3BlbGxDaGVjayIsImRpc2FibGVkIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9UZWFtRGV0YWlsc01vZGFsL1RlYW1EZXRhaWxzTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAcHJvamVjdGNvci9pbnB1dC9saWInXG5pbXBvcnQgeyBDVVNlbGVjdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3NlbGVjdG9yL2xpYi9jb21wb25lbnRzL0NVU2VsZWN0J1xuaW1wb3J0IHsgVGVhbURldGFpbHNNb2RhbFByb3BzLCBGb3JtRGF0YSwgV29ya3NwYWNlIH0gZnJvbSAnLi9UZWFtRGV0YWlsc01vZGFsLnR5cGVzJ1xuaW1wb3J0IHsgTWVtYmVyU2VsZWN0aW9uIH0gZnJvbSAnLi9NZW1iZXJzU2VsZWN0J1xuaW1wb3J0IHtcbiAgU0NURE1PdmVybGF5LFxuICBTQ1RETUNvbnRhaW5lcixcbiAgU0NURE1IZWFkZXIsXG4gIFNDVERNVGl0bGUsXG4gIFNDVERNQ2xvc2VCdXR0b24sXG4gIFNDVERNQ29udGVudCxcbiAgU0NURE1TZWN0aW9uLFxuICBTQ1RETVNlY3Rpb25MYWJlbCxcbiAgU0NURE1TZWN0aW9uVmFsdWUsXG4gIFNDVERNVXNlcnNMaXN0LFxuICBTQ1RETVdvcmtzcGFjZVRhZyxcbiAgU0NURE1CdXR0b25zQ29udGFpbmVyLFxuICBTQ0JhY2tkcm9wSW5wdXRTZWxlY3QsXG4gIFNDQ1VJdGVtc0xpc3QsXG4gIFNDQ1VTZWxlY3RJdGVtLFxuICBTQ1dyYXBwZXJUZXh0QXJlYSxcbiAgU0NUZXh0QXJlYUxhYmVsLFxuICBTQ1RleHRBcmVhLFxuICBTQ1RleHRBcmVhQ291bnRlcixcbiAgU0NXcmFwcGVyU2VsZWN0SWNvbixcbn0gZnJvbSAnLi9UZWFtRGV0YWlsc01vZGFsLnN0eWxlcydcblxuZXhwb3J0IGNvbnN0IFRlYW1EZXRhaWxzTW9kYWwgPSAoe1xuICB0ZWFtLFxuICBpc09wZW4sXG4gIG9uQ2xvc2UsXG4gIG9uRWRpdCxcbiAgb25DcmVhdGUsXG4gIG1vZGUgPSAndmlldycsXG4gIHdvcmtzcGFjZXNMaXN0LFxufTogVGVhbURldGFpbHNNb2RhbFByb3BzKSA9PiB7XG4gIGNvbnN0IFtpc0VkaXRNb2RlLCBzZXRJc0VkaXRNb2RlXSA9IHVzZVN0YXRlKG1vZGUgPT09ICdlZGl0JyB8fCBtb2RlID09PSAnY3JlYXRlJylcbiAgY29uc3QgW2Zvcm1EYXRhLCBzZXRGb3JtRGF0YV0gPSB1c2VTdGF0ZTxGb3JtRGF0YT4oe1xuICAgIG5hbWU6ICcnLFxuICAgIHdvcmtzcGFjZTogbnVsbCxcbiAgICBtZW1iZXJzOiBbXSxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gIH0pXG4gIGNvbnN0IFtzaG93U2VsZWN0V29ya3NwYWNlLCBzZXRTaG93U2VsZWN0V29ya3NwYWNlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCd0ZWFtcycpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTaSBjYW1iaWEgZWwgbW9kbywgYWp1c3RhciBpc0VkaXRNb2RlXG4gICAgc2V0SXNFZGl0TW9kZShtb2RlID09PSAnZWRpdCcgfHwgbW9kZSA9PT0gJ2NyZWF0ZScpXG4gIH0sIFttb2RlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAvLyBSZXNldGVhciBjdWFuZG8gZWwgbW9kYWwgc2UgY2llcnJhXG4gICAgICBzZXRGb3JtRGF0YSh7XG4gICAgICAgIG5hbWU6ICcnLFxuICAgICAgICB3b3Jrc3BhY2U6IG51bGwsXG4gICAgICAgIG1lbWJlcnM6IFtdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKG1vZGUgPT09ICdjcmVhdGUnKSB7XG4gICAgICAvLyBSZXNldGVhciBmb3JtdWxhcmlvIHBhcmEgY3JlYXJcbiAgICAgIHNldEZvcm1EYXRhKHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHdvcmtzcGFjZTogbnVsbCxcbiAgICAgICAgbWVtYmVyczogW10sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmICh0ZWFtKSB7XG4gICAgICAvLyBBY3R1YWxpemFyIGZvcm11bGFyaW8gY3VhbmRvIGhheSB1biBlcXVpcG8gKG1vZG8gdmlldyBvIGVkaXQpXG4gICAgICBzZXRGb3JtRGF0YSh7XG4gICAgICAgIG5hbWU6IHRlYW0ubmFtZSB8fCAnJyxcbiAgICAgICAgd29ya3NwYWNlOiB0ZWFtLndvcmtzcGFjZSA/IHsgaWQ6IHRlYW0ud29ya3NwYWNlLmlkLCBuYW1lOiB0ZWFtLndvcmtzcGFjZS5uYW1lIH0gOiBudWxsLFxuICAgICAgICBtZW1iZXJzOiB0ZWFtLnVzZXJzLm1hcCh1c2VyID0+ICh7IGlkOiB1c2VyLmlkLCBuYW1lOiBgJHt1c2VyLmZpcnN0TmFtZX0gJHt1c2VyLmxhc3ROYW1lfWAgfSkpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGVhbS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pXG4gICAgfVxuICB9LCBbdGVhbSwgbW9kZSwgaXNPcGVuXSlcblxuICBpZiAoIWlzT3BlbikgcmV0dXJuIG51bGxcbiAgaWYgKG1vZGUgPT09ICd2aWV3JyAmJiAhaXNFZGl0TW9kZSAmJiAhdGVhbSkgcmV0dXJuIG51bGxcblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzRWRpdE1vZGUoZmFsc2UpXG4gICAgc2V0Rm9ybURhdGEoe1xuICAgICAgbmFtZTogJycsXG4gICAgICB3b3Jrc3BhY2U6IG51bGwsXG4gICAgICBtZW1iZXJzOiBbXSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB9KVxuICAgIG9uQ2xvc2UoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3ZlcmxheUNsaWNrID0gKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUudGFyZ2V0ID09PSBlLmN1cnJlbnRUYXJnZXQgJiYgIWlzRWRpdE1vZGUpIHtcbiAgICAgIGhhbmRsZUNsb3NlTW9kYWwoKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGZvcm1hdFVzZXJzID0gKCkgPT4ge1xuICAgIGlmICghdGVhbSkgcmV0dXJuICcnXG4gICAgcmV0dXJuIHRlYW0udXNlcnMubWFwKHVzZXIgPT4gYCR7dXNlci5maXJzdE5hbWV9ICR7dXNlci5sYXN0TmFtZX1gKS5qb2luKCcgLSAnKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRWRpdENsaWNrID0gKCkgPT4ge1xuICAgIHNldElzRWRpdE1vZGUodHJ1ZSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNhbmNlbEVkaXQgPSAoKSA9PiB7XG4gICAgaGFuZGxlQ2xvc2VNb2RhbCgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVTYXZlID0gKCkgPT4ge1xuICAgIGlmIChtb2RlID09PSAnY3JlYXRlJyAmJiBvbkNyZWF0ZSkge1xuICAgICAgb25DcmVhdGUoZm9ybURhdGEpXG4gICAgfSBlbHNlIGlmIChvbkVkaXQpIHtcbiAgICAgIG9uRWRpdChmb3JtRGF0YSlcbiAgICB9XG4gICAgc2V0SXNFZGl0TW9kZShmYWxzZSlcbiAgICBpZiAobW9kZSA9PT0gJ2NyZWF0ZScpIHtcbiAgICAgIGhhbmRsZUNsb3NlTW9kYWwoKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUlucHV0Q2hhbmdlID0gKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBXb3Jrc3BhY2UgfCBudWxsIHwgTWVtYmVyU2VsZWN0aW9uW10pID0+IHtcbiAgICBzZXRGb3JtRGF0YShwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgW2ZpZWxkXTogdmFsdWUsXG4gICAgfSkpXG4gIH1cblxuICBjb25zdCBnZXRNb2RhbFRpdGxlID0gKCkgPT4ge1xuICAgIGlmIChtb2RlID09PSAnY3JlYXRlJykgcmV0dXJuIHQoJ3RlYW1zLm1vZGFsLmNyZWF0ZVRpdGxlJylcbiAgICBpZiAoaXNFZGl0TW9kZSkgcmV0dXJuIHQoJ3RlYW1zLm1vZGFsLmVkaXRUaXRsZScpXG4gICAgcmV0dXJuIHRlYW0/Lm5hbWUgfHwgJydcbiAgfVxuXG4gIGNvbnN0IGlzRm9ybUNvbXBsZXRlID0gd2luZG93Lmhhc1dvcmtzcGFjZXNGZWF0dXJlXG4gICAgPyBmb3JtRGF0YS5uYW1lLnRyaW0oKS5sZW5ndGggPiAwICYmIGZvcm1EYXRhLndvcmtzcGFjZSAhPT0gbnVsbFxuICAgIDogZm9ybURhdGEubmFtZS50cmltKCkubGVuZ3RoID4gMFxuXG4gIGNvbnN0IGlzVmlld01vZGUgPSBtb2RlID09PSAndmlldycgJiYgIWlzRWRpdE1vZGVcblxuICByZXR1cm4gKFxuICAgIDxTQ1RETU92ZXJsYXkgb25DbGljaz17aGFuZGxlT3ZlcmxheUNsaWNrfT5cbiAgICAgIDxTQ1RETUNvbnRhaW5lcj5cbiAgICAgICAgPFNDVERNSGVhZGVyPlxuICAgICAgICAgIDxTQ1RETVRpdGxlPntnZXRNb2RhbFRpdGxlKCl9PC9TQ1RETVRpdGxlPlxuICAgICAgICAgIDxTQ1RETUNsb3NlQnV0dG9uIG9uQ2xpY2s9e2hhbmRsZUNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgPENyb3NzIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjQTRBREI1XCIgLz5cbiAgICAgICAgICA8L1NDVERNQ2xvc2VCdXR0b24+XG4gICAgICAgIDwvU0NURE1IZWFkZXI+XG5cbiAgICAgICAge2lzVmlld01vZGUgJiYgdGVhbSA/IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDVERNQ29udGVudD5cbiAgICAgICAgICAgICAgPFNDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uTGFiZWw+e3QoJ3RlYW1zLm1vZGFsLnVzZXJzTGFiZWwnKX08L1NDVERNU2VjdGlvbkxhYmVsPlxuICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb25WYWx1ZT5cbiAgICAgICAgICAgICAgICAgIDxTQ1RETVVzZXJzTGlzdD57Zm9ybWF0VXNlcnMoKX08L1NDVERNVXNlcnNMaXN0PlxuICAgICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uVmFsdWU+XG4gICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uPlxuXG4gICAgICAgICAgICAgIHt3aW5kb3cuaGFzV29ya3NwYWNlc0ZlYXR1cmUgJiYgKFxuICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uTGFiZWw+e3QoJ3RlYW1zLm1vZGFsLndvcmtzcGFjZXNMYWJlbCcpfTwvU0NURE1TZWN0aW9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uVmFsdWU+XG4gICAgICAgICAgICAgICAgICAgIHt0ZWFtLndvcmtzcGFjZSA/IDxTQ1RETVdvcmtzcGFjZVRhZz57dGVhbS53b3Jrc3BhY2UubmFtZX08L1NDVERNV29ya3NwYWNlVGFnPiA6ICctJ31cbiAgICAgICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uVmFsdWU+XG4gICAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgeyF3aW5kb3cuaGFzV29ya3NwYWNlc0ZlYXR1cmUgJiYgKFxuICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uTGFiZWw+e3QoJ3RlYW1zLm1vZGFsLmRlc2NyaXB0aW9uTGFiZWwnKX08L1NDVERNU2VjdGlvbkxhYmVsPlxuICAgICAgICAgICAgICAgICAgPFNDVERNU2VjdGlvblZhbHVlPnt0ZWFtLmRlc2NyaXB0aW9uIHx8ICctJ308L1NDVERNU2VjdGlvblZhbHVlPlxuICAgICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ1RETUNvbnRlbnQ+XG5cbiAgICAgICAgICAgIDxTQ1RETUJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgICAgIDxDVUJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgICB7dCgndGVhbXMuY2FuY2VsJyl9XG4gICAgICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAgICAgIHshd2luZG93Lmhhc1dvcmtzcGFjZXNGZWF0dXJlICYmIChcbiAgICAgICAgICAgICAgICA8Q1VCdXR0b24gdmFyaWFudD1cImNvbnRhaW5lZFwiIHNpemU9XCJtZWRpdW1cIiBvbkNsaWNrPXtoYW5kbGVFZGl0Q2xpY2t9PlxuICAgICAgICAgICAgICAgICAge3QoJ3RlYW1zLm1vZGFsLmVkaXRCdXR0b24nKX1cbiAgICAgICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ1RETUJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTQ1RETUNvbnRlbnQ+XG4gICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICBrZXk9e2B0ZWFtLW5hbWUtJHt0ZWFtPy5pZCB8fCAnbmV3J30tJHttb2RlfS0ke2lzT3Blbn1gfVxuICAgICAgICAgICAgICAgICAgbGFiZWxUZXh0PXt0KCd0ZWFtcy5tb2RhbC5uYW1lTGFiZWwnKX1cbiAgICAgICAgICAgICAgICAgIHdpdGhDb3VudGVyXG4gICAgICAgICAgICAgICAgICBtYXhMZW5ndGg9ezI1NX1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtRGF0YS5uYW1lIHx8ICh0ZWFtICYmIG1vZGUgPT09ICdlZGl0JyA/IHRlYW0ubmFtZSA6ICcnKX1cbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCd0ZWFtcy5tb2RhbC5uYW1lUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICAgIGhhbmRsZVNldFRleHQ9e3ZhbHVlID0+IGhhbmRsZUlucHV0Q2hhbmdlKCduYW1lJywgdmFsdWUpfVxuICAgICAgICAgICAgICAgICAgaGFzRXJyb3I9e2Zvcm1EYXRhLm5hbWUubGVuZ3RoID4gMjU1fVxuICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlPVwiRWwgbm9tYnJlIGRlbCBlcXVpcG8gbm8gcHVlZGUgdGVuZXIgbcOhcyBkZSAyNTUgY2FyYWN0ZXJlc1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb24+XG5cbiAgICAgICAgICAgICAgey8qIHttb2RlID09PSAnY3JlYXRlJyAmJiAoXG4gICAgICAgICAgICAgICAgPFNDVERNU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxNZW1iZXJzU2VsZWN0IHZhbHVlPXtmb3JtRGF0YS5tZW1iZXJzfSBvbkNoYW5nZT17aGFuZGxlSW5wdXRDaGFuZ2V9IC8+XG4gICAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICl9ICovfVxuXG4gICAgICAgICAgICAgIHt3aW5kb3cuaGFzV29ya3NwYWNlc0ZlYXR1cmUgJiYgKFxuICAgICAgICAgICAgICAgIDxTQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8Q1VTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3QoJ3RlYW1zLm1vZGFsLndvcmtzcGFjZVRpdGxlJyl9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCd0ZWFtcy5tb2RhbC53b3Jrc3BhY2VQbGFjZWhvbGRlcicpfVxuICAgICAgICAgICAgICAgICAgICBlbmRJY29uPXtcbiAgICAgICAgICAgICAgICAgICAgICA8U0NXcmFwcGVyU2VsZWN0SWNvbiBpc09wZW49e3Nob3dTZWxlY3RXb3Jrc3BhY2V9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPVwiMTZweFwiIGhlaWdodD1cIjE2cHhcIiBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NXcmFwcGVyU2VsZWN0SWNvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEud29ya3NwYWNlPy5uYW1lIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBvcGVuPXtzaG93U2VsZWN0V29ya3NwYWNlfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGlja0FjdGlvbj17KCkgPT4gc2V0U2hvd1NlbGVjdFdvcmtzcGFjZSghc2hvd1NlbGVjdFdvcmtzcGFjZSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0JhY2tkcm9wSW5wdXRTZWxlY3Qgb25DbGljaz17KCkgPT4gc2V0U2hvd1NlbGVjdFdvcmtzcGFjZShmYWxzZSl9IC8+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NVSXRlbXNMaXN0PlxuICAgICAgICAgICAgICAgICAgICAgIHt3b3Jrc3BhY2VzTGlzdC5tYXAod29ya3NwYWNlID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NVU2VsZWN0SXRlbSBrZXk9e3dvcmtzcGFjZS5pZH0gb25DbGljaz17KCkgPT4gaGFuZGxlSW5wdXRDaGFuZ2UoJ3dvcmtzcGFjZScsIHdvcmtzcGFjZSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7d29ya3NwYWNlLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDQ1VTZWxlY3RJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ1VJdGVtc0xpc3Q+XG4gICAgICAgICAgICAgICAgICA8L0NVU2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvU0NURE1TZWN0aW9uPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHshd2luZG93Lmhhc1dvcmtzcGFjZXNGZWF0dXJlICYmIChcbiAgICAgICAgICAgICAgICA8U0NURE1TZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPFNDV3JhcHBlclRleHRBcmVhPlxuICAgICAgICAgICAgICAgICAgICA8U0NUZXh0QXJlYUxhYmVsIGh0bWxGb3I9XCJteVRleHRhcmVhXCI+e3QoJ3RlYW1zLm1vZGFsLmRlc2NyaXB0aW9uTGFiZWwnKX08L1NDVGV4dEFyZWFMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPFNDVGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybURhdGEuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gaGFuZGxlSW5wdXRDaGFuZ2UoJ2Rlc2NyaXB0aW9uJywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgIHNwZWxsQ2hlY2s9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCd0ZWFtcy5tb2RhbC5kZXNjcmlwdGlvblBsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJteVRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgICAgICBtYXhMZW5ndGg9ezI1NX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPFNDVGV4dEFyZWFDb3VudGVyPntmb3JtRGF0YS5kZXNjcmlwdGlvbi5sZW5ndGh9IC8gMjU1PC9TQ1RleHRBcmVhQ291bnRlcj5cbiAgICAgICAgICAgICAgICAgIDwvU0NXcmFwcGVyVGV4dEFyZWE+XG4gICAgICAgICAgICAgICAgPC9TQ1RETVNlY3Rpb24+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDVERNQ29udGVudD5cblxuICAgICAgICAgICAgPFNDVERNQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPENVQnV0dG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgc2l6ZT1cIm1lZGl1bVwiIG9uQ2xpY2s9e2hhbmRsZUNhbmNlbEVkaXR9PlxuICAgICAgICAgICAgICAgIHt0KCd0ZWFtcy5jYW5jZWwnKX1cbiAgICAgICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc0Zvcm1Db21wbGV0ZX1cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiY29udGFpbmVkXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTYXZlfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogJyM2NjY2NjYnIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7bW9kZSA9PT0gJ2NyZWF0ZScgPyB0KCd0ZWFtcy5jcmVhdGVUZWFtJykgOiB0KCd0ZWFtcy5zYXZlQ2hhbmdlcycpfVxuICAgICAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgICAgPC9TQ1RETUJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1NDVERNQ29udGFpbmVyPlxuICAgIDwvU0NURE1PdmVybGF5PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDbEQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsUUFBUSxRQUFRLDRDQUE0QztBQUNyRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUM3QyxTQUFTQyxR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
|