studiokit-scaffolding-js 7.0.14-alpha.1 → 7.1.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.d.ts +2 -2
- package/lib/components/ActionList.js +166 -87
- package/lib/components/AlertDialog.d.ts +3 -3
- package/lib/components/AlertDialog.js +133 -18
- package/lib/components/AlertWithIcon.js +93 -52
- package/lib/components/ConnectedModal.d.ts +1 -2
- package/lib/components/ConnectedModal.js +41 -35
- package/lib/components/Dropdowns/GroupsDropdown.d.ts +4 -4
- package/lib/components/Dropdowns/GroupsDropdown.js +69 -82
- package/lib/components/Dropdowns/ManagedNavDropdown.d.ts +2 -2
- package/lib/components/Dropdowns/ManagedNavDropdown.js +96 -108
- package/lib/components/Dropdowns/UserDropdown.js +109 -70
- package/lib/components/Dropdowns/index.js +27 -11
- package/lib/components/EntityOwnerList.d.ts +3 -3
- package/lib/components/EntityOwnerList.js +52 -60
- package/lib/components/Error.js +107 -27
- package/lib/components/ErrorBoundary.js +133 -94
- package/lib/components/ErrorMessage.d.ts +2 -2
- package/lib/components/ErrorMessage.js +44 -14
- package/lib/components/Forms/DateField.d.ts +2 -2
- package/lib/components/Forms/DateField.js +63 -95
- package/lib/components/Forms/TimeField.d.ts +2 -2
- package/lib/components/Forms/TimeField.js +84 -108
- package/lib/components/Forms/index.js +27 -13
- package/lib/components/Groups/CreateEditCopySaveButtons.d.ts +2 -2
- package/lib/components/Groups/CreateEditCopySaveButtons.js +102 -14
- package/lib/components/Groups/ExternalGroups/Attach.d.ts +6 -7
- package/lib/components/Groups/ExternalGroups/Attach.js +213 -188
- package/lib/components/Groups/ExternalGroups/Table.js +183 -76
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +5 -1
- package/lib/components/Groups/RosterSyncInfo.js +140 -49
- package/lib/components/HOC/AccessibleAppComponent.d.ts +2 -2
- package/lib/components/HOC/AccessibleAppComponent.js +96 -119
- package/lib/components/HOC/ActivityRequiredComponent.d.ts +14 -14
- package/lib/components/HOC/ActivityRequiredComponent.js +72 -86
- package/lib/components/HOC/AsyncComponent.d.ts +9 -9
- package/lib/components/HOC/AsyncComponent.js +53 -129
- package/lib/components/HOC/AuthenticatedComponent.d.ts +4 -4
- package/lib/components/HOC/AuthenticatedComponent.js +59 -96
- package/lib/components/HOC/CollectionComponent.d.ts +12 -12
- package/lib/components/HOC/CollectionComponent.js +161 -161
- package/lib/components/HOC/CollectionFirstItemComponent.d.ts +13 -13
- package/lib/components/HOC/CollectionFirstItemComponent.js +49 -91
- package/lib/components/HOC/CollectionItemComponent.d.ts +9 -9
- package/lib/components/HOC/CollectionItemComponent.js +159 -158
- package/lib/components/HOC/ConnectedModalComponent.d.ts +9 -9
- package/lib/components/HOC/ConnectedModalComponent.js +96 -126
- package/lib/components/HOC/DataDependentComponent.d.ts +3 -55
- package/lib/components/HOC/DataDependentComponent.js +30 -79
- package/lib/components/HOC/EntityComponent.d.ts +13 -13
- package/lib/components/HOC/EntityComponent.js +63 -101
- package/lib/components/HOC/FullscreenModalComponent.d.ts +9 -9
- package/lib/components/HOC/FullscreenModalComponent.js +145 -165
- package/lib/components/HOC/GroupActivityRequiredComponent.d.ts +2 -2
- package/lib/components/HOC/GroupActivityRequiredComponent.js +32 -31
- package/lib/components/HOC/GuidComponent.d.ts +1 -1
- package/lib/components/HOC/GuidComponent.js +25 -64
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.d.ts +28 -29
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +36 -59
- package/lib/components/HOC/ModelErrorRedirectComponent.d.ts +10 -10
- package/lib/components/HOC/ModelErrorRedirectComponent.js +40 -83
- package/lib/components/HOC/SearchPersistorComponent.d.ts +4 -4
- package/lib/components/HOC/SearchPersistorComponent.js +243 -216
- package/lib/components/HOC/UnauthenticatedComponent.d.ts +12 -12
- package/lib/components/HOC/UnauthenticatedComponent.js +37 -82
- package/lib/components/HOC/UserComponent.d.ts +1 -1
- package/lib/components/HOC/UserComponent.js +12 -11
- package/lib/components/Icons/IconAlphaList.js +34 -20
- package/lib/components/Icons/IconExternalUser.js +34 -20
- package/lib/components/Icons/IconImpersonation.js +34 -20
- package/lib/components/Icons/IconStopImpersonating.js +34 -20
- package/lib/components/Icons/IconTable.js +35 -21
- package/lib/components/Icons/IconTableDeleteCol.js +34 -20
- package/lib/components/Icons/IconTableDeleteRow.js +34 -20
- package/lib/components/Icons/IconTableInsertCol.js +34 -20
- package/lib/components/Icons/IconTableInsertRow.js +34 -20
- package/lib/components/Impersonation/Button.d.ts +2 -2
- package/lib/components/Impersonation/Button.js +76 -56
- package/lib/components/Impersonation/Link.d.ts +2 -2
- package/lib/components/Impersonation/Link.js +76 -53
- package/lib/components/Impersonation/UserDetail.d.ts +2 -2
- package/lib/components/Impersonation/UserDetail.js +64 -15
- package/lib/components/Loading.js +27 -21
- package/lib/components/LockDownBrowser/Check.js +194 -107
- package/lib/components/LockDownBrowser/ExitButton.js +27 -14
- package/lib/components/LockDownBrowser/Launch.js +70 -85
- package/lib/components/Lti/Confirm.js +152 -33
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.d.ts +4 -2
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +170 -78
- package/lib/components/Lti/Launch.js +105 -49
- package/lib/components/Lti/LaunchGroup.js +85 -39
- package/lib/components/ManageTable.d.ts +1 -2
- package/lib/components/ManageTable.js +309 -104
- package/lib/components/ManageTableNoDataComponent.js +42 -22
- package/lib/components/NewVersionAlert.d.ts +2 -2
- package/lib/components/NewVersionAlert.js +82 -91
- package/lib/components/NotFound.js +87 -28
- package/lib/components/Notifications.d.ts +4 -4
- package/lib/components/Notifications.js +187 -169
- package/lib/components/PaginationNextButton.js +33 -21
- package/lib/components/PaginationPreviousButton.js +33 -21
- package/lib/components/Quill/CustomToolbar.d.ts +2 -2
- package/lib/components/Quill/CustomToolbar.js +432 -257
- package/lib/components/Quill/Formats/Image.d.ts +10 -25
- package/lib/components/Quill/Formats/Image.js +76 -82
- package/lib/components/Quill/Formats/List.d.ts +6 -3
- package/lib/components/Quill/Formats/List.js +50 -72
- package/lib/components/Quill/Formats/Video.d.ts +2 -1
- package/lib/components/Quill/Formats/Video.js +29 -43
- package/lib/components/Quill/ImageDropModule.d.ts +1 -1
- package/lib/components/Quill/ImageDropModule.js +142 -115
- package/lib/components/Quill/ImageWarning.d.ts +2 -2
- package/lib/components/Quill/ImageWarning.js +45 -32
- package/lib/components/Quill/ImageWithAltTextModal.d.ts +0 -1
- package/lib/components/Quill/ImageWithAltTextModal.js +425 -141
- package/lib/components/Quill/Specs/CustomImageSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +37 -45
- package/lib/components/Quill/Specs/CustomVideoSpec.d.ts +1 -1
- package/lib/components/Quill/Specs/CustomVideoSpec.js +27 -36
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.d.ts +2 -1
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +100 -116
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +53 -66
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +54 -67
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.d.ts +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +225 -241
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +82 -99
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +76 -87
- package/lib/components/Quill/TableModule/constants.js +45 -41
- package/lib/components/Quill/TableModule/index.css +25 -25
- package/lib/components/Quill/TableModule/index.d.ts +14 -5
- package/lib/components/Quill/TableModule/index.js +373 -313
- package/lib/components/Quill/TableModule/utils.js +45 -45
- package/lib/components/Quill/accessibilityFix.d.ts +0 -1
- package/lib/components/Quill/accessibilityFix.js +222 -238
- package/lib/components/Quill/index.js +36 -32
- package/lib/components/RefreshIndicator/Bordered.js +48 -32
- package/lib/components/RefreshIndicator/Inline.js +48 -33
- package/lib/components/RefreshIndicator/index.d.ts +2 -2
- package/lib/components/RefreshIndicator/index.js +263 -113
- package/lib/components/SearchControls.js +216 -31
- package/lib/components/SentryRoute.js +10 -23
- package/lib/components/Tables/RoleFilter.d.ts +3 -4
- package/lib/components/Tables/RoleFilter.js +71 -46
- package/lib/components/Tables/TextFilter.d.ts +2 -3
- package/lib/components/Tables/TextFilter.js +62 -20
- package/lib/components/UserRoles/Add.d.ts +3 -3
- package/lib/components/UserRoles/Add.js +199 -161
- package/lib/components/UserRoles/Context.js +8 -6
- package/lib/components/UserRoles/RoleCell.js +181 -100
- package/lib/components/UserRoles/Select.js +168 -54
- package/lib/components/UserRoles/Table.js +221 -102
- package/lib/components/UserRoles/index.d.ts +6 -6
- package/lib/components/UserRoles/index.js +535 -464
- package/lib/config/eslint/index.d.ts +2 -0
- package/lib/config/eslint/index.js +36 -0
- package/lib/config/eslint/lib/order.d.ts +3 -0
- package/lib/config/eslint/lib/order.js +30 -0
- package/lib/config/eslint/lib/prettier.d.ts +3 -0
- package/lib/config/eslint/lib/prettier.js +23 -0
- package/lib/config/eslint/lib/typescript.d.ts +2 -0
- package/lib/config/eslint/lib/typescript.js +98 -0
- package/lib/config/eslint/react.d.ts +2 -0
- package/lib/config/eslint/react.js +30 -0
- package/lib/constants/baseActivity.js +30 -26
- package/lib/constants/baseRole.js +14 -10
- package/lib/constants/configuration.d.ts +1 -1
- package/lib/constants/configuration.js +43 -39
- package/lib/constants/externalProviderType.js +10 -6
- package/lib/constants/fetchErrorData.js +15 -11
- package/lib/constants/index.js +137 -23
- package/lib/constants/lockDownBrowser.js +28 -24
- package/lib/constants/mockData.d.ts +4 -6
- package/lib/constants/mockData.js +383 -324
- package/lib/constants/modelStatus.js +15 -11
- package/lib/constants/notificationType.js +12 -8
- package/lib/constants/operatingSystem.js +12 -8
- package/lib/constants/shard.js +11 -7
- package/lib/constants/table.js +21 -21
- package/lib/constants/tier.js +12 -8
- package/lib/constants/userRole.d.ts +1 -2
- package/lib/constants/userRole.js +15 -17
- package/lib/css/components/_buttons.css +11 -3
- package/lib/css/components/_quill.css +3 -3
- package/lib/css/components/_tables.css +6 -5
- package/lib/css/utils/_display.css +12 -19
- package/lib/css/utils/_general.css +1 -1
- package/lib/css/utils/_text.css +2 -1
- package/lib/css/variables.css +0 -4
- package/lib/endpointMappings.js +197 -193
- package/lib/hooks/useCollection.js +83 -65
- package/lib/hooks/useCollectionConfiguration.d.ts +0 -1
- package/lib/hooks/useCollectionConfiguration.js +179 -82
- package/lib/hooks/useCollectionItem.js +155 -58
- package/lib/hooks/useEventCalback.d.ts +14 -0
- package/lib/hooks/useEventCalback.js +51 -0
- package/lib/hooks/useGuid.js +19 -8
- package/lib/hooks/usePrevious.d.ts +24 -1
- package/lib/hooks/usePrevious.js +82 -12
- package/lib/index.js +156 -36
- package/lib/redux/actionCreator.d.ts +6 -6
- package/lib/redux/actionCreator.js +51 -40
- package/lib/redux/actions/AuthAction.js +44 -31
- package/lib/redux/actions/ModalAction.d.ts +1 -1
- package/lib/redux/actions/ModalAction.js +10 -6
- package/lib/redux/actions/ModelAction.d.ts +1 -1
- package/lib/redux/actions/ModelAction.js +77 -49
- package/lib/redux/actions/NotificationAction.js +10 -6
- package/lib/redux/actions/SearchAction.js +9 -5
- package/lib/redux/actions/index.js +60 -16
- package/lib/redux/configureReducers.d.ts +2 -5
- package/lib/redux/configureReducers.js +61 -72
- package/lib/redux/configureStore.d.ts +2 -2
- package/lib/redux/configureStore.js +83 -115
- package/lib/redux/helpers.js +7 -2
- package/lib/redux/reducers/authReducer.js +50 -44
- package/lib/redux/reducers/index.js +41 -15
- package/lib/redux/reducers/modalsReducer.js +49 -52
- package/lib/redux/reducers/modelsReducer.d.ts +2 -2
- package/lib/redux/reducers/modelsReducer.js +136 -135
- package/lib/redux/reducers/notificationsReducer.js +26 -21
- package/lib/redux/reducers/searchReducer.js +18 -12
- package/lib/redux/sagas/appInsightsSaga.js +24 -62
- package/lib/redux/sagas/authSaga.js +287 -414
- package/lib/redux/sagas/caliperSaga.js +154 -248
- package/lib/redux/sagas/clockOffsetSaga.js +35 -76
- package/lib/redux/sagas/configurationSaga.js +13 -46
- package/lib/redux/sagas/downtimeApiErrorSaga.d.ts +0 -1
- package/lib/redux/sagas/downtimeApiErrorSaga.js +23 -64
- package/lib/redux/sagas/errorSaga.d.ts +0 -1
- package/lib/redux/sagas/errorSaga.js +29 -63
- package/lib/redux/sagas/googleAnalyticsSaga.js +29 -69
- package/lib/redux/sagas/identityProviderSaga.js +24 -69
- package/lib/redux/sagas/initialDataLoadSaga.js +38 -29
- package/lib/redux/sagas/lockDownBrowserErrorSaga.d.ts +0 -1
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +32 -81
- package/lib/redux/sagas/modelFetchSaga.js +331 -411
- package/lib/redux/sagas/noStoreSaga.d.ts +1 -1
- package/lib/redux/sagas/noStoreSaga.js +68 -101
- package/lib/redux/sagas/postLoginDataSaga.js +42 -74
- package/lib/redux/sagas/postLoginRedirectSaga.js +27 -68
- package/lib/redux/sagas/rootSaga.js +85 -137
- package/lib/redux/sagas/sentrySaga.js +29 -85
- package/lib/redux/sagas/userIdSaga.js +18 -54
- package/lib/services/codeProviderService.js +25 -29
- package/lib/services/dateService.js +12 -10
- package/lib/services/documentService.js +15 -10
- package/lib/services/fetchService.js +110 -144
- package/lib/services/persistenceService.d.ts +4 -4
- package/lib/services/persistenceService.js +45 -43
- package/lib/services/ticketProviderService.js +29 -33
- package/lib/services/tokenPersistenceService.js +13 -9
- package/lib/services/windowService.js +21 -17
- package/lib/startup.d.ts +1 -1
- package/lib/startup.js +115 -118
- package/lib/types/AppConfiguration.js +5 -1
- package/lib/types/Artifact.js +11 -7
- package/lib/types/BaseReduxState.js +5 -1
- package/lib/types/Client.js +5 -1
- package/lib/types/Collection.d.ts +3 -3
- package/lib/types/Collection.js +5 -1
- package/lib/types/Configuration.js +5 -1
- package/lib/types/DeepLinkingResponseRequest.js +5 -1
- package/lib/types/DeletableModel.js +5 -1
- package/lib/types/Event.js +5 -1
- package/lib/types/ExternalGroup.js +5 -1
- package/lib/types/ExternalProvider.js +5 -1
- package/lib/types/ExternalTerm.js +5 -1
- package/lib/types/Group.js +5 -1
- package/lib/types/IdentityProvider.js +5 -1
- package/lib/types/LtiLaunch.js +5 -1
- package/lib/types/NameOnlyEntity.js +5 -1
- package/lib/types/Notification.d.ts +2 -2
- package/lib/types/Notification.js +5 -1
- package/lib/types/OptionalRecord.d.ts +1 -1
- package/lib/types/OptionalRecord.js +5 -1
- package/lib/types/OwnerSchedule.d.ts +3 -1
- package/lib/types/OwnerSchedule.js +5 -1
- package/lib/types/PropertyOfType.d.ts +3 -3
- package/lib/types/PropertyOfType.js +5 -1
- package/lib/types/Quill.js +5 -1
- package/lib/types/RoleDescription.d.ts +0 -1
- package/lib/types/RoleDescription.js +5 -1
- package/lib/types/Search.js +5 -1
- package/lib/types/SimpleLocation.js +5 -1
- package/lib/types/UniTime.js +5 -1
- package/lib/types/User.js +5 -1
- package/lib/types/UserRole.js +5 -1
- package/lib/types/auth/AuthState.js +5 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +5 -1
- package/lib/types/auth/ClientCredentials.js +5 -1
- package/lib/types/auth/CodeProviderService.js +5 -1
- package/lib/types/auth/LocalLoginRequestBody.js +5 -1
- package/lib/types/auth/TicketProviderService.js +5 -1
- package/lib/types/auth/TokenPersistenceService.js +5 -1
- package/lib/types/auth/index.js +82 -18
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +313 -39
- package/lib/types/net/EndpointConfig.js +5 -1
- package/lib/types/net/EndpointMapping.js +5 -1
- package/lib/types/net/EndpointMappings.js +5 -1
- package/lib/types/net/ErrorHandler.d.ts +1 -1
- package/lib/types/net/ErrorHandler.js +5 -1
- package/lib/types/net/FetchConfig.d.ts +1 -1
- package/lib/types/net/FetchConfig.js +5 -1
- package/lib/types/net/FetchErrorData.js +10 -6
- package/lib/types/net/FetchResult.d.ts +2 -2
- package/lib/types/net/FetchResult.js +5 -1
- package/lib/types/net/HTTPMethod.d.ts +1 -1
- package/lib/types/net/HTTPMethod.js +5 -1
- package/lib/types/net/HTTPStatusCode.js +16 -12
- package/lib/types/net/Metadata.js +5 -1
- package/lib/types/net/Model.js +5 -1
- package/lib/types/net/ModelCollection.js +5 -1
- package/lib/types/net/ModelsState.js +5 -1
- package/lib/types/net/OAuthToken.js +5 -1
- package/lib/types/net/OAuthTokenOrNull.d.ts +1 -1
- package/lib/types/net/OAuthTokenOrNull.js +5 -1
- package/lib/types/net/TokenAccessFunction.d.ts +1 -1
- package/lib/types/net/TokenAccessFunction.js +5 -1
- package/lib/types/net/index.js +181 -27
- package/lib/utils/baseActivity.d.ts +2 -2
- package/lib/utils/baseActivity.js +93 -91
- package/lib/utils/baseRole.js +37 -33
- package/lib/utils/collection.js +413 -291
- package/lib/utils/cookies.js +22 -37
- package/lib/utils/date.js +210 -210
- package/lib/utils/dom.js +145 -133
- package/lib/utils/domainIdentifier.js +9 -9
- package/lib/utils/entityUserRole.js +6 -2
- package/lib/utils/error.d.ts +1 -1
- package/lib/utils/error.js +18 -16
- package/lib/utils/events.js +37 -30
- package/lib/utils/externalGroup.js +25 -21
- package/lib/utils/externalProviders.js +8 -4
- package/lib/utils/externalTerms.js +9 -6
- package/lib/utils/fetch.d.ts +1 -1
- package/lib/utils/fetch.js +179 -176
- package/lib/utils/group.js +17 -9
- package/lib/utils/groupDates.d.ts +1 -1
- package/lib/utils/groupDates.js +43 -39
- package/lib/utils/groupRoles.js +28 -28
- package/lib/utils/lockDownBrowser.js +16 -12
- package/lib/utils/logger.js +30 -25
- package/lib/utils/lti.js +10 -5
- package/lib/utils/model.d.ts +2 -2
- package/lib/utils/model.js +35 -44
- package/lib/utils/number.js +13 -16
- package/lib/utils/promise.d.ts +6 -1
- package/lib/utils/promise.js +34 -15
- package/lib/utils/quill.js +60 -71
- package/lib/utils/route.d.ts +2 -2
- package/lib/utils/route.js +61 -60
- package/lib/utils/search.d.ts +1 -1
- package/lib/utils/search.js +78 -85
- package/lib/utils/shard.js +38 -41
- package/lib/utils/sort.d.ts +3 -3
- package/lib/utils/sort.js +62 -58
- package/lib/utils/string.js +14 -10
- package/lib/utils/table.d.ts +3 -3
- package/lib/utils/table.js +36 -33
- package/lib/utils/timezone.js +12 -26
- package/lib/utils/url.d.ts +2 -1
- package/lib/utils/url.js +139 -193
- package/lib/utils/user.js +59 -61
- package/lib/utils/userAgent.js +11 -11
- package/lib/utils/userRole.d.ts +3 -3
- package/lib/utils/userRole.js +46 -44
- package/package.json +90 -73
- package/lib/config/eslint/index.cjs +0 -21
- package/lib/config/eslint/lib/order.cjs +0 -22
- package/lib/config/eslint/lib/prettier.cjs +0 -18
- package/lib/config/eslint/lib/typescript.cjs +0 -86
- package/lib/config/eslint/react.cjs +0 -9
- package/lib/css/utils/_focus.css +0 -4
|
@@ -1,166 +1,204 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
18
|
-
}) : (function(o, m, k, k2) {
|
|
19
|
-
if (k2 === undefined) k2 = k;
|
|
20
|
-
o[k2] = m[k];
|
|
21
|
-
}));
|
|
22
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
-
}) : function(o, v) {
|
|
25
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
26
6
|
});
|
|
27
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
7
|
exports.UserRolesAdd = void 0;
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
48
|
-
var
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
var
|
|
53
|
-
var
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return _this;
|
|
114
|
-
}
|
|
115
|
-
UserRolesAdd.prototype.componentDidUpdate = function (prevProps) {
|
|
116
|
-
var prevShouldReset = prevProps.shouldReset;
|
|
117
|
-
var shouldReset = this.props.shouldReset;
|
|
118
|
-
if (prevShouldReset === false && shouldReset === true) {
|
|
119
|
-
this.setState({
|
|
120
|
-
identifiers: '',
|
|
121
|
-
role: this.props.defaultRole
|
|
122
|
-
});
|
|
123
|
-
}
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
10
|
+
var _AddCircle = _interopRequireDefault(require("@material-ui/icons/AddCircle"));
|
|
11
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _reactBootstrap = require("react-bootstrap");
|
|
14
|
+
var _AlertDialog = require("../../components/AlertDialog");
|
|
15
|
+
var _Inline = require("../../components/RefreshIndicator/Inline");
|
|
16
|
+
var _Select = require("../../components/UserRoles/Select");
|
|
17
|
+
var _baseRole = require("../../constants/baseRole");
|
|
18
|
+
var _configuration = require("../../constants/configuration");
|
|
19
|
+
var _domainIdentifier = require("../../utils/domainIdentifier");
|
|
20
|
+
var _shard = require("../../utils/shard");
|
|
21
|
+
var _string = require("../../utils/string");
|
|
22
|
+
var _AlertWithIcon = require("../AlertWithIcon");
|
|
23
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
25
|
+
const FERPA_ROLES = [_baseRole.BASE_ROLE.SUPER_ADMIN, _baseRole.BASE_ROLE.ADMIN, _baseRole.BASE_ROLE.GROUP_OWNER, _baseRole.BASE_ROLE.GROUP_GRADER];
|
|
26
|
+
class UserRolesAdd extends _react.Component {
|
|
27
|
+
constructor(props) {
|
|
28
|
+
super(props);
|
|
29
|
+
(0, _defineProperty2.default)(this, "updateRole", role => {
|
|
30
|
+
this.setState({
|
|
31
|
+
role
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
(0, _defineProperty2.default)(this, "handleSubmit", () => {
|
|
35
|
+
const {
|
|
36
|
+
identifiers,
|
|
37
|
+
role
|
|
38
|
+
} = this.state;
|
|
39
|
+
const identifiersArray = identifiers.split(/\r\n|\r|\n/g).map(id => id.trim()).filter(id => id !== ''); // filter identifiers that are empty
|
|
40
|
+
const errorMessage = this.getValidationErrorMessage(identifiersArray);
|
|
41
|
+
if (errorMessage) {
|
|
42
|
+
this.setState({
|
|
43
|
+
showErrorAlert: true,
|
|
44
|
+
errorMessage
|
|
45
|
+
});
|
|
46
|
+
} else {
|
|
47
|
+
this.props.addUserRoles(identifiersArray, role);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
(0, _defineProperty2.default)(this, "closeErrorAlert", () => {
|
|
51
|
+
this.setState({
|
|
52
|
+
showErrorAlert: false,
|
|
53
|
+
errorMessage: undefined
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
(0, _defineProperty2.default)(this, "updateIdentifiers", e => {
|
|
57
|
+
this.setState({
|
|
58
|
+
identifiers: e.target.value
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
(0, _defineProperty2.default)(this, "getValidationErrorMessage", identifiers => {
|
|
62
|
+
if (!identifiers || identifiers.length === 0) {
|
|
63
|
+
return `Please enter at least one ${(0, _domainIdentifier.getDomainIdentifierTypeString)()}.`;
|
|
64
|
+
}
|
|
65
|
+
let invalidIdentifiers;
|
|
66
|
+
if ((0, _shard.isPurdueShard)() && !identifiers.every(id => (0, _string.isPurdueAliasOrPuid)(id))) {
|
|
67
|
+
invalidIdentifiers = identifiers.filter(id => !(0, _string.isPurdueAliasOrPuid)(id));
|
|
68
|
+
}
|
|
69
|
+
if (!(0, _shard.isPurdueShard)() && !identifiers.every(id => (0, _string.isEmail)(id))) {
|
|
70
|
+
invalidIdentifiers = identifiers.filter(id => !(0, _string.isEmail)(id));
|
|
71
|
+
}
|
|
72
|
+
if (invalidIdentifiers) {
|
|
73
|
+
return `Please enter valid ${(0, _domainIdentifier.getDomainIdentifierTypePluralString)()}. The following are invalid:\r\n${invalidIdentifiers.join('\r\n')}`;
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
});
|
|
77
|
+
this.state = {
|
|
78
|
+
identifiers: '',
|
|
79
|
+
role: this.props.defaultRole,
|
|
80
|
+
showErrorAlert: false,
|
|
81
|
+
errorMessage: undefined
|
|
124
82
|
};
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
};
|
|
164
|
-
|
|
165
|
-
|
|
83
|
+
}
|
|
84
|
+
componentDidUpdate(prevProps) {
|
|
85
|
+
const {
|
|
86
|
+
shouldReset: prevShouldReset
|
|
87
|
+
} = prevProps;
|
|
88
|
+
const {
|
|
89
|
+
shouldReset
|
|
90
|
+
} = this.props;
|
|
91
|
+
if (!prevShouldReset && shouldReset) {
|
|
92
|
+
this.setState({
|
|
93
|
+
identifiers: '',
|
|
94
|
+
role: this.props.defaultRole
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
render() {
|
|
99
|
+
const {
|
|
100
|
+
identifiers,
|
|
101
|
+
role,
|
|
102
|
+
showErrorAlert,
|
|
103
|
+
errorMessage
|
|
104
|
+
} = this.state;
|
|
105
|
+
const {
|
|
106
|
+
entityName,
|
|
107
|
+
isAddingUsersToRole,
|
|
108
|
+
roleDescriptions,
|
|
109
|
+
renderAddDescription,
|
|
110
|
+
disabled,
|
|
111
|
+
textForRole
|
|
112
|
+
} = this.props;
|
|
113
|
+
const roles = _lodash.default.keys(roleDescriptions);
|
|
114
|
+
const rolePopover = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Popover, {
|
|
115
|
+
id: "role",
|
|
116
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
|
|
117
|
+
children: "Role"
|
|
118
|
+
}), roles.map(r => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
119
|
+
children: roleDescriptions[r]
|
|
120
|
+
}, r))]
|
|
121
|
+
});
|
|
122
|
+
const appConfig = (0, _configuration.getAppConfig)();
|
|
123
|
+
const appName = appConfig.APP_NAME;
|
|
124
|
+
const gradableDescriptor = appConfig.GRADABLE_DESCRIPTOR;
|
|
125
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Row, {
|
|
126
|
+
children: [!!renderAddDescription && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
|
|
127
|
+
xs: 12,
|
|
128
|
+
children: renderAddDescription(entityName)
|
|
129
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
|
|
130
|
+
xs: 12,
|
|
131
|
+
sm: 6,
|
|
132
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.FormGroup, {
|
|
133
|
+
controlId: "UserEntry",
|
|
134
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.FormLabel, {
|
|
135
|
+
className: "f6",
|
|
136
|
+
children: [(0, _domainIdentifier.getDomainIdentifierTypePluralString)(), " (separated by a new line)"]
|
|
137
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.FormControl, {
|
|
138
|
+
type: "text",
|
|
139
|
+
as: "textarea",
|
|
140
|
+
name: "account",
|
|
141
|
+
"aria-label": "The account names to add",
|
|
142
|
+
onChange: this.updateIdentifiers,
|
|
143
|
+
value: identifiers,
|
|
144
|
+
placeholder: (0, _domainIdentifier.getDomainIdentifierTypeString)(),
|
|
145
|
+
disabled: disabled
|
|
146
|
+
})]
|
|
147
|
+
})
|
|
148
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
|
|
149
|
+
xs: 12,
|
|
150
|
+
sm: 4,
|
|
151
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.RoleSelect, {
|
|
152
|
+
options: roles,
|
|
153
|
+
value: role,
|
|
154
|
+
onChange: this.updateRole,
|
|
155
|
+
labelVisible: true,
|
|
156
|
+
popoverContentComponent: rolePopover,
|
|
157
|
+
textForRole: textForRole
|
|
158
|
+
})
|
|
159
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Col, {
|
|
160
|
+
xs: 12,
|
|
161
|
+
sm: 2,
|
|
162
|
+
className: "mt3-ns pt2-ns",
|
|
163
|
+
children: [isAddingUsersToRole && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Inline.RefreshIndicatorInline, {
|
|
164
|
+
className: "mr3"
|
|
165
|
+
}), !isAddingUsersToRole && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
166
|
+
id: "userRolesAddButton",
|
|
167
|
+
color: "primary",
|
|
168
|
+
className: "btn-primary w-100-lt-xs",
|
|
169
|
+
disabled: !identifiers || disabled,
|
|
170
|
+
onClick: this.handleSubmit,
|
|
171
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AddCircle.default, {
|
|
172
|
+
className: "v-mid"
|
|
173
|
+
}), "Add"]
|
|
174
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_AlertDialog.AlertDialog, {
|
|
175
|
+
isOpen: showErrorAlert,
|
|
176
|
+
title: `Error Adding People to the ${entityName}`,
|
|
177
|
+
description: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
178
|
+
className: "pre-wrap",
|
|
179
|
+
children: errorMessage
|
|
180
|
+
}),
|
|
181
|
+
proceedText: "Got it. Thanks!",
|
|
182
|
+
onProceed: this.closeErrorAlert,
|
|
183
|
+
onCancel: this.closeErrorAlert
|
|
184
|
+
})]
|
|
185
|
+
}), _lodash.default.includes(FERPA_ROLES, role) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Col, {
|
|
186
|
+
xs: 12,
|
|
187
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AlertWithIcon.AlertWithIcon, {
|
|
188
|
+
id: "ferpaWarning",
|
|
189
|
+
variant: "warning",
|
|
190
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
|
|
191
|
+
children: ["This role includes ", gradableDescriptor, " scores in ", appName, ". Please consider whether", ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
192
|
+
href: "https://www.purdue.edu/registrar/FERPA/index.html",
|
|
193
|
+
target: "_blank",
|
|
194
|
+
rel: "noopener noreferrer",
|
|
195
|
+
children: "FERPA"
|
|
196
|
+
}), ' ', "certification is needed."]
|
|
197
|
+
})
|
|
198
|
+
})
|
|
199
|
+
})]
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
166
203
|
exports.UserRolesAdd = UserRolesAdd;
|
|
204
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQnV0dG9uIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQWRkQ2lyY2xlIiwiX2xvZGFzaCIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0FsZXJ0RGlhbG9nIiwiX0lubGluZSIsIl9TZWxlY3QiLCJfYmFzZVJvbGUiLCJfY29uZmlndXJhdGlvbiIsIl9kb21haW5JZGVudGlmaWVyIiwiX3NoYXJkIiwiX3N0cmluZyIsIl9BbGVydFdpdGhJY29uIiwiX2pzeFJ1bnRpbWUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJGRVJQQV9ST0xFUyIsIkJBU0VfUk9MRSIsIlNVUEVSX0FETUlOIiwiQURNSU4iLCJHUk9VUF9PV05FUiIsIkdST1VQX0dSQURFUiIsIlVzZXJSb2xlc0FkZCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwicm9sZSIsInNldFN0YXRlIiwiaWRlbnRpZmllcnMiLCJzdGF0ZSIsImlkZW50aWZpZXJzQXJyYXkiLCJzcGxpdCIsIm1hcCIsImlkIiwidHJpbSIsImZpbHRlciIsImVycm9yTWVzc2FnZSIsImdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UiLCJzaG93RXJyb3JBbGVydCIsImFkZFVzZXJSb2xlcyIsInVuZGVmaW5lZCIsInRhcmdldCIsInZhbHVlIiwibGVuZ3RoIiwiZ2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmciLCJpbnZhbGlkSWRlbnRpZmllcnMiLCJpc1B1cmR1ZVNoYXJkIiwiZXZlcnkiLCJpc1B1cmR1ZUFsaWFzT3JQdWlkIiwiaXNFbWFpbCIsImdldERvbWFpbklkZW50aWZpZXJUeXBlUGx1cmFsU3RyaW5nIiwiam9pbiIsImRlZmF1bHRSb2xlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwic2hvdWxkUmVzZXQiLCJwcmV2U2hvdWxkUmVzZXQiLCJyZW5kZXIiLCJlbnRpdHlOYW1lIiwiaXNBZGRpbmdVc2Vyc1RvUm9sZSIsInJvbGVEZXNjcmlwdGlvbnMiLCJyZW5kZXJBZGREZXNjcmlwdGlvbiIsImRpc2FibGVkIiwidGV4dEZvclJvbGUiLCJyb2xlcyIsIl8iLCJrZXlzIiwicm9sZVBvcG92ZXIiLCJqc3hzIiwiUG9wb3ZlciIsImNoaWxkcmVuIiwianN4IiwiRnJhZ21lbnQiLCJhcHBDb25maWciLCJnZXRBcHBDb25maWciLCJhcHBOYW1lIiwiQVBQX05BTUUiLCJncmFkYWJsZURlc2NyaXB0b3IiLCJHUkFEQUJMRV9ERVNDUklQVE9SIiwiUm93IiwiQ29sIiwieHMiLCJzbSIsIkZvcm1Hcm91cCIsImNvbnRyb2xJZCIsIkZvcm1MYWJlbCIsImNsYXNzTmFtZSIsIkZvcm1Db250cm9sIiwidHlwZSIsImFzIiwibmFtZSIsIm9uQ2hhbmdlIiwidXBkYXRlSWRlbnRpZmllcnMiLCJwbGFjZWhvbGRlciIsIlJvbGVTZWxlY3QiLCJvcHRpb25zIiwidXBkYXRlUm9sZSIsImxhYmVsVmlzaWJsZSIsInBvcG92ZXJDb250ZW50Q29tcG9uZW50IiwiUmVmcmVzaEluZGljYXRvcklubGluZSIsImNvbG9yIiwib25DbGljayIsImhhbmRsZVN1Ym1pdCIsIkFsZXJ0RGlhbG9nIiwiaXNPcGVuIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInByb2NlZWRUZXh0Iiwib25Qcm9jZWVkIiwiY2xvc2VFcnJvckFsZXJ0Iiwib25DYW5jZWwiLCJpbmNsdWRlcyIsIkFsZXJ0V2l0aEljb24iLCJ2YXJpYW50IiwiaHJlZiIsInJlbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Vc2VyUm9sZXMvQWRkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbidcbmltcG9ydCBBZGRDaXJjbGUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0FkZENpcmNsZSdcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcbmltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQsIEZyYWdtZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1MYWJlbCwgUG9wb3ZlciwgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuaW1wb3J0IHsgQWxlcnREaWFsb2cgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0FsZXJ0RGlhbG9nJ1xuaW1wb3J0IHsgUmVmcmVzaEluZGljYXRvcklubGluZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUmVmcmVzaEluZGljYXRvci9JbmxpbmUnXG5pbXBvcnQgeyBSb2xlU2VsZWN0IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9Vc2VyUm9sZXMvU2VsZWN0J1xuaW1wb3J0IHsgQkFTRV9ST0xFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Jhc2VSb2xlJ1xuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24nXG5pbXBvcnQgeyBSb2xlRGVzY3JpcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXREb21haW5JZGVudGlmaWVyVHlwZVBsdXJhbFN0cmluZywgZ2V0RG9tYWluSWRlbnRpZmllclR5cGVTdHJpbmcgfSBmcm9tICcuLi8uLi91dGlscy9kb21haW5JZGVudGlmaWVyJ1xuaW1wb3J0IHsgaXNQdXJkdWVTaGFyZCB9IGZyb20gJy4uLy4uL3V0aWxzL3NoYXJkJ1xuaW1wb3J0IHsgaXNFbWFpbCwgaXNQdXJkdWVBbGlhc09yUHVpZCB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZydcbmltcG9ydCB7IEFsZXJ0V2l0aEljb24gfSBmcm9tICcuLi9BbGVydFdpdGhJY29uJ1xuXG5jb25zdCBGRVJQQV9ST0xFUyA9IFtCQVNFX1JPTEUuU1VQRVJfQURNSU4sIEJBU0VfUk9MRS5BRE1JTiwgQkFTRV9ST0xFLkdST1VQX09XTkVSLCBCQVNFX1JPTEUuR1JPVVBfR1JBREVSXVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSb2xlc0FkZFByb3BzIHtcblx0aWQ6IHN0cmluZ1xuXG5cdGRpc2FibGVkPzogYm9vbGVhblxuXHRlbnRpdHlOYW1lPzogc3RyaW5nXG5cdGRlZmF1bHRSb2xlOiBzdHJpbmdcblx0cm9sZURlc2NyaXB0aW9uczogUm9sZURlc2NyaXB0aW9uc1xuXHRyZW5kZXJBZGREZXNjcmlwdGlvbj86IChlbnRpdHlOYW1lPzogc3RyaW5nKSA9PiBSZWFjdC5KU1guRWxlbWVudFxuXHR0ZXh0Rm9yUm9sZT86IChyb2xlOiBzdHJpbmcpID0+IHN0cmluZ1xuXG5cdGlzQWRkaW5nVXNlcnNUb1JvbGU6IGJvb2xlYW5cblx0c2hvdWxkUmVzZXQ6IGJvb2xlYW5cblx0YWRkVXNlclJvbGVzOiAoaWRlbnRpZmllcnM6IHN0cmluZ1tdLCByb2xlOiBzdHJpbmcpID0+IHZvaWRcbn1cblxuaW50ZXJmYWNlIFVzZXJSb2xlc0FkZFN0YXRlIHtcblx0aWRlbnRpZmllcnM6IHN0cmluZ1xuXHRyb2xlOiBzdHJpbmdcblx0c2hvd0Vycm9yQWxlcnQ6IGJvb2xlYW5cblx0ZXJyb3JNZXNzYWdlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBVc2VyUm9sZXNBZGQgZXh0ZW5kcyBDb21wb25lbnQ8VXNlclJvbGVzQWRkUHJvcHMsIFVzZXJSb2xlc0FkZFN0YXRlPiB7XG5cdGNvbnN0cnVjdG9yKHByb3BzOiBVc2VyUm9sZXNBZGRQcm9wcykge1xuXHRcdHN1cGVyKHByb3BzKVxuXHRcdHRoaXMuc3RhdGUgPSB7XG5cdFx0XHRpZGVudGlmaWVyczogJycsXG5cdFx0XHRyb2xlOiB0aGlzLnByb3BzLmRlZmF1bHRSb2xlLFxuXHRcdFx0c2hvd0Vycm9yQWxlcnQ6IGZhbHNlLFxuXHRcdFx0ZXJyb3JNZXNzYWdlOiB1bmRlZmluZWRcblx0XHR9XG5cdH1cblxuXHR1cGRhdGVSb2xlID0gKHJvbGU6IHN0cmluZykgPT4ge1xuXHRcdHRoaXMuc2V0U3RhdGUoe1xuXHRcdFx0cm9sZVxuXHRcdH0pXG5cdH1cblxuXHRjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzOiBVc2VyUm9sZXNBZGRQcm9wcykge1xuXHRcdGNvbnN0IHsgc2hvdWxkUmVzZXQ6IHByZXZTaG91bGRSZXNldCB9ID0gcHJldlByb3BzXG5cdFx0Y29uc3QgeyBzaG91bGRSZXNldCB9ID0gdGhpcy5wcm9wc1xuXHRcdGlmICghcHJldlNob3VsZFJlc2V0ICYmIHNob3VsZFJlc2V0KSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0aWRlbnRpZmllcnM6ICcnLFxuXHRcdFx0XHRyb2xlOiB0aGlzLnByb3BzLmRlZmF1bHRSb2xlXG5cdFx0XHR9KVxuXHRcdH1cblx0fVxuXG5cdGhhbmRsZVN1Ym1pdCA9ICgpID0+IHtcblx0XHRjb25zdCB7IGlkZW50aWZpZXJzLCByb2xlIH0gPSB0aGlzLnN0YXRlXG5cdFx0Y29uc3QgaWRlbnRpZmllcnNBcnJheSA9IGlkZW50aWZpZXJzXG5cdFx0XHQuc3BsaXQoL1xcclxcbnxcXHJ8XFxuL2cpXG5cdFx0XHQubWFwKGlkID0+IGlkLnRyaW0oKSlcblx0XHRcdC5maWx0ZXIoaWQgPT4gaWQgIT09ICcnKSAvLyBmaWx0ZXIgaWRlbnRpZmllcnMgdGhhdCBhcmUgZW1wdHlcblx0XHRjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmdldFZhbGlkYXRpb25FcnJvck1lc3NhZ2UoaWRlbnRpZmllcnNBcnJheSlcblx0XHRpZiAoZXJyb3JNZXNzYWdlKSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0c2hvd0Vycm9yQWxlcnQ6IHRydWUsXG5cdFx0XHRcdGVycm9yTWVzc2FnZVxuXHRcdFx0fSlcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5wcm9wcy5hZGRVc2VyUm9sZXMoaWRlbnRpZmllcnNBcnJheSwgcm9sZSlcblx0XHR9XG5cdH1cblxuXHRjbG9zZUVycm9yQWxlcnQgPSAoKSA9PiB7XG5cdFx0dGhpcy5zZXRTdGF0ZSh7XG5cdFx0XHRzaG93RXJyb3JBbGVydDogZmFsc2UsXG5cdFx0XHRlcnJvck1lc3NhZ2U6IHVuZGVmaW5lZFxuXHRcdH0pXG5cdH1cblxuXHR1cGRhdGVJZGVudGlmaWVycyA9IChlOiBhbnkpID0+IHtcblx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdGlkZW50aWZpZXJzOiBlLnRhcmdldC52YWx1ZSBhcyBzdHJpbmdcblx0XHR9KVxuXHR9XG5cblx0Z2V0VmFsaWRhdGlvbkVycm9yTWVzc2FnZSA9IChpZGVudGlmaWVycz86IHN0cmluZ1tdKSA9PiB7XG5cdFx0aWYgKCFpZGVudGlmaWVycyB8fCBpZGVudGlmaWVycy5sZW5ndGggPT09IDApIHtcblx0XHRcdHJldHVybiBgUGxlYXNlIGVudGVyIGF0IGxlYXN0IG9uZSAke2dldERvbWFpbklkZW50aWZpZXJUeXBlU3RyaW5nKCl9LmBcblx0XHR9XG5cblx0XHRsZXQgaW52YWxpZElkZW50aWZpZXJzXG5cdFx0aWYgKGlzUHVyZHVlU2hhcmQoKSAmJiAhaWRlbnRpZmllcnMuZXZlcnkoaWQgPT4gaXNQdXJkdWVBbGlhc09yUHVpZChpZCkpKSB7XG5cdFx0XHRpbnZhbGlkSWRlbnRpZmllcnMgPSBpZGVudGlmaWVycy5maWx0ZXIoaWQgPT4gIWlzUHVyZHVlQWxpYXNPclB1aWQoaWQpKVxuXHRcdH1cblx0XHRpZiAoIWlzUHVyZHVlU2hhcmQoKSAmJiAhaWRlbnRpZmllcnMuZXZlcnkoaWQgPT4gaXNFbWFpbChpZCkpKSB7XG5cdFx0XHRpbnZhbGlkSWRlbnRpZmllcnMgPSBpZGVudGlmaWVycy5maWx0ZXIoaWQgPT4gIWlzRW1haWwoaWQpKVxuXHRcdH1cblx0XHRpZiAoaW52YWxpZElkZW50aWZpZXJzKSB7XG5cdFx0XHRyZXR1cm4gYFBsZWFzZSBlbnRlciB2YWxpZCAke2dldERvbWFpbklkZW50aWZpZXJUeXBlUGx1cmFsU3RyaW5nKCl9LiBUaGUgZm9sbG93aW5nIGFyZSBpbnZhbGlkOlxcclxcbiR7aW52YWxpZElkZW50aWZpZXJzLmpvaW4oXG5cdFx0XHRcdCdcXHJcXG4nXG5cdFx0XHQpfWBcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZFxuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHsgaWRlbnRpZmllcnMsIHJvbGUsIHNob3dFcnJvckFsZXJ0LCBlcnJvck1lc3NhZ2UgfSA9IHRoaXMuc3RhdGVcblx0XHRjb25zdCB7IGVudGl0eU5hbWUsIGlzQWRkaW5nVXNlcnNUb1JvbGUsIHJvbGVEZXNjcmlwdGlvbnMsIHJlbmRlckFkZERlc2NyaXB0aW9uLCBkaXNhYmxlZCwgdGV4dEZvclJvbGUgfSA9XG5cdFx0XHR0aGlzLnByb3BzXG5cdFx0Y29uc3Qgcm9sZXMgPSBfLmtleXMocm9sZURlc2NyaXB0aW9ucylcblx0XHRjb25zdCByb2xlUG9wb3ZlciA9IChcblx0XHRcdDxQb3BvdmVyIGlkPVwicm9sZVwiPlxuXHRcdFx0XHQ8aDM+Um9sZTwvaDM+XG5cdFx0XHRcdHtyb2xlcy5tYXAociA9PiAoXG5cdFx0XHRcdFx0PEZyYWdtZW50IGtleT17cn0+e3JvbGVEZXNjcmlwdGlvbnNbcl19PC9GcmFnbWVudD5cblx0XHRcdFx0KSl9XG5cdFx0XHQ8L1BvcG92ZXI+XG5cdFx0KVxuXG5cdFx0Y29uc3QgYXBwQ29uZmlnID0gZ2V0QXBwQ29uZmlnKClcblx0XHRjb25zdCBhcHBOYW1lID0gYXBwQ29uZmlnLkFQUF9OQU1FXG5cdFx0Y29uc3QgZ3JhZGFibGVEZXNjcmlwdG9yID0gYXBwQ29uZmlnLkdSQURBQkxFX0RFU0NSSVBUT1JcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8Um93PlxuXHRcdFx0XHR7ISFyZW5kZXJBZGREZXNjcmlwdGlvbiAmJiA8Q29sIHhzPXsxMn0+e3JlbmRlckFkZERlc2NyaXB0aW9uKGVudGl0eU5hbWUpfTwvQ29sPn1cblx0XHRcdFx0PENvbCB4cz17MTJ9IHNtPXs2fT5cblx0XHRcdFx0XHQ8Rm9ybUdyb3VwIGNvbnRyb2xJZD1cIlVzZXJFbnRyeVwiPlxuXHRcdFx0XHRcdFx0PEZvcm1MYWJlbCBjbGFzc05hbWU9XCJmNlwiPlxuXHRcdFx0XHRcdFx0XHR7Z2V0RG9tYWluSWRlbnRpZmllclR5cGVQbHVyYWxTdHJpbmcoKX0gKHNlcGFyYXRlZCBieSBhIG5ldyBsaW5lKVxuXHRcdFx0XHRcdFx0PC9Gb3JtTGFiZWw+XG5cdFx0XHRcdFx0XHQ8Rm9ybUNvbnRyb2xcblx0XHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxuXHRcdFx0XHRcdFx0XHRhcz1cInRleHRhcmVhXCJcblx0XHRcdFx0XHRcdFx0bmFtZT1cImFjY291bnRcIlxuXHRcdFx0XHRcdFx0XHRhcmlhLWxhYmVsPVwiVGhlIGFjY291bnQgbmFtZXMgdG8gYWRkXCJcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U9e3RoaXMudXBkYXRlSWRlbnRpZmllcnN9XG5cdFx0XHRcdFx0XHRcdHZhbHVlPXtpZGVudGlmaWVyc31cblx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9e2dldERvbWFpbklkZW50aWZpZXJUeXBlU3RyaW5nKCl9XG5cdFx0XHRcdFx0XHRcdGRpc2FibGVkPXtkaXNhYmxlZH1cblx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0PC9Gb3JtR3JvdXA+XG5cdFx0XHRcdDwvQ29sPlxuXHRcdFx0XHQ8Q29sIHhzPXsxMn0gc209ezR9PlxuXHRcdFx0XHRcdDxSb2xlU2VsZWN0XG5cdFx0XHRcdFx0XHRvcHRpb25zPXtyb2xlc31cblx0XHRcdFx0XHRcdHZhbHVlPXtyb2xlfVxuXHRcdFx0XHRcdFx0b25DaGFuZ2U9e3RoaXMudXBkYXRlUm9sZX1cblx0XHRcdFx0XHRcdGxhYmVsVmlzaWJsZVxuXHRcdFx0XHRcdFx0cG9wb3ZlckNvbnRlbnRDb21wb25lbnQ9e3JvbGVQb3BvdmVyfVxuXHRcdFx0XHRcdFx0dGV4dEZvclJvbGU9e3RleHRGb3JSb2xlfVxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdDwvQ29sPlxuXHRcdFx0XHQ8Q29sIHhzPXsxMn0gc209ezJ9IGNsYXNzTmFtZT1cIm10My1ucyBwdDItbnNcIj5cblx0XHRcdFx0XHR7aXNBZGRpbmdVc2Vyc1RvUm9sZSAmJiA8UmVmcmVzaEluZGljYXRvcklubGluZSBjbGFzc05hbWU9XCJtcjNcIiAvPn1cblx0XHRcdFx0XHR7IWlzQWRkaW5nVXNlcnNUb1JvbGUgJiYgKFxuXHRcdFx0XHRcdFx0PEJ1dHRvblxuXHRcdFx0XHRcdFx0XHRpZD1cInVzZXJSb2xlc0FkZEJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cImJ0bi1wcmltYXJ5IHctMTAwLWx0LXhzXCJcblx0XHRcdFx0XHRcdFx0ZGlzYWJsZWQ9eyFpZGVudGlmaWVycyB8fCBkaXNhYmxlZH1cblx0XHRcdFx0XHRcdFx0b25DbGljaz17dGhpcy5oYW5kbGVTdWJtaXR9PlxuXHRcdFx0XHRcdFx0XHQ8QWRkQ2lyY2xlIGNsYXNzTmFtZT1cInYtbWlkXCIgLz5cblx0XHRcdFx0XHRcdFx0QWRkXG5cdFx0XHRcdFx0XHQ8L0J1dHRvbj5cblx0XHRcdFx0XHQpfVxuXHRcdFx0XHRcdDxBbGVydERpYWxvZ1xuXHRcdFx0XHRcdFx0aXNPcGVuPXtzaG93RXJyb3JBbGVydH1cblx0XHRcdFx0XHRcdHRpdGxlPXtgRXJyb3IgQWRkaW5nIFBlb3BsZSB0byB0aGUgJHtlbnRpdHlOYW1lfWB9XG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvbj17PGRpdiBjbGFzc05hbWU9XCJwcmUtd3JhcFwiPntlcnJvck1lc3NhZ2V9PC9kaXY+fVxuXHRcdFx0XHRcdFx0cHJvY2VlZFRleHQ9XCJHb3QgaXQuIFRoYW5rcyFcIlxuXHRcdFx0XHRcdFx0b25Qcm9jZWVkPXt0aGlzLmNsb3NlRXJyb3JBbGVydH1cblx0XHRcdFx0XHRcdG9uQ2FuY2VsPXt0aGlzLmNsb3NlRXJyb3JBbGVydH1cblx0XHRcdFx0XHQvPlxuXHRcdFx0XHQ8L0NvbD5cblx0XHRcdFx0e18uaW5jbHVkZXMoRkVSUEFfUk9MRVMsIHJvbGUpICYmIChcblx0XHRcdFx0XHQ8Q29sIHhzPXsxMn0+XG5cdFx0XHRcdFx0XHQ8QWxlcnRXaXRoSWNvbiBpZD1cImZlcnBhV2FybmluZ1wiIHZhcmlhbnQ9XCJ3YXJuaW5nXCI+XG5cdFx0XHRcdFx0XHRcdDxwPlxuXHRcdFx0XHRcdFx0XHRcdFRoaXMgcm9sZSBpbmNsdWRlcyB7Z3JhZGFibGVEZXNjcmlwdG9yfSBzY29yZXMgaW4ge2FwcE5hbWV9LiBQbGVhc2UgY29uc2lkZXIgd2hldGhlcnsnICd9XG5cdFx0XHRcdFx0XHRcdFx0PGFcblx0XHRcdFx0XHRcdFx0XHRcdGhyZWY9XCJodHRwczovL3d3dy5wdXJkdWUuZWR1L3JlZ2lzdHJhci9GRVJQQS9pbmRleC5odG1sXCJcblx0XHRcdFx0XHRcdFx0XHRcdHRhcmdldD1cIl9ibGFua1wiXG5cdFx0XHRcdFx0XHRcdFx0XHRyZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRGRVJQQVxuXHRcdFx0XHRcdFx0XHRcdDwvYT57JyAnfVxuXHRcdFx0XHRcdFx0XHRcdGNlcnRpZmljYXRpb24gaXMgbmVlZGVkLlxuXHRcdFx0XHRcdFx0XHQ8L3A+XG5cdFx0XHRcdFx0XHQ8L0FsZXJ0V2l0aEljb24+XG5cdFx0XHRcdFx0PC9Db2w+XG5cdFx0XHRcdCl9XG5cdFx0XHQ8L1Jvdz5cblx0XHQpXG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxlQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxjQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxpQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksTUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsT0FBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsY0FBQSxHQUFBZCxPQUFBO0FBQWdELElBQUFlLFdBQUEsR0FBQWYsT0FBQTtBQUFBLFNBQUFJLHdCQUFBWSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBZCx1QkFBQSxZQUFBQSxDQUFBWSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQUMsT0FBQSxFQUFBVixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGdCQUFBUCxDQUFBLElBQUFELENBQUEsZ0JBQUFDLENBQUEsT0FBQWEsY0FBQSxDQUFBQyxJQUFBLENBQUFmLENBQUEsRUFBQUMsQ0FBQSxPQUFBTSxDQUFBLElBQUFELENBQUEsR0FBQVUsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWxCLENBQUEsRUFBQUMsQ0FBQSxPQUFBTSxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBUCxDQUFBLEVBQUFNLENBQUEsSUFBQUMsQ0FBQSxDQUFBUCxDQUFBLElBQUFELENBQUEsQ0FBQUMsQ0FBQSxXQUFBTyxDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQUVoRCxNQUFNa0IsV0FBVyxHQUFHLENBQUNDLG1CQUFTLENBQUNDLFdBQVcsRUFBRUQsbUJBQVMsQ0FBQ0UsS0FBSyxFQUFFRixtQkFBUyxDQUFDRyxXQUFXLEVBQUVILG1CQUFTLENBQUNJLFlBQVksQ0FBQztBQXdCcEcsTUFBTUMsWUFBWSxTQUFTQyxnQkFBUyxDQUF1QztFQUNqRkMsV0FBV0EsQ0FBQ0MsS0FBd0IsRUFBRTtJQUNyQyxLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFBLElBQUFDLGdCQUFBLENBQUFuQixPQUFBLHNCQVNDb0IsSUFBWSxJQUFLO01BQzlCLElBQUksQ0FBQ0MsUUFBUSxDQUFDO1FBQ2JEO01BQ0QsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUFBLElBQUFELGdCQUFBLENBQUFuQixPQUFBLHdCQWFjLE1BQU07TUFDcEIsTUFBTTtRQUFFc0IsV0FBVztRQUFFRjtNQUFLLENBQUMsR0FBRyxJQUFJLENBQUNHLEtBQUs7TUFDeEMsTUFBTUMsZ0JBQWdCLEdBQUdGLFdBQVcsQ0FDbENHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDcEJDLEdBQUcsQ0FBQ0MsRUFBRSxJQUFJQSxFQUFFLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDcEJDLE1BQU0sQ0FBQ0YsRUFBRSxJQUFJQSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUM7TUFDMUIsTUFBTUcsWUFBWSxHQUFHLElBQUksQ0FBQ0MseUJBQXlCLENBQUNQLGdCQUFnQixDQUFDO01BQ3JFLElBQUlNLFlBQVksRUFBRTtRQUNqQixJQUFJLENBQUNULFFBQVEsQ0FBQztVQUNiVyxjQUFjLEVBQUUsSUFBSTtVQUNwQkY7UUFDRCxDQUFDLENBQUM7TUFDSCxDQUFDLE1BQU07UUFDTixJQUFJLENBQUNaLEtBQUssQ0FBQ2UsWUFBWSxDQUFDVCxnQkFBZ0IsRUFBRUosSUFBSSxDQUFDO01BQ2hEO0lBQ0QsQ0FBQztJQUFBLElBQUFELGdCQUFBLENBQUFuQixPQUFBLDJCQUVpQixNQUFNO01BQ3ZCLElBQUksQ0FBQ3FCLFFBQVEsQ0FBQztRQUNiVyxjQUFjLEVBQUUsS0FBSztRQUNyQkYsWUFBWSxFQUFFSTtNQUNmLENBQUMsQ0FBQztJQUNILENBQUM7SUFBQSxJQUFBZixnQkFBQSxDQUFBbkIsT0FBQSw2QkFFb0JWLENBQU0sSUFBSztNQUMvQixJQUFJLENBQUMrQixRQUFRLENBQUM7UUFDYkMsV0FBVyxFQUFFaEMsQ0FBQyxDQUFDNkMsTUFBTSxDQUFDQztNQUN2QixDQUFDLENBQUM7SUFDSCxDQUFDO0lBQUEsSUFBQWpCLGdCQUFBLENBQUFuQixPQUFBLHFDQUU0QnNCLFdBQXNCLElBQUs7TUFDdkQsSUFBSSxDQUFDQSxXQUFXLElBQUlBLFdBQVcsQ0FBQ2UsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUM3QyxPQUFPLDZCQUE2QixJQUFBQywrQ0FBNkIsRUFBQyxDQUFDLEdBQUc7TUFDdkU7TUFFQSxJQUFJQyxrQkFBa0I7TUFDdEIsSUFBSSxJQUFBQyxvQkFBYSxFQUFDLENBQUMsSUFBSSxDQUFDbEIsV0FBVyxDQUFDbUIsS0FBSyxDQUFDZCxFQUFFLElBQUksSUFBQWUsMkJBQW1CLEVBQUNmLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDekVZLGtCQUFrQixHQUFHakIsV0FBVyxDQUFDTyxNQUFNLENBQUNGLEVBQUUsSUFBSSxDQUFDLElBQUFlLDJCQUFtQixFQUFDZixFQUFFLENBQUMsQ0FBQztNQUN4RTtNQUNBLElBQUksQ0FBQyxJQUFBYSxvQkFBYSxFQUFDLENBQUMsSUFBSSxDQUFDbEIsV0FBVyxDQUFDbUIsS0FBSyxDQUFDZCxFQUFFLElBQUksSUFBQWdCLGVBQU8sRUFBQ2hCLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDOURZLGtCQUFrQixHQUFHakIsV0FBVyxDQUFDTyxNQUFNLENBQUNGLEVBQUUsSUFBSSxDQUFDLElBQUFnQixlQUFPLEVBQUNoQixFQUFFLENBQUMsQ0FBQztNQUM1RDtNQUNBLElBQUlZLGtCQUFrQixFQUFFO1FBQ3ZCLE9BQU8sc0JBQXNCLElBQUFLLHFEQUFtQyxFQUFDLENBQUMsbUNBQW1DTCxrQkFBa0IsQ0FBQ00sSUFBSSxDQUMzSCxNQUNELENBQUMsRUFBRTtNQUNKO01BQ0EsT0FBT1gsU0FBUztJQUNqQixDQUFDO0lBekVBLElBQUksQ0FBQ1gsS0FBSyxHQUFHO01BQ1pELFdBQVcsRUFBRSxFQUFFO01BQ2ZGLElBQUksRUFBRSxJQUFJLENBQUNGLEtBQUssQ0FBQzRCLFdBQVc7TUFDNUJkLGNBQWMsRUFBRSxLQUFLO01BQ3JCRixZQUFZLEVBQUVJO0lBQ2YsQ0FBQztFQUNGO0VBUUFhLGtCQUFrQkEsQ0FBQ0MsU0FBNEIsRUFBRTtJQUNoRCxNQUFNO01BQUVDLFdBQVcsRUFBRUM7SUFBZ0IsQ0FBQyxHQUFHRixTQUFTO0lBQ2xELE1BQU07TUFBRUM7SUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDL0IsS0FBSztJQUNsQyxJQUFJLENBQUNnQyxlQUFlLElBQUlELFdBQVcsRUFBRTtNQUNwQyxJQUFJLENBQUM1QixRQUFRLENBQUM7UUFDYkMsV0FBVyxFQUFFLEVBQUU7UUFDZkYsSUFBSSxFQUFFLElBQUksQ0FBQ0YsS0FBSyxDQUFDNEI7TUFDbEIsQ0FBQyxDQUFDO0lBQ0g7RUFDRDtFQW9EQUssTUFBTUEsQ0FBQSxFQUFHO0lBQ1IsTUFBTTtNQUFFN0IsV0FBVztNQUFFRixJQUFJO01BQUVZLGNBQWM7TUFBRUY7SUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDUCxLQUFLO0lBQ3RFLE1BQU07TUFBRTZCLFVBQVU7TUFBRUMsbUJBQW1CO01BQUVDLGdCQUFnQjtNQUFFQyxvQkFBb0I7TUFBRUMsUUFBUTtNQUFFQztJQUFZLENBQUMsR0FDdkcsSUFBSSxDQUFDdkMsS0FBSztJQUNYLE1BQU13QyxLQUFLLEdBQUdDLGVBQUMsQ0FBQ0MsSUFBSSxDQUFDTixnQkFBZ0IsQ0FBQztJQUN0QyxNQUFNTyxXQUFXLGdCQUNoQixJQUFBeEUsV0FBQSxDQUFBeUUsSUFBQSxFQUFDbkYsZUFBQSxDQUFBb0YsT0FBTztNQUFDcEMsRUFBRSxFQUFDLE1BQU07TUFBQXFDLFFBQUEsZ0JBQ2pCLElBQUEzRSxXQUFBLENBQUE0RSxHQUFBO1FBQUFELFFBQUEsRUFBSTtNQUFJLENBQUksQ0FBQyxFQUNaTixLQUFLLENBQUNoQyxHQUFHLENBQUNqQyxDQUFDLGlCQUNYLElBQUFKLFdBQUEsQ0FBQTRFLEdBQUEsRUFBQ3hGLE1BQUEsQ0FBQXlGLFFBQVE7UUFBQUYsUUFBQSxFQUFVVixnQkFBZ0IsQ0FBQzdELENBQUM7TUFBQyxHQUF2QkEsQ0FBa0MsQ0FDakQsQ0FBQztJQUFBLENBQ00sQ0FDVDtJQUVELE1BQU0wRSxTQUFTLEdBQUcsSUFBQUMsMkJBQVksRUFBQyxDQUFDO0lBQ2hDLE1BQU1DLE9BQU8sR0FBR0YsU0FBUyxDQUFDRyxRQUFRO0lBQ2xDLE1BQU1DLGtCQUFrQixHQUFHSixTQUFTLENBQUNLLG1CQUFtQjtJQUV4RCxvQkFDQyxJQUFBbkYsV0FBQSxDQUFBeUUsSUFBQSxFQUFDbkYsZUFBQSxDQUFBOEYsR0FBRztNQUFBVCxRQUFBLEdBQ0YsQ0FBQyxDQUFDVCxvQkFBb0IsaUJBQUksSUFBQWxFLFdBQUEsQ0FBQTRFLEdBQUEsRUFBQ3RGLGVBQUEsQ0FBQStGLEdBQUc7UUFBQ0MsRUFBRSxFQUFFLEVBQUc7UUFBQVgsUUFBQSxFQUFFVCxvQkFBb0IsQ0FBQ0gsVUFBVTtNQUFDLENBQU0sQ0FBQyxlQUNoRixJQUFBL0QsV0FBQSxDQUFBNEUsR0FBQSxFQUFDdEYsZUFBQSxDQUFBK0YsR0FBRztRQUFDQyxFQUFFLEVBQUUsRUFBRztRQUFDQyxFQUFFLEVBQUUsQ0FBRTtRQUFBWixRQUFBLGVBQ2xCLElBQUEzRSxXQUFBLENBQUF5RSxJQUFBLEVBQUNuRixlQUFBLENBQUFrRyxTQUFTO1VBQUNDLFNBQVMsRUFBQyxXQUFXO1VBQUFkLFFBQUEsZ0JBQy9CLElBQUEzRSxXQUFBLENBQUF5RSxJQUFBLEVBQUNuRixlQUFBLENBQUFvRyxTQUFTO1lBQUNDLFNBQVMsRUFBQyxJQUFJO1lBQUFoQixRQUFBLEdBQ3ZCLElBQUFwQixxREFBbUMsRUFBQyxDQUFDLEVBQUMsNEJBQ3hDO1VBQUEsQ0FBVyxDQUFDLGVBQ1osSUFBQXZELFdBQUEsQ0FBQTRFLEdBQUEsRUFBQ3RGLGVBQUEsQ0FBQXNHLFdBQVc7WUFDWEMsSUFBSSxFQUFDLE1BQU07WUFDWEMsRUFBRSxFQUFDLFVBQVU7WUFDYkMsSUFBSSxFQUFDLFNBQVM7WUFDZCxjQUFXLDBCQUEwQjtZQUNyQ0MsUUFBUSxFQUFFLElBQUksQ0FBQ0MsaUJBQWtCO1lBQ2pDbEQsS0FBSyxFQUFFZCxXQUFZO1lBQ25CaUUsV0FBVyxFQUFFLElBQUFqRCwrQ0FBNkIsRUFBQyxDQUFFO1lBQzdDa0IsUUFBUSxFQUFFQTtVQUFTLENBQ25CLENBQUM7UUFBQSxDQUNRO01BQUMsQ0FDUixDQUFDLGVBQ04sSUFBQW5FLFdBQUEsQ0FBQTRFLEdBQUEsRUFBQ3RGLGVBQUEsQ0FBQStGLEdBQUc7UUFBQ0MsRUFBRSxFQUFFLEVBQUc7UUFBQ0MsRUFBRSxFQUFFLENBQUU7UUFBQVosUUFBQSxlQUNsQixJQUFBM0UsV0FBQSxDQUFBNEUsR0FBQSxFQUFDbkYsT0FBQSxDQUFBMEcsVUFBVTtVQUNWQyxPQUFPLEVBQUUvQixLQUFNO1VBQ2Z0QixLQUFLLEVBQUVoQixJQUFLO1VBQ1ppRSxRQUFRLEVBQUUsSUFBSSxDQUFDSyxVQUFXO1VBQzFCQyxZQUFZO1VBQ1pDLHVCQUF1QixFQUFFL0IsV0FBWTtVQUNyQ0osV0FBVyxFQUFFQTtRQUFZLENBQ3pCO01BQUMsQ0FDRSxDQUFDLGVBQ04sSUFBQXBFLFdBQUEsQ0FBQXlFLElBQUEsRUFBQ25GLGVBQUEsQ0FBQStGLEdBQUc7UUFBQ0MsRUFBRSxFQUFFLEVBQUc7UUFBQ0MsRUFBRSxFQUFFLENBQUU7UUFBQ0ksU0FBUyxFQUFDLGVBQWU7UUFBQWhCLFFBQUEsR0FDM0NYLG1CQUFtQixpQkFBSSxJQUFBaEUsV0FBQSxDQUFBNEUsR0FBQSxFQUFDcEYsT0FBQSxDQUFBZ0gsc0JBQXNCO1VBQUNiLFNBQVMsRUFBQztRQUFLLENBQUUsQ0FBQyxFQUNqRSxDQUFDM0IsbUJBQW1CLGlCQUNwQixJQUFBaEUsV0FBQSxDQUFBeUUsSUFBQSxFQUFDMUYsT0FBQSxDQUFBNEIsT0FBTTtVQUNOMkIsRUFBRSxFQUFDLG9CQUFvQjtVQUN2Qm1FLEtBQUssRUFBQyxTQUFTO1VBQ2ZkLFNBQVMsRUFBQyx5QkFBeUI7VUFDbkN4QixRQUFRLEVBQUUsQ0FBQ2xDLFdBQVcsSUFBSWtDLFFBQVM7VUFDbkN1QyxPQUFPLEVBQUUsSUFBSSxDQUFDQyxZQUFhO1VBQUFoQyxRQUFBLGdCQUMzQixJQUFBM0UsV0FBQSxDQUFBNEUsR0FBQSxFQUFDMUYsVUFBQSxDQUFBeUIsT0FBUztZQUFDZ0YsU0FBUyxFQUFDO1VBQU8sQ0FBRSxDQUFDLE9BRWhDO1FBQUEsQ0FBUSxDQUNSLGVBQ0QsSUFBQTNGLFdBQUEsQ0FBQTRFLEdBQUEsRUFBQ3JGLFlBQUEsQ0FBQXFILFdBQVc7VUFDWEMsTUFBTSxFQUFFbEUsY0FBZTtVQUN2Qm1FLEtBQUssRUFBRSw4QkFBOEIvQyxVQUFVLEVBQUc7VUFDbERnRCxXQUFXLGVBQUUsSUFBQS9HLFdBQUEsQ0FBQTRFLEdBQUE7WUFBS2UsU0FBUyxFQUFDLFVBQVU7WUFBQWhCLFFBQUEsRUFBRWxDO1VBQVksQ0FBTSxDQUFFO1VBQzVEdUUsV0FBVyxFQUFDLGlCQUFpQjtVQUM3QkMsU0FBUyxFQUFFLElBQUksQ0FBQ0MsZUFBZ0I7VUFDaENDLFFBQVEsRUFBRSxJQUFJLENBQUNEO1FBQWdCLENBQy9CLENBQUM7TUFBQSxDQUNFLENBQUMsRUFDTDVDLGVBQUMsQ0FBQzhDLFFBQVEsQ0FBQ2hHLFdBQVcsRUFBRVcsSUFBSSxDQUFDLGlCQUM3QixJQUFBL0IsV0FBQSxDQUFBNEUsR0FBQSxFQUFDdEYsZUFBQSxDQUFBK0YsR0FBRztRQUFDQyxFQUFFLEVBQUUsRUFBRztRQUFBWCxRQUFBLGVBQ1gsSUFBQTNFLFdBQUEsQ0FBQTRFLEdBQUEsRUFBQzdFLGNBQUEsQ0FBQXNILGFBQWE7VUFBQy9FLEVBQUUsRUFBQyxjQUFjO1VBQUNnRixPQUFPLEVBQUMsU0FBUztVQUFBM0MsUUFBQSxlQUNqRCxJQUFBM0UsV0FBQSxDQUFBeUUsSUFBQTtZQUFBRSxRQUFBLEdBQUcscUJBQ2lCLEVBQUNPLGtCQUFrQixFQUFDLGFBQVcsRUFBQ0YsT0FBTyxFQUFDLDJCQUF5QixFQUFDLEdBQUcsZUFDeEYsSUFBQWhGLFdBQUEsQ0FBQTRFLEdBQUE7Y0FDQzJDLElBQUksRUFBQyxtREFBbUQ7Y0FDeER6RSxNQUFNLEVBQUMsUUFBUTtjQUNmMEUsR0FBRyxFQUFDLHFCQUFxQjtjQUFBN0MsUUFBQSxFQUFDO1lBRTNCLENBQUcsQ0FBQyxFQUFDLEdBQUcsRUFBQywwQkFFVjtVQUFBLENBQUc7UUFBQyxDQUNVO01BQUMsQ0FDWixDQUNMO0lBQUEsQ0FDRyxDQUFDO0VBRVI7QUFDRDtBQUFDOEMsT0FBQSxDQUFBL0YsWUFBQSxHQUFBQSxZQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
6
7
|
exports.UserRolesContext = void 0;
|
|
7
|
-
var
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
9
|
/*
|
|
9
10
|
* Context provided to the children of UserRoles. Default values should be initialized
|
|
10
11
|
* by the context provider.
|
|
11
12
|
*/
|
|
12
13
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
13
|
-
exports.UserRolesContext =
|
|
14
|
+
const UserRolesContext = exports.UserRolesContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlVzZXJSb2xlc0NvbnRleHQiLCJleHBvcnRzIiwiUmVhY3QiLCJjcmVhdGVDb250ZXh0IiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVXNlclJvbGVzL0NvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFVzZXJSb2xlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVzQ29udGV4dFR5cGUge1xuXHQvKiogZGlzYWJsZSBhbGwgdXNlciByb2xlIHNlbGVjdCBkcm9wZG93bnMsIGlmIGFueSAqL1xuXHRpc1VwZGF0ZURpc2FibGVkPzogYm9vbGVhblxuXHQvKiogZGlzYWJsZSBhbGwgdXNlciByb2xlIGRlbGV0ZSBidXR0b25zICovXG5cdGlzRGVsZXRlRGlzYWJsZWQ/OiBib29sZWFuXG5cdC8qKiBJcyB0aGUgY3VycmVudCB1c2VyIGFsbG93ZWQgdG8gYWRkLCB1cGRhdGUsIGFuZCBkZWxldGUgdXNlciByb2xlcz8gKi9cblx0Y2FuTW9kaWZ5PzogYm9vbGVhblxuXHQvKiogSXMgdGhlIGN1cnJlbnQgdXNlciBhbGxvd2VkIHRvIGRlbGV0ZSB0aGVpciBvd24gdXNlciByb2xlPyAqL1xuXHRjYW5EZWxldGVTZWxmPzogYm9vbGVhblxuXHQvKiogSWYgbXVsdGlwbGUgcm9sZXMgYWxsb3dlZCwgZWFjaCByb2xlIGlzIGRpc3BsYXllZCBwZXIgdXNlciwgb3RoZXJ3aXNlIGEgc2VsZWN0IGRyb3Bkb3duIGlzIGRpc3BsYXllZC4gKi9cblx0YWxsb3dNdWx0aXBsZVJvbGVzPzogYm9vbGVhblxuXHRyb2xlczogc3RyaW5nW11cblx0LyoqIChPcHRpb25hbCkgSWYgcHJvdmlkZWQsIHRoZSBsYXN0IHVzZXIgcm9sZSB3aXRoIHRoZSByZXF1aXJlZCByb2xlIHdpbGwgYmUgcHJldmVudGVkIGZyb20gYmVpbmcgcmVtb3ZlZC4gKi9cblx0cmVxdWlyZWRSb2xlPzogc3RyaW5nXG5cdC8qKiAoT3B0aW9uYWwpIFByb3ZpZGUgY3VzdG9tIHVzZXItZnJpZW5kbHkgbmFtZXMgZm9yIGRpc3BsYXllZCByb2xlcyAqL1xuXHR0ZXh0Rm9yUm9sZT86IChyb2xlOiBzdHJpbmcpID0+IHN0cmluZ1xuXHQvKiogVGhlIHVzZXIgcm9sZSBiZWluZyB1cGRhdGVkICovXG5cdHVzZXJSb2xlVG9VcGRhdGU/OiBVc2VyUm9sZVxuXHQvKiogSWYgYSB1c2VyIHJvbGUgaXMgYmVpbmcgdXBkYXRlZCAqL1xuXHRpc1VwZGF0aW5nOiBib29sZWFuXG5cdC8qKiBNZXRob2QgdG8gdXBkYXRlIGEgdXNlciByb2xlICovXG5cdHVwZGF0ZVVzZXJSb2xlOiAodXNlclJvbGVUb1VwZGF0ZTogVXNlclJvbGUsIG5ld1JvbGU6IHN0cmluZykgPT4gdm9pZFxuXHQvKiogVGhlIHVzZXIgcm9sZSBiZWluZyByZW1vdmVkICovXG5cdHVzZXJSb2xlVG9SZW1vdmU/OiBVc2VyUm9sZVxuXHQvKiogSWYgYSB1c2VyIHJvbGUgaXMgYmVpbmcgcmVtb3ZlZCAqL1xuXHRpc1JlbW92aW5nOiBib29sZWFuXG5cdC8qKiBNZXRob2QgdG8gcmVtb3ZlIGEgdXNlciByb2xlICovXG5cdHJlbW92ZVVzZXJSb2xlOiAodXNlclJvbGVUb1JlbW92ZTogVXNlclJvbGUpID0+IHZvaWRcbn1cblxuLypcbiAqIENvbnRleHQgcHJvdmlkZWQgdG8gdGhlIGNoaWxkcmVuIG9mIFVzZXJSb2xlcy4gIERlZmF1bHQgdmFsdWVzIHNob3VsZCBiZSBpbml0aWFsaXplZFxuICogYnkgdGhlIGNvbnRleHQgcHJvdmlkZXIuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG5leHBvcnQgY29uc3QgVXNlclJvbGVzQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8VXNlclJvbGVzQ29udGV4dFR5cGU+KHVuZGVmaW5lZCEpXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1DLGdCQUFnQixHQUFBQyxPQUFBLENBQUFELGdCQUFBLGdCQUFHRSxjQUFLLENBQUNDLGFBQWEsQ0FBdUJDLFNBQVUsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|