studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1
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/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,84 +1,100 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// Only change the title when we have more than the default appName added to it.
|
|
22
|
-
if (!!mutations[0] && !!mutations[0].target.textContent && mutations[0].target.textContent !== appName) {
|
|
23
|
-
this.setState({ title: mutations[0].target.textContent });
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
this.shouldResetFocus = (oldPath, newPath) => {
|
|
27
|
-
// Path is the same or either parameter is not a path
|
|
28
|
-
if (!newPath || !oldPath || oldPath === newPath) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
for (const route of this.resetFocusIgnorePatterns) {
|
|
32
|
-
if (route.test(oldPath) && route.test(newPath)) {
|
|
33
|
-
// Both paths are sub-paths in the same page
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
// Paths are different and not in the same page
|
|
38
|
-
return true;
|
|
39
|
-
};
|
|
40
|
-
this.root = react_1.default.createRef();
|
|
41
|
-
this.titleObserver = new MutationObserver(this.onTitleChange);
|
|
42
|
-
this.state = {
|
|
43
|
-
title: undefined
|
|
44
|
-
};
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import React, { Component } from 'react';
|
|
3
|
+
import { withRouter } from 'react-router-dom';
|
|
4
|
+
import { getAppConfig } from '../../constants/configuration';
|
|
5
|
+
import { documentService } from '../../services/documentService';
|
|
6
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
export function setupAccessibleComponent(WrappedComponent) {
|
|
8
|
+
return class AccessibleComponent extends Component {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
_defineProperty(this, "root", void 0);
|
|
12
|
+
_defineProperty(this, "titleObserver", void 0);
|
|
13
|
+
_defineProperty(this, "resetFocusIgnorePatterns", [/\/help\/scoring-docs(\/.+)?$/, /\/courses\/\d+\/groupAssignments\/\d+\/scores(\/.+)?$/]);
|
|
14
|
+
_defineProperty(this, "onTitleChange", mutations => {
|
|
15
|
+
const appName = getAppConfig().APP_NAME;
|
|
16
|
+
// Only change the title when we have more than the default appName added to it.
|
|
17
|
+
if (!!mutations[0] && !!mutations[0].target.textContent && mutations[0].target.textContent !== appName) {
|
|
18
|
+
this.setState({
|
|
19
|
+
title: mutations[0].target.textContent
|
|
20
|
+
});
|
|
45
21
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
characterData: true,
|
|
52
|
-
childList: true
|
|
53
|
-
});
|
|
54
|
-
}
|
|
22
|
+
});
|
|
23
|
+
_defineProperty(this, "shouldResetFocus", (oldPath, newPath) => {
|
|
24
|
+
// Path is the same or either parameter is not a path
|
|
25
|
+
if (!newPath || !oldPath || oldPath === newPath) {
|
|
26
|
+
return false;
|
|
55
27
|
}
|
|
56
|
-
|
|
57
|
-
|
|
28
|
+
for (const route of this.resetFocusIgnorePatterns) {
|
|
29
|
+
if (route.test(oldPath) && route.test(newPath)) {
|
|
30
|
+
// Both paths are sub-paths in the same page
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
58
33
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
34
|
+
|
|
35
|
+
// Paths are different and not in the same page
|
|
36
|
+
return true;
|
|
37
|
+
});
|
|
38
|
+
this.root = /*#__PURE__*/React.createRef();
|
|
39
|
+
this.titleObserver = new MutationObserver(this.onTitleChange);
|
|
40
|
+
this.state = {
|
|
41
|
+
title: undefined
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
componentDidMount() {
|
|
45
|
+
const titleElement = document.querySelector('title');
|
|
46
|
+
if (titleElement) {
|
|
47
|
+
this.titleObserver.observe(titleElement, {
|
|
48
|
+
subtree: true,
|
|
49
|
+
characterData: true,
|
|
50
|
+
childList: true
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
componentWillUnmount() {
|
|
55
|
+
this.titleObserver.disconnect();
|
|
56
|
+
}
|
|
57
|
+
componentDidUpdate(prevProps) {
|
|
58
|
+
// Do not reset focus if the new route matches the same router path
|
|
59
|
+
if (this.shouldResetFocus(prevProps.location.pathname, this.props.location.pathname)) {
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
61
|
+
if (!!this.root && !!this.root.current) {
|
|
62
|
+
documentService.setActiveDocument(this.root.current);
|
|
67
63
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
render() {
|
|
67
|
+
const {
|
|
68
|
+
title
|
|
69
|
+
} = this.state;
|
|
70
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
71
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
72
|
+
className: "clip accessible-title",
|
|
73
|
+
"aria-live": "polite",
|
|
74
|
+
"aria-atomic": "true",
|
|
75
|
+
children: title
|
|
76
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
77
|
+
className: "outline-0 app-root",
|
|
78
|
+
ref: this.root,
|
|
79
|
+
tabIndex: -1,
|
|
80
|
+
children: /*#__PURE__*/_jsx(WrappedComponent, {
|
|
81
|
+
...this.props
|
|
82
|
+
})
|
|
83
|
+
})]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
73
87
|
}
|
|
88
|
+
|
|
74
89
|
/**
|
|
75
90
|
* Wrap around the main application to add support for resetting focus on page changes
|
|
76
91
|
* and reading title changes to screen reader users
|
|
77
92
|
*
|
|
78
93
|
* @param WrappedComponent - The root of your application UI components
|
|
79
94
|
*/
|
|
80
|
-
function accessibleAppComponent(WrappedComponent) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
95
|
+
export default function accessibleAppComponent(WrappedComponent) {
|
|
96
|
+
const component = setupAccessibleComponent(WrappedComponent);
|
|
97
|
+
// @ts-ignore: could not match inferred type from the HOC
|
|
98
|
+
return withRouter(component);
|
|
84
99
|
}
|
|
100
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsIndpdGhSb3V0ZXIiLCJnZXRBcHBDb25maWciLCJkb2N1bWVudFNlcnZpY2UiLCJqc3giLCJfanN4IiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3hzIiwiX2pzeHMiLCJzZXR1cEFjY2Vzc2libGVDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiQWNjZXNzaWJsZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJtdXRhdGlvbnMiLCJhcHBOYW1lIiwiQVBQX05BTUUiLCJ0YXJnZXQiLCJ0ZXh0Q29udGVudCIsInNldFN0YXRlIiwidGl0bGUiLCJvbGRQYXRoIiwibmV3UGF0aCIsInJvdXRlIiwicmVzZXRGb2N1c0lnbm9yZVBhdHRlcm5zIiwidGVzdCIsInJvb3QiLCJjcmVhdGVSZWYiLCJ0aXRsZU9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm9uVGl0bGVDaGFuZ2UiLCJzdGF0ZSIsInVuZGVmaW5lZCIsImNvbXBvbmVudERpZE1vdW50IiwidGl0bGVFbGVtZW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwib2JzZXJ2ZSIsInN1YnRyZWUiLCJjaGFyYWN0ZXJEYXRhIiwiY2hpbGRMaXN0IiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJkaXNjb25uZWN0IiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwic2hvdWxkUmVzZXRGb2N1cyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJjdXJyZW50Iiwic2V0QWN0aXZlRG9jdW1lbnQiLCJyZW5kZXIiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInJlZiIsInRhYkluZGV4IiwiYWNjZXNzaWJsZUFwcENvbXBvbmVudCIsImNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9BY2Nlc3NpYmxlQXBwQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50LCBDb21wb25lbnRUeXBlLCBSZWZPYmplY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IE9taXQgfSBmcm9tICdyZWFjdC1yb3V0ZXInXG5pbXBvcnQgeyBSb3V0ZUNvbXBvbmVudFByb3BzLCB3aXRoUm91dGVyIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IGdldEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWd1cmF0aW9uJ1xuaW1wb3J0IHsgZG9jdW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnRTZXJ2aWNlJ1xuXG5pbnRlcmZhY2UgQWNjZXNzaWJsZUNvbXBvbmVudFN0YXRlIHtcblx0dGl0bGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwQWNjZXNzaWJsZUNvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIFJvdXRlQ29tcG9uZW50UHJvcHM+XG4pOiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIFJvdXRlQ29tcG9uZW50UHJvcHM+IHtcblx0cmV0dXJuIGNsYXNzIEFjY2Vzc2libGVDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8VE93blByb3BzICYgUm91dGVDb21wb25lbnRQcm9wcywgQWNjZXNzaWJsZUNvbXBvbmVudFN0YXRlPiB7XG5cdFx0cmVhZG9ubHkgcm9vdDogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PlxuXHRcdHJlYWRvbmx5IHRpdGxlT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXJcblx0XHRyZXNldEZvY3VzSWdub3JlUGF0dGVybnMgPSBbXG5cdFx0XHQvXFwvaGVscFxcL3Njb3JpbmctZG9jcyhcXC8uKyk/JC8sXG5cdFx0XHQvXFwvY291cnNlc1xcL1xcZCtcXC9ncm91cEFzc2lnbm1lbnRzXFwvXFxkK1xcL3Njb3JlcyhcXC8uKyk/JC9cblx0XHRdXG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IFRPd25Qcm9wcyAmIFJvdXRlQ29tcG9uZW50UHJvcHMpIHtcblx0XHRcdHN1cGVyKHByb3BzKVxuXHRcdFx0dGhpcy5yb290ID0gUmVhY3QuY3JlYXRlUmVmKClcblx0XHRcdHRoaXMudGl0bGVPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKHRoaXMub25UaXRsZUNoYW5nZSlcblxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcblx0XHRcdFx0dGl0bGU6IHVuZGVmaW5lZFxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdFx0Y29uc3QgdGl0bGVFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGl0bGUnKVxuXHRcdFx0aWYgKHRpdGxlRWxlbWVudCkge1xuXHRcdFx0XHR0aGlzLnRpdGxlT2JzZXJ2ZXIub2JzZXJ2ZSh0aXRsZUVsZW1lbnQsIHtcblx0XHRcdFx0XHRzdWJ0cmVlOiB0cnVlLFxuXHRcdFx0XHRcdGNoYXJhY3RlckRhdGE6IHRydWUsXG5cdFx0XHRcdFx0Y2hpbGRMaXN0OiB0cnVlXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Y29tcG9uZW50V2lsbFVubW91bnQoKSB7XG5cdFx0XHR0aGlzLnRpdGxlT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG5cdFx0fVxuXG5cdFx0b25UaXRsZUNoYW5nZSA9IChtdXRhdGlvbnM6IE11dGF0aW9uUmVjb3JkW10pID0+IHtcblx0XHRcdGNvbnN0IGFwcE5hbWUgPSBnZXRBcHBDb25maWcoKS5BUFBfTkFNRVxuXHRcdFx0Ly8gT25seSBjaGFuZ2UgdGhlIHRpdGxlIHdoZW4gd2UgaGF2ZSBtb3JlIHRoYW4gdGhlIGRlZmF1bHQgYXBwTmFtZSBhZGRlZCB0byBpdC5cblx0XHRcdGlmICghIW11dGF0aW9uc1swXSAmJiAhIW11dGF0aW9uc1swXS50YXJnZXQudGV4dENvbnRlbnQgJiYgbXV0YXRpb25zWzBdLnRhcmdldC50ZXh0Q29udGVudCAhPT0gYXBwTmFtZSkge1xuXHRcdFx0XHR0aGlzLnNldFN0YXRlKHsgdGl0bGU6IG11dGF0aW9uc1swXS50YXJnZXQudGV4dENvbnRlbnQgfSlcblx0XHRcdH1cblx0XHR9XG5cdFx0c2hvdWxkUmVzZXRGb2N1cyA9IChvbGRQYXRoPzogc3RyaW5nLCBuZXdQYXRoPzogc3RyaW5nKSA9PiB7XG5cdFx0XHQvLyBQYXRoIGlzIHRoZSBzYW1lIG9yIGVpdGhlciBwYXJhbWV0ZXIgaXMgbm90IGEgcGF0aFxuXHRcdFx0aWYgKCFuZXdQYXRoIHx8ICFvbGRQYXRoIHx8IG9sZFBhdGggPT09IG5ld1BhdGgpIHtcblx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHR9XG5cblx0XHRcdGZvciAoY29uc3Qgcm91dGUgb2YgdGhpcy5yZXNldEZvY3VzSWdub3JlUGF0dGVybnMpIHtcblx0XHRcdFx0aWYgKHJvdXRlLnRlc3Qob2xkUGF0aCkgJiYgcm91dGUudGVzdChuZXdQYXRoKSkge1xuXHRcdFx0XHRcdC8vIEJvdGggcGF0aHMgYXJlIHN1Yi1wYXRocyBpbiB0aGUgc2FtZSBwYWdlXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gUGF0aHMgYXJlIGRpZmZlcmVudCBhbmQgbm90IGluIHRoZSBzYW1lIHBhZ2Vcblx0XHRcdHJldHVybiB0cnVlXG5cdFx0fVxuXG5cdFx0Y29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wczogUm91dGVDb21wb25lbnRQcm9wcykge1xuXHRcdFx0Ly8gRG8gbm90IHJlc2V0IGZvY3VzIGlmIHRoZSBuZXcgcm91dGUgbWF0Y2hlcyB0aGUgc2FtZSByb3V0ZXIgcGF0aFxuXHRcdFx0aWYgKHRoaXMuc2hvdWxkUmVzZXRGb2N1cyhwcmV2UHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHRoaXMucHJvcHMubG9jYXRpb24ucGF0aG5hbWUpKSB7XG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG5cdFx0XHRcdGlmICghIXRoaXMucm9vdCAmJiAhIXRoaXMucm9vdC5jdXJyZW50KSB7XG5cdFx0XHRcdFx0ZG9jdW1lbnRTZXJ2aWNlLnNldEFjdGl2ZURvY3VtZW50KHRoaXMucm9vdC5jdXJyZW50KVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmVuZGVyKCkge1xuXHRcdFx0Y29uc3QgeyB0aXRsZSB9ID0gdGhpcy5zdGF0ZVxuXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8PlxuXHRcdFx0XHRcdHsvKiBBbm5vdW5jZSBuZXcgc2NyZWVuIHRpdGxlcyB0byBzY3JlZW4gcmVhZGVycyBzaW1pbGFyIHRvIGxvYWRpbmcgYSBuZXcgcGFnZSAqL31cblx0XHRcdFx0XHQ8c3BhbiBjbGFzc05hbWU9XCJjbGlwIGFjY2Vzc2libGUtdGl0bGVcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBhcmlhLWF0b21pYz1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt0aXRsZX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJvdXRsaW5lLTAgYXBwLXJvb3RcIiByZWY9e3RoaXMucm9vdH0gdGFiSW5kZXg9ey0xfT5cblx0XHRcdFx0XHRcdDxXcmFwcGVkQ29tcG9uZW50IHsuLi50aGlzLnByb3BzfSAvPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8Lz5cblx0XHRcdClcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBXcmFwIGFyb3VuZCB0aGUgbWFpbiBhcHBsaWNhdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgcmVzZXR0aW5nIGZvY3VzIG9uIHBhZ2UgY2hhbmdlc1xuICogYW5kIHJlYWRpbmcgdGl0bGUgY2hhbmdlcyB0byBzY3JlZW4gcmVhZGVyIHVzZXJzXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgLSBUaGUgcm9vdCBvZiB5b3VyIGFwcGxpY2F0aW9uIFVJIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWNjZXNzaWJsZUFwcENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIFJvdXRlQ29tcG9uZW50UHJvcHM+XG4pOiBSZWFjdC5Db21wb25lbnRDbGFzczxcblx0T21pdDxUT3duUHJvcHMgJiBSb3V0ZUNvbXBvbmVudFByb3BzLCBrZXlvZiBSb3V0ZUNvbXBvbmVudFByb3BzPGFueT4+LFxuXHRBY2Nlc3NpYmxlQ29tcG9uZW50U3RhdGVcbj4ge1xuXHRjb25zdCBjb21wb25lbnQgPSBzZXR1cEFjY2Vzc2libGVDb21wb25lbnQoV3JhcHBlZENvbXBvbmVudClcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgSE9DXG5cdHJldHVybiB3aXRoUm91dGVyKGNvbXBvbmVudClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxRQUFrQyxPQUFPO0FBRWxFLFNBQThCQyxVQUFVLFFBQVEsa0JBQWtCO0FBQ2xFLFNBQVNDLFlBQVksUUFBUSwrQkFBK0I7QUFDNUQsU0FBU0MsZUFBZSxRQUFRLGdDQUFnQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBTWhFLE9BQU8sU0FBU0Msd0JBQXdCQSxDQUN2Q0MsZ0JBQWdFLEVBQ2Y7RUFDakQsT0FBTyxNQUFNQyxtQkFBbUIsU0FBU1osU0FBUyxDQUE0RDtJQU83R2EsV0FBV0EsQ0FBQ0MsS0FBc0MsRUFBRTtNQUNuRCxLQUFLLENBQUNBLEtBQUssQ0FBQztNQUFBQyxlQUFBO01BQUFBLGVBQUE7TUFBQUEsZUFBQSxtQ0FMYyxDQUMxQiw4QkFBOEIsRUFDOUIsdURBQXVELENBQ3ZEO01BQUFBLGVBQUEsd0JBMEJnQkMsU0FB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
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { Redirect } from 'react-router-dom';
|
|
4
|
+
import { defaultOptions } from '../../utils/baseActivity';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const configureActivityRequiredComponent = WrappedComponent => {
|
|
7
|
+
return class ActivityRequiredComponent extends Component {
|
|
8
|
+
render() {
|
|
9
|
+
const {
|
|
10
|
+
hasAccess,
|
|
11
|
+
redirectPath,
|
|
12
|
+
...rest
|
|
13
|
+
} = this.props;
|
|
14
|
+
if (!hasAccess) {
|
|
15
|
+
return /*#__PURE__*/_jsx(Redirect, {
|
|
16
|
+
to: redirectPath
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return /*#__PURE__*/_jsx(WrappedComponent, {
|
|
20
|
+
...rest
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
};
|
|
21
24
|
};
|
|
22
|
-
|
|
25
|
+
|
|
23
26
|
/**
|
|
24
27
|
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
25
28
|
* checking whether the user has the passed `requiredActivity`.
|
|
@@ -29,14 +32,45 @@ exports.configureActivityRequiredComponent = configureActivityRequiredComponent;
|
|
|
29
32
|
* @param modelsProperty (Optional) The property used to locate the entity or entities needed for entity-level activity grants
|
|
30
33
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
31
34
|
*/
|
|
32
|
-
const configureMapStateToProps = (accessPredicate, requiredActivity, modelsProperty, redirectPath) => (state, ownProps) => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
export const configureMapStateToProps = (accessPredicate, requiredActivity, modelsProperty, redirectPath) => (state, ownProps) => {
|
|
36
|
+
const options = defaultOptions(state, ownProps, modelsProperty);
|
|
37
|
+
return {
|
|
38
|
+
hasAccess: accessPredicate(requiredActivity, options),
|
|
39
|
+
redirectPath: (typeof redirectPath === 'function' ? redirectPath(options) : redirectPath) || '/'
|
|
40
|
+
};
|
|
38
41
|
};
|
|
39
|
-
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
|
|
45
|
+
*
|
|
46
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
47
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
48
|
+
*
|
|
49
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
50
|
+
* parameter. It can be ignored if not needed by the lambda.
|
|
51
|
+
*
|
|
52
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
53
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
54
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
55
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
60
|
+
*
|
|
61
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
62
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
63
|
+
*
|
|
64
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
65
|
+
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
66
|
+
*
|
|
67
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
68
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
69
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
70
|
+
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
71
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
72
|
+
*/
|
|
73
|
+
|
|
40
74
|
/**
|
|
41
75
|
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
42
76
|
*
|
|
@@ -52,9 +86,10 @@ exports.configureMapStateToProps = configureMapStateToProps;
|
|
|
52
86
|
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
53
87
|
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
54
88
|
*/
|
|
55
|
-
function activityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, modelsProperty, redirectPath) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
89
|
+
export default function activityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, modelsProperty, redirectPath) {
|
|
90
|
+
const ActivityRequiredComponent = configureActivityRequiredComponent(WrappedComponent);
|
|
91
|
+
const mapStateToProps = configureMapStateToProps(accessPredicate, requiredActivity, modelsProperty, redirectPath);
|
|
92
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
93
|
+
return connect(mapStateToProps)(ActivityRequiredComponent);
|
|
60
94
|
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJjb25uZWN0IiwiUmVkaXJlY3QiLCJkZWZhdWx0T3B0aW9ucyIsImpzeCIsIl9qc3giLCJjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJyZW5kZXIiLCJoYXNBY2Nlc3MiLCJyZWRpcmVjdFBhdGgiLCJyZXN0IiwicHJvcHMiLCJ0byIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsImFjY2Vzc1ByZWRpY2F0ZSIsInJlcXVpcmVkQWN0aXZpdHkiLCJtb2RlbHNQcm9wZXJ0eSIsInN0YXRlIiwib3duUHJvcHMiLCJvcHRpb25zIiwiYWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9BY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXG5pbXBvcnQgeyBSZWRpcmVjdCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgTW9kZWwsIE9wdGlvbmFsUmVjb3JkIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBBY3Rpdml0eU9wdGlvbnMsIGRlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdXRpbHMvYmFzZUFjdGl2aXR5J1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UmVxdWlyZWRTdGF0ZVByb3BzIHtcblx0aGFzQWNjZXNzOiBib29sZWFuXG5cdHJlZGlyZWN0UGF0aDogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50ID0gPFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxuKSA9PiB7XG5cdHJldHVybiBjbGFzcyBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFRPd25Qcm9wcyAmIEFjdGl2aXR5UmVxdWlyZWRTdGF0ZVByb3BzPiB7XG5cdFx0cHVibGljIHJlbmRlcigpIHtcblx0XHRcdGNvbnN0IHsgaGFzQWNjZXNzLCByZWRpcmVjdFBhdGgsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHNcblx0XHRcdGlmICghaGFzQWNjZXNzKSB7XG5cdFx0XHRcdHJldHVybiA8UmVkaXJlY3QgdG89e3JlZGlyZWN0UGF0aH0gLz5cblx0XHRcdH1cblx0XHRcdHJldHVybiA8V3JhcHBlZENvbXBvbmVudCB7Li4uKHJlc3QgYXMgVE93blByb3BzKX0gLz5cblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gYG1hcFN0YXRlVG9Qcm9wc2AgZnVuY3Rpb24uIEFkZCBhIGBoYXNBY2Nlc3NgIGJvb2xlYW4gcHJvcGVydHkgdG8gdGhlIGNvbXBvbmVudCdzIHByb3BzXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YC5cbiAqXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXG4gKiBAcGFyYW0gbW9kZWxzUHJvcGVydHkgKE9wdGlvbmFsKSBUaGUgcHJvcGVydHkgdXNlZCB0byBsb2NhdGUgdGhlIGVudGl0eSBvciBlbnRpdGllcyBuZWVkZWQgZm9yIGVudGl0eS1sZXZlbCBhY3Rpdml0eSBncmFudHNcbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdFx0cmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLFxuXHRcdG1vZGVsc1Byb3BlcnR5Pzogc3RyaW5nLFxuXHRcdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXG5cdCkgPT5cblx0KHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSwgb3duUHJvcHM/OiBvYmplY3QpOiBBY3Rpdml0eVJlcXVpcmVkU3RhdGVQcm9wcyA9PiB7XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zKHN0YXRlLCBvd25Qcm9wcywgbW9kZWxzUHJvcGVydHkpXG5cdFx0cmV0dXJuIHtcblx0XHRcdGhhc0FjY2VzczogYWNjZXNzUHJlZGljYXRlKHJlcXVpcmVkQWN0aXZpdHksIG9wdGlvbnMpLFxuXHRcdFx0cmVkaXJlY3RQYXRoOiAodHlwZW9mIHJlZGlyZWN0UGF0aCA9PT0gJ2Z1bmN0aW9uJyA/IHJlZGlyZWN0UGF0aChvcHRpb25zKSA6IHJlZGlyZWN0UGF0aCkgfHwgJy8nXG5cdFx0fVxuXHR9XG5cbi8qKlxuICogVGhpcyBIT0MgZW5zdXJlcyB0aGF0IHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpcyBvbmx5IHJlbmRlcmVkIGlmIHRoZSBwcmVkaWNhdGUgcHJvdmlkZWQgaXMgc2F0aXNmaWVkLlxuICpcbiAqIFR5cGljYWxseSB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIGJ5IHBhc3Npbmcgb25lIG9mIHRoZSBmdW5jdGlvbnMgaW4gdXRpbHMvYWN0aXZpdGllcyBhcyB0aGVcbiAqIGBhY2Nlc3NQcmVkaWNhdGVgIGFuZCBhIGNvbnN0YW50IGZyb20gXCJjb25zdGFudHMvYWN0aXZpdGllc1wiIGFzIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXG4gKlxuICogSWYgYSBsYW1iZGEgaXMgcGFzc2VkIGFzIHRoZSBwcmVkaWNhdGUsIGl0IGlzIHBhc3NlZCAoYnV0IG1heSBvciBtYXkgbm90IG9wdCB0byB1dGlsaXplKSB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgXG4gKiBwYXJhbWV0ZXIuIEl0IGNhbiBiZSBpZ25vcmVkIGlmIG5vdCBuZWVkZWQgYnkgdGhlIGxhbWJkYS5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHdoaWNoIHJlcXVpcmVzIGFjdGl2aXR5L2FjdGl2aXRpZXMgaW4gb3JkZXIgdG8gcmVuZGVyXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcblx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcz5cbi8qKlxuICogVGhpcyBIT0MgZW5zdXJlcyB0aGF0IHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpcyByZW5kZXJlZCBpZiB0aGUgcHJlZGljYXRlIHByb3ZpZGVkIGlzIHNhdGlzZmllZC5cbiAqXG4gKiBUeXBpY2FsbHkgdGhpcyBjb21wb25lbnQgaXMgdXNlZCBieSBwYXNzaW5nIG9uZSBvZiB0aGUgZnVuY3Rpb25zIGluIHV0aWxzL2FjdGl2aXRpZXMgYXMgdGhlXG4gKiBgYWNjZXNzUHJlZGljYXRlYCBhbmQgYSBjb25zdGFudCBmcm9tIFwiY29uc3RhbnRzL2FjdGl2aXRpZXNcIiBhcyB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgLlxuICpcbiAqIElmIGEgbGFtYmRhIGlzIHBhc3NlZCBhcyB0aGUgcHJlZGljYXRlLCBpdCBpcyBwYXNzZWQgKGJ1dCBtYXkgb3IgbWF5IG5vdCBvcHQgdG8gdXRpbGl6ZSkgdGhlIGByZXF1aXJlZEFjdGl2aXR5YFxuICogYW5kIGBtb2RlbHNQcm9wZXJ0eWAgcGFyYW1ldGVycy4gVGhleSBjYW4gYmUgaWdub3JlZCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBsYW1iZGEuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB3aGljaCByZXF1aXJlcyBhY3Rpdml0eS9hY3Rpdml0aWVzIGluIG9yZGVyIHRvIHJlbmRlclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcbiAqIEBwYXJhbSByZXF1aXJlZEFjdGl2aXR5IFRoZSByZXF1aXJlZCBhY3Rpdml0eSB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIHByZWRpY2F0ZSBmb3IgZXZhbHVhdGlvblxuICogQHBhcmFtIG1vZGVsc1Byb3BlcnR5IFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGxvY2F0ZSB0aGUgZW50aXR5IG9yIGVudGl0aWVzIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50c1xuICogQHBhcmFtIHJlZGlyZWN0UGF0aCAoT3B0aW9uYWwpIEEgc3RyaW5nIG9yIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIHJlZGlyZWN0IHBhdGggZm9yIHdoZW4gYGFjY2Vzc1ByZWRpY2F0ZWAgaXMgZmFsc2UuIERlZmF1bHRzIHRvICcvJy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3QsIFRQcm9wTmFtZSBleHRlbmRzIHN0cmluZz4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcblx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcblx0bW9kZWxzUHJvcGVydHk6IFRQcm9wTmFtZSxcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIE9wdGlvbmFsUmVjb3JkPFRQcm9wTmFtZSwgTW9kZWw+PlxuLyoqXG4gKiBUaGlzIEhPQyBlbnN1cmVzIHRoYXQgdGhlIHdyYXBwZWQgY29tcG9uZW50IGlzIHJlbmRlcmVkIGlmIHRoZSBwcmVkaWNhdGUgcHJvdmlkZWQgaXMgc2F0aXNmaWVkLlxuICpcbiAqIFR5cGljYWxseSB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIGJ5IHBhc3Npbmcgb25lIG9mIHRoZSBmdW5jdGlvbnMgaW4gdXRpbHMvYWN0aXZpdGllcyBhcyB0aGVcbiAqIGBhY2Nlc3NQcmVkaWNhdGVgIGFuZCBhIGNvbnN0YW50IGZyb20gXCJjb25zdGFudHMvYWN0aXZpdGllc1wiIGFzIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXG4gKlxuICogSWYgYSBsYW1iZGEgaXMgcGFzc2VkIGFzIHRoZSBwcmVkaWNhdGUsIGl0IGlzIHBhc3NlZCAoYnV0IG1heSBvciBtYXkgbm90IG9wdCB0byB1dGlsaXplKSB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgXG4gKiBhbmQgYG1vZGVsc1Byb3BlcnR5YCBwYXJhbWV0ZXJzLiBUaGV5IGNhbiBiZSBpZ25vcmVkIGlmIG5vdCBuZWVkZWQgYnkgdGhlIGxhbWJkYS5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHdoaWNoIHJlcXVpcmVzIGFjdGl2aXR5L2FjdGl2aXRpZXMgaW4gb3JkZXIgdG8gcmVuZGVyXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXG4gKiBAcGFyYW0gbW9kZWxzUHJvcGVydHkgVGhlIHByb3BlcnR5IHVzZWQgdG8gbG9jYXRlIHRoZSBlbnRpdHkgb3IgZW50aXRpZXMgbmVlZGVkIGZvciBlbnRpdHktbGV2ZWwgYWN0aXZpdHkgZ3JhbnRzXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdCwgVFByb3BOYW1lIGV4dGVuZHMgc3RyaW5nPihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxuXHRhY2Nlc3NQcmVkaWNhdGU6IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gYm9vbGVhbixcblx0cmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLFxuXHRtb2RlbHNQcm9wZXJ0eT86IFRQcm9wTmFtZSxcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIE9wdGlvbmFsUmVjb3JkPFRQcm9wTmFtZSwgTW9kZWw+PiB7XG5cdGNvbnN0IEFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQgPSBjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50KFdyYXBwZWRDb21wb25lbnQpXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhhY2Nlc3NQcmVkaWNhdGUsIHJlcXVpcmVkQWN0aXZpdHksIG1vZGVsc1Byb3BlcnR5LCByZWRpcmVjdFBhdGgpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50KVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQXVDLE9BQU87QUFDaEUsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsU0FBU0MsUUFBUSxRQUFRLGtCQUFrQjtBQUUzQyxTQUEwQkMsY0FBYyxRQUFRLDBCQUEwQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQU8xRSxPQUFPLE1BQU1DLGtDQUFrQyxHQUM5Q0MsZ0JBQTBDLElBQ3RDO0VBQ0osT0FBTyxNQUFNQyx5QkFBeUIsU0FBU1IsU0FBUyxDQUF5QztJQUN6RlMsTUFBTUEsQ0FBQSxFQUFHO01BQ2YsTUFBTTtRQUFFQyxTQUFTO1FBQUVDLFlBQVk7UUFBRSxHQUFHQztNQUFLLENBQUMsR0FBRyxJQUFJLENBQUNDLEtBQUs7TUFDdkQsSUFBSSxDQUFDSCxTQUFTLEVBQUU7UUFDZixvQkFBT0wsSUFBQSxDQUFDSCxRQUFRO1VBQUNZLEVBQUUsRUFBRUg7UUFBYSxDQUFFLENBQUM7TUFDdEM7TUFDQSxvQkFBT04sSUFBQSxDQUFDRSxnQkFBZ0I7UUFBQSxHQUFNSztNQUFJLENBQWlCLENBQUM7SUFDckQ7RUFDRCxDQUFDO0FBQ0YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLE1BQU1HLHdCQUF3QixHQUNwQ0EsQ0FDQ0MsZUFBZ0YsRUFDaEZDLGdCQUF3QixFQUN4QkMsY0FBdUIsRUFDdkJQLFlBQTBFLEtBRTNFLENBQUNRLEtBQXFCLEVBQUVDLFFBQWlCLEtBQWlDO0VBQ3pFLE1BQU1DLE9BQU8sR0FBR2xCLGNBQWMsQ0FBQ2dCLEtBQUssRUFBRUMsUUFBUSxFQUFFRixjQUFjLENBQUM7RUFDL0QsT0FBTztJQUNOUixTQUFTLEVBQUVNLGVBQWUsQ0FBQ0MsZ0JBQWdCLEVBQUVJLE9BQU8sQ0FBQztJQUNyRFYsWUFBWSxFQUFFLENBQUMsT0FBT0EsWUFBWSxLQUFLLFVBQVUsR0FBR0EsWUFBWSxDQUFDVSxPQUFPLENBQUMsR0FBR1YsWUFBWSxLQUFLO0VBQzlGLENBQUM7QUFDRixDQUFDOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBU1cseUJBQXlCQSxDQUNoRGYsZ0JBQTBDLEVBQzFDUyxlQUFnRixFQUNoRkMsZ0JBQXdCLEVBQ3hCQyxjQUEwQixFQUMxQlAsWUFBMEUsRUFDWDtFQUMvRCxNQUFNSCx5QkFBeUIsR0FBR0Ysa0NBQWtDLENBQUNDLGdCQUFnQixDQUFDO0VBQ3RGLE1BQU1nQixlQUFlLEdBQUdSLHdCQUF3QixDQUFDQyxlQUFlLEVBQUVDLGdCQUFnQixFQUFFQyxjQUFjLEVBQUVQLFlBQVksQ0FBQztFQUNqSDtFQUNBLE9BQU9WLE9BQU8sQ0FBQ3NCLGVBQWUsQ0FBQyxDQUFDZix5QkFBeUIsQ0FBQztBQUMzRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,42 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { Component } from 'react';
|
|
3
|
+
import { ErrorBoundary } from '../ErrorBoundary';
|
|
4
|
+
import { Loading } from '../Loading';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export default function asyncComponent(importComponent) {
|
|
7
|
+
let showLoader = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
8
|
+
return class AsyncComponent extends Component {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
// tslint:disable-next-line: variable-name
|
|
12
|
+
_defineProperty(this, "_isMounted", false);
|
|
13
|
+
this.state = {
|
|
14
|
+
component: undefined
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
19
|
+
async componentDidMount() {
|
|
20
|
+
this._isMounted = true;
|
|
21
|
+
const {
|
|
22
|
+
default: component
|
|
23
|
+
} = await importComponent();
|
|
24
|
+
// component may have unmounted while awaiting importComponent()
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
26
|
+
if (this._isMounted) {
|
|
27
|
+
this.setState({
|
|
28
|
+
component
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
componentWillUnmount() {
|
|
33
|
+
this._isMounted = false;
|
|
34
|
+
}
|
|
35
|
+
render() {
|
|
36
|
+
const {
|
|
37
|
+
component: ImportedComponent
|
|
38
|
+
} = this.state;
|
|
39
|
+
if (!ImportedComponent) {
|
|
40
|
+
return showLoader ? /*#__PURE__*/_jsx(Loading, {}) : null;
|
|
41
|
+
}
|
|
42
|
+
return /*#__PURE__*/_jsx(ErrorBoundary, {
|
|
43
|
+
children: /*#__PURE__*/_jsx(ImportedComponent, {
|
|
44
|
+
...this.props
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
42
49
|
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJFcnJvckJvdW5kYXJ5IiwiTG9hZGluZyIsImpzeCIsIl9qc3giLCJhc3luY0NvbXBvbmVudCIsImltcG9ydENvbXBvbmVudCIsInNob3dMb2FkZXIiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJBc3luY0NvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJzdGF0ZSIsImNvbXBvbmVudCIsImNvbXBvbmVudERpZE1vdW50IiwiX2lzTW91bnRlZCIsImRlZmF1bHQiLCJzZXRTdGF0ZSIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwicmVuZGVyIiwiSW1wb3J0ZWRDb21wb25lbnQiLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9Bc3luY0NvbXBvbmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBFcnJvckJvdW5kYXJ5IH0gZnJvbSAnLi4vRXJyb3JCb3VuZGFyeSdcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xuXG5pbnRlcmZhY2UgQXN5bmNDb21wb25lbnRTdGF0ZTxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+IHtcblx0Y29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcz4gfCB1bmRlZmluZWRcbn1cblxuZXhwb3J0IHR5cGUgQXN5bmNXcmFwcGVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4gPSAoKSA9PiBQcm9taXNlPHtcblx0ZGVmYXVsdDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+XG59PlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhc3luY0NvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRpbXBvcnRDb21wb25lbnQ6IEFzeW5jV3JhcHBlZENvbXBvbmVudDxUT3duUHJvcHM+LFxuXHRzaG93TG9hZGVyID0gdHJ1ZVxuKSB7XG5cdHJldHVybiBjbGFzcyBBc3luY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxUT3duUHJvcHMsIEFzeW5jQ29tcG9uZW50U3RhdGU8VE93blByb3BzPj4ge1xuXHRcdC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdmFyaWFibGUtbmFtZVxuXHRcdF9pc01vdW50ZWQgPSBmYWxzZVxuXHRcdGNvbnN0cnVjdG9yKHByb3BzOiBUT3duUHJvcHMpIHtcblx0XHRcdHN1cGVyKHByb3BzKVxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcblx0XHRcdFx0Y29tcG9uZW50OiB1bmRlZmluZWRcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcblx0XHRhc3luYyBjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHRcdHRoaXMuX2lzTW91bnRlZCA9IHRydWVcblx0XHRcdGNvbnN0IHsgZGVmYXVsdDogY29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnRDb21wb25lbnQoKVxuXHRcdFx0Ly8gY29tcG9uZW50IG1heSBoYXZlIHVubW91bnRlZCB3aGlsZSBhd2FpdGluZyBpbXBvcnRDb21wb25lbnQoKVxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cblx0XHRcdGlmICh0aGlzLl9pc01vdW50ZWQpIHtcblx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7IGNvbXBvbmVudCB9KVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdFx0dGhpcy5faXNNb3VudGVkID0gZmFsc2Vcblx0XHR9XG5cblx0XHRyZW5kZXIoKSB7XG5cdFx0XHRjb25zdCB7IGNvbXBvbmVudDogSW1wb3J0ZWRDb21wb25lbnQgfSA9IHRoaXMuc3RhdGVcblxuXHRcdFx0aWYgKCFJbXBvcnRlZENvbXBvbmVudCkge1xuXHRcdFx0XHRyZXR1cm4gc2hvd0xvYWRlciA/IDxMb2FkaW5nIC8+IDogbnVsbFxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PEVycm9yQm91bmRhcnk+XG5cdFx0XHRcdFx0PEltcG9ydGVkQ29tcG9uZW50IHsuLi50aGlzLnByb3BzfSAvPlxuXHRcdFx0XHQ8L0Vycm9yQm91bmRhcnk+XG5cdFx0XHQpXG5cdFx0fVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLFFBQXVCLE9BQU87QUFDaEQsU0FBU0MsYUFBYSxRQUFRLGtCQUFrQjtBQUNoRCxTQUFTQyxPQUFPLFFBQVEsWUFBWTtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVVwQyxlQUFlLFNBQVNDLGNBQWNBLENBQ3JDQyxlQUFpRCxFQUVoRDtFQUFBLElBRERDLFVBQVUsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsSUFBSTtFQUVqQixPQUFPLE1BQU1HLGNBQWMsU0FBU1gsU0FBUyxDQUE0QztJQUd4RlksV0FBV0EsQ0FBQ0MsS0FBZ0IsRUFBRTtNQUM3QixLQUFLLENBQUNBLEtBQUssQ0FBQztNQUhiO01BQUFDLGVBQUEscUJBQ2EsS0FBSztNQUdqQixJQUFJLENBQUNDLEtBQUssR0FBRztRQUNaQyxTQUFTLEVBQUVOO01BQ1osQ0FBQztJQUNGOztJQUVBO0lBQ0EsTUFBTU8saUJBQWlCQSxDQUFBLEVBQUc7TUFDekIsSUFBSSxDQUFDQyxVQUFVLEdBQUcsSUFBSTtNQUN0QixNQUFNO1FBQUVDLE9BQU8sRUFBRUg7TUFBVSxDQUFDLEdBQUcsTUFBTVYsZUFBZSxDQUFDLENBQUM7TUFDdEQ7TUFDQTtNQUNBLElBQUksSUFBSSxDQUFDWSxVQUFVLEVBQUU7UUFDcEIsSUFBSSxDQUFDRSxRQUFRLENBQUM7VUFBRUo7UUFBVSxDQUFDLENBQUM7TUFDN0I7SUFDRDtJQUVBSyxvQkFBb0JBLENBQUEsRUFBRztNQUN0QixJQUFJLENBQUNILFVBQVUsR0FBRyxLQUFLO0lBQ3hCO0lBRUFJLE1BQU1BLENBQUEsRUFBRztNQUNSLE1BQU07UUFBRU4sU0FBUyxFQUFFTztNQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDUixLQUFLO01BRW5ELElBQUksQ0FBQ1EsaUJBQWlCLEVBQUU7UUFDdkIsT0FBT2hCLFVBQVUsZ0JBQUdILElBQUEsQ0FBQ0YsT0FBTyxJQUFFLENBQUMsR0FBRyxJQUFJO01BQ3ZDO01BQ0Esb0JBQ0NFLElBQUEsQ0FBQ0gsYUFBYTtRQUFBdUIsUUFBQSxlQUNicEIsSUFBQSxDQUFDbUIsaUJBQWlCO1VBQUEsR0FBSyxJQUFJLENBQUNWO1FBQUssQ0FBRztNQUFDLENBQ3ZCLENBQUM7SUFFbEI7RUFDRCxDQUFDO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,47 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import { connect } from 'react-redux';
|
|
3
|
+
import { Redirect, withRouter } from 'react-router-dom';
|
|
4
|
+
import { persistenceService, returnUrlKey } from '../../services/persistenceService';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const configureAuthenticatedComponent = WrappedComponent => {
|
|
7
|
+
return class AuthenticatedComponent extends Component {
|
|
8
|
+
isNotAuthenticated() {
|
|
9
|
+
const {
|
|
10
|
+
isAuthenticating,
|
|
11
|
+
isAuthenticated
|
|
12
|
+
} = this.props;
|
|
13
|
+
return !isAuthenticating && !isAuthenticated;
|
|
14
|
+
}
|
|
15
|
+
persistReturnUrlIfNeeded() {
|
|
16
|
+
const {
|
|
17
|
+
pathname
|
|
18
|
+
} = this.props.location;
|
|
19
|
+
const returnUrl = persistenceService.getItem(returnUrlKey);
|
|
20
|
+
if (!returnUrl) {
|
|
21
|
+
persistenceService.setItem(returnUrlKey, pathname);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
const {
|
|
26
|
+
isAuthenticating,
|
|
27
|
+
isAuthenticated,
|
|
28
|
+
history,
|
|
29
|
+
location,
|
|
30
|
+
match,
|
|
31
|
+
staticContext,
|
|
32
|
+
...rest
|
|
33
|
+
} = this.props;
|
|
34
|
+
if (this.isNotAuthenticated()) {
|
|
35
|
+
this.persistReturnUrlIfNeeded();
|
|
36
|
+
return /*#__PURE__*/_jsx(Redirect, {
|
|
37
|
+
to: "/login"
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return /*#__PURE__*/_jsx(WrappedComponent, {
|
|
41
|
+
...rest
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
33
45
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
};
|
|
46
|
+
export const configureMapStateToProps = () => state => {
|
|
47
|
+
return {
|
|
48
|
+
isAuthenticating: !state.auth.isAuthenticated && state.auth.isAuthenticating,
|
|
49
|
+
isAuthenticated: state.auth.isAuthenticated
|
|
50
|
+
};
|
|
40
51
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return (0, react_router_dom_1.withRouter)((0, react_redux_1.connect)(mapStateToProps)(AuthenticatedComponent));
|
|
52
|
+
export default function authenticatedComponent(WrappedComponent) {
|
|
53
|
+
const AuthenticatedComponent = configureAuthenticatedComponent(WrappedComponent);
|
|
54
|
+
const mapStateToProps = configureMapStateToProps();
|
|
55
|
+
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
56
|
+
return withRouter(connect(mapStateToProps)(AuthenticatedComponent));
|
|
47
57
|
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb21wb25lbnQiLCJjb25uZWN0IiwiUmVkaXJlY3QiLCJ3aXRoUm91dGVyIiwicGVyc2lzdGVuY2VTZXJ2aWNlIiwicmV0dXJuVXJsS2V5IiwianN4IiwiX2pzeCIsImNvbmZpZ3VyZUF1dGhlbnRpY2F0ZWRDb21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiQXV0aGVudGljYXRlZENvbXBvbmVudCIsImlzTm90QXV0aGVudGljYXRlZCIsImlzQXV0aGVudGljYXRpbmciLCJpc0F1dGhlbnRpY2F0ZWQiLCJwcm9wcyIsInBlcnNpc3RSZXR1cm5VcmxJZk5lZWRlZCIsInBhdGhuYW1lIiwibG9jYXRpb24iLCJyZXR1cm5VcmwiLCJnZXRJdGVtIiwic2V0SXRlbSIsInJlbmRlciIsImhpc3RvcnkiLCJtYXRjaCIsInN0YXRpY0NvbnRleHQiLCJyZXN0IiwidG8iLCJjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImF1dGgiLCJhdXRoZW50aWNhdGVkQ29tcG9uZW50IiwibWFwU3RhdGVUb1Byb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0F1dGhlbnRpY2F0ZWRDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZUNvbXBvbmVudFByb3BzLCB3aXRoUm91dGVyIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHBlcnNpc3RlbmNlU2VydmljZSwgcmV0dXJuVXJsS2V5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGVyc2lzdGVuY2VTZXJ2aWNlJ1xuaW1wb3J0IHsgQXV0aFN0YXRlLCBCYXNlUmVkdXhTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGVkQ29tcG9uZW50U3RhdGVQcm9wcyA9IFBpY2s8QXV0aFN0YXRlLCAnaXNBdXRoZW50aWNhdGluZycgfCAnaXNBdXRoZW50aWNhdGVkJz5cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoZW50aWNhdGVkQ29tcG9uZW50UHJvcHMgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tcG9uZW50U3RhdGVQcm9wcywgUm91dGVDb21wb25lbnRQcm9wcyB7fVxuXG5leHBvcnQgY29uc3QgY29uZmlndXJlQXV0aGVudGljYXRlZENvbXBvbmVudCA9IDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcz5cbik6IENvbXBvbmVudFR5cGU8VE93blByb3BzICYgQXV0aGVudGljYXRlZENvbXBvbmVudFByb3BzPiA9PiB7XG5cdHJldHVybiBjbGFzcyBBdXRoZW50aWNhdGVkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFxuXHRcdFRPd25Qcm9wcyAmIEF1dGhlbnRpY2F0ZWRDb21wb25lbnRTdGF0ZVByb3BzICYgUm91dGVDb21wb25lbnRQcm9wc1xuXHQ+IHtcblx0XHRpc05vdEF1dGhlbnRpY2F0ZWQoKSB7XG5cdFx0XHRjb25zdCB7IGlzQXV0aGVudGljYXRpbmcsIGlzQXV0aGVudGljYXRlZCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0cmV0dXJuICFpc0F1dGhlbnRpY2F0aW5nICYmICFpc0F1dGhlbnRpY2F0ZWRcblx0XHR9XG5cblx0XHRwZXJzaXN0UmV0dXJuVXJsSWZOZWVkZWQoKSB7XG5cdFx0XHRjb25zdCB7IHBhdGhuYW1lIH0gPSB0aGlzLnByb3BzLmxvY2F0aW9uXG5cdFx0XHRjb25zdCByZXR1cm5VcmwgPSBwZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0SXRlbShyZXR1cm5VcmxLZXkpXG5cdFx0XHRpZiAoIXJldHVyblVybCkge1xuXHRcdFx0XHRwZXJzaXN0ZW5jZVNlcnZpY2Uuc2V0SXRlbShyZXR1cm5VcmxLZXksIHBhdGhuYW1lKVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJlbmRlcigpIHtcblx0XHRcdGNvbnN0IHsgaXNBdXRoZW50aWNhdGluZywgaXNBdXRoZW50aWNhdGVkLCBoaXN0b3J5LCBsb2NhdGlvbiwgbWF0Y2gsIHN0YXRpY0NvbnRleHQsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHNcblx0XHRcdGlmICh0aGlzLmlzTm90QXV0aGVudGljYXRlZCgpKSB7XG5cdFx0XHRcdHRoaXMucGVyc2lzdFJldHVyblVybElmTmVlZGVkKClcblx0XHRcdFx0cmV0dXJuIDxSZWRpcmVjdCB0bz1cIi9sb2dpblwiIC8+XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gPFdyYXBwZWRDb21wb25lbnQgey4uLihyZXN0IGFzIFRPd25Qcm9wcyl9IC8+XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoKSA9PlxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogQXV0aGVudGljYXRlZENvbXBvbmVudFN0YXRlUHJvcHMgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRpc0F1dGhlbnRpY2F0aW5nOiAhc3RhdGUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQgJiYgc3RhdGUuYXV0aC5pc0F1dGhlbnRpY2F0aW5nLFxuXHRcdFx0aXNBdXRoZW50aWNhdGVkOiBzdGF0ZS5hdXRoLmlzQXV0aGVudGljYXRlZFxuXHRcdH1cblx0fVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhdXRoZW50aWNhdGVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XG5cdGNvbnN0IEF1dGhlbnRpY2F0ZWRDb21wb25lbnQgPSBjb25maWd1cmVBdXRoZW50aWNhdGVkQ29tcG9uZW50KFdyYXBwZWRDb21wb25lbnQpXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcygpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIHdpdGhSb3V0ZXIoY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKEF1dGhlbnRpY2F0ZWRDb21wb25lbnQpKVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQXVDLE9BQU87QUFDaEUsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsU0FBU0MsUUFBUSxFQUF1QkMsVUFBVSxRQUFRLGtCQUFrQjtBQUM1RSxTQUFTQyxrQkFBa0IsRUFBRUMsWUFBWSxRQUFRLG1DQUFtQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQU9wRixPQUFPLE1BQU1DLCtCQUErQixHQUMzQ0MsZ0JBQTBDLElBQ2tCO0VBQzVELE9BQU8sTUFBTUMsc0JBQXNCLFNBQVNWLFNBQVMsQ0FFbkQ7SUFDRFcsa0JBQWtCQSxDQUFBLEVBQUc7TUFDcEIsTUFBTTtRQUFFQyxnQkFBZ0I7UUFBRUM7TUFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUN4RCxPQUFPLENBQUNGLGdCQUFnQixJQUFJLENBQUNDLGVBQWU7SUFDN0M7SUFFQUUsd0JBQXdCQSxDQUFBLEVBQUc7TUFDMUIsTUFBTTtRQUFFQztNQUFTLENBQUMsR0FBRyxJQUFJLENBQUNGLEtBQUssQ0FBQ0csUUFBUTtNQUN4QyxNQUFNQyxTQUFTLEdBQUdkLGtCQUFrQixDQUFDZSxPQUFPLENBQUNkLFlBQVksQ0FBQztNQUMxRCxJQUFJLENBQUNhLFNBQVMsRUFBRTtRQUNmZCxrQkFBa0IsQ0FBQ2dCLE9BQU8sQ0FBQ2YsWUFBWSxFQUFFVyxRQUFRLENBQUM7TUFDbkQ7SUFDRDtJQUVBSyxNQUFNQSxDQUFBLEVBQUc7TUFDUixNQUFNO1FBQUVULGdCQUFnQjtRQUFFQyxlQUFlO1FBQUVTLE9BQU87UUFBRUwsUUFBUTtRQUFFTSxLQUFLO1FBQUVDLGFBQWE7UUFBRSxHQUFHQztNQUFLLENBQUMsR0FBRyxJQUFJLENBQUNYLEtBQUs7TUFDMUcsSUFBSSxJQUFJLENBQUNILGtCQUFrQixDQUFDLENBQUMsRUFBRTtRQUM5QixJQUFJLENBQUNJLHdCQUF3QixDQUFDLENBQUM7UUFDL0Isb0JBQU9SLElBQUEsQ0FBQ0wsUUFBUTtVQUFDd0IsRUFBRSxFQUFDO1FBQVEsQ0FBRSxDQUFDO01BQ2hDO01BQ0Esb0JBQU9uQixJQUFBLENBQUNFLGdCQUFnQjtRQUFBLEdBQU1nQjtNQUFJLENBQWlCLENBQUM7SUFDckQ7RUFDRCxDQUFDO0FBQ0YsQ0FBQztBQUVELE9BQU8sTUFBTUUsd0JBQXdCLEdBQ3BDQSxDQUFBLEtBQ0NDLEtBQXFCLElBQXVDO0VBQzVELE9BQU87SUFDTmhCLGdCQUFnQixFQUFFLENBQUNnQixLQUFLLENBQUNDLElBQUksQ0FBQ2hCLGVBQWUsSUFBSWUsS0FBSyxDQUFDQyxJQUFJLENBQUNqQixnQkFBZ0I7SUFDNUVDLGVBQWUsRUFBRWUsS0FBSyxDQUFDQyxJQUFJLENBQUNoQjtFQUM3QixDQUFDO0FBQ0YsQ0FBQztBQUVGLGVBQWUsU0FBU2lCLHNCQUFzQkEsQ0FDN0NyQixnQkFBMEMsRUFDZDtFQUM1QixNQUFNQyxzQkFBc0IsR0FBR0YsK0JBQStCLENBQUNDLGdCQUFnQixDQUFDO0VBQ2hGLE1BQU1zQixlQUFlLEdBQUdKLHdCQUF3QixDQUFDLENBQUM7RUFDbEQ7RUFDQSxPQUFPeEIsVUFBVSxDQUFDRixPQUFPLENBQUM4QixlQUFlLENBQUMsQ0FBQ3JCLHNCQUFzQixDQUFDLENBQUM7QUFDcEUiLCJpZ25vcmVMaXN0IjpbXX0=
|