studiokit-scaffolding-js 7.0.12-next.2.4 → 7.0.12-next.2.5
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/LICENSE +21 -21
- package/README.md +137 -137
- package/lib/components/ActionList.js +1 -1
- package/lib/components/AlertDialog.js +1 -1
- package/lib/components/AlertWithIcon.js +1 -1
- package/lib/components/ConnectedModal.js +3 -3
- package/lib/components/Dropdowns/GroupsDropdown.js +1 -1
- package/lib/components/Dropdowns/ManagedNavDropdown.js +4 -4
- package/lib/components/Dropdowns/UserDropdown.js +1 -1
- package/lib/components/Dropdowns/index.js +1 -1
- package/lib/components/EntityOwnerList.js +1 -1
- package/lib/components/Error.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/ErrorMessage.js +1 -1
- package/lib/components/Forms/DateField.js +1 -1
- package/lib/components/Forms/TimeField.js +1 -1
- package/lib/components/Forms/index.js +1 -1
- package/lib/components/Groups/CreateEditCopySaveButtons.js +1 -1
- package/lib/components/Groups/ExternalGroups/Attach.js +1 -1
- package/lib/components/Groups/ExternalGroups/Table.js +1 -1
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -1
- package/lib/components/Groups/RosterSyncInfo.js +1 -1
- package/lib/components/HOC/AccessibleAppComponent.js +6 -6
- package/lib/components/HOC/ActivityRequiredComponent.js +50 -50
- package/lib/components/HOC/AsyncComponent.js +1 -1
- package/lib/components/HOC/AuthenticatedComponent.js +1 -1
- package/lib/components/HOC/CollectionComponent.js +11 -11
- package/lib/components/HOC/CollectionFirstItemComponent.js +4 -4
- package/lib/components/HOC/CollectionItemComponent.js +11 -11
- package/lib/components/HOC/ConnectedModalComponent.js +15 -15
- package/lib/components/HOC/DataDependentComponent.js +1 -1
- package/lib/components/HOC/EntityComponent.js +12 -12
- package/lib/components/HOC/FullscreenModalComponent.js +24 -24
- package/lib/components/HOC/GroupActivityRequiredComponent.js +19 -19
- package/lib/components/HOC/GuidComponent.js +5 -5
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +7 -7
- package/lib/components/HOC/ModelErrorRedirectComponent.js +12 -12
- package/lib/components/HOC/SearchPersistorComponent.js +43 -43
- package/lib/components/HOC/UnauthenticatedComponent.js +1 -1
- package/lib/components/HOC/UserComponent.js +1 -1
- package/lib/components/Icons/IconAlphaList.js +1 -1
- package/lib/components/Icons/IconExternalUser.js +1 -1
- package/lib/components/Icons/IconImpersonation.js +1 -1
- package/lib/components/Icons/IconStopImpersonating.js +1 -1
- package/lib/components/Icons/IconTable.js +1 -1
- package/lib/components/Icons/IconTableDeleteCol.js +1 -1
- package/lib/components/Icons/IconTableDeleteRow.js +1 -1
- package/lib/components/Icons/IconTableInsertCol.js +1 -1
- package/lib/components/Icons/IconTableInsertRow.js +1 -1
- package/lib/components/Impersonation/Button.js +1 -1
- package/lib/components/Impersonation/Link.js +1 -1
- package/lib/components/Impersonation/UserDetail.css +22 -22
- package/lib/components/Impersonation/UserDetail.js +3 -3
- package/lib/components/Loading.js +1 -1
- package/lib/components/LockDownBrowser/Check.js +1 -1
- package/lib/components/LockDownBrowser/ExitButton.js +1 -1
- package/lib/components/LockDownBrowser/Launch.js +1 -1
- package/lib/components/Lti/Confirm.js +1 -1
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +1 -1
- package/lib/components/Lti/Launch.js +1 -1
- package/lib/components/Lti/LaunchGroup.js +1 -1
- package/lib/components/ManageTable.js +1 -1
- package/lib/components/ManageTableNoDataComponent.js +1 -1
- package/lib/components/NewVersionAlert.js +1 -1
- package/lib/components/NotFound.js +1 -1
- package/lib/components/Notifications.js +1 -1
- package/lib/components/PaginationNextButton.js +1 -1
- package/lib/components/PaginationPreviousButton.js +1 -1
- package/lib/components/Quill/CustomToolbar.js +1 -1
- package/lib/components/Quill/Formats/Image.js +5 -5
- package/lib/components/Quill/Formats/List.js +3 -3
- package/lib/components/Quill/Formats/Video.js +3 -3
- package/lib/components/Quill/ImageDropModule.js +17 -17
- package/lib/components/Quill/ImageWarning.js +1 -1
- package/lib/components/Quill/ImageWithAltTextModal.js +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +7 -7
- package/lib/components/Quill/Specs/CustomVideoSpec.js +9 -9
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +8 -8
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +1 -1
- package/lib/components/Quill/TableModule/constants.js +1 -1
- package/lib/components/Quill/TableModule/index.css +171 -171
- package/lib/components/Quill/TableModule/index.js +1 -1
- package/lib/components/Quill/TableModule/utils.js +1 -1
- package/lib/components/Quill/accessibilityFix.js +14 -14
- package/lib/components/Quill/index.js +1 -1
- package/lib/components/RefreshIndicator/Bordered.js +1 -1
- package/lib/components/RefreshIndicator/Inline.js +1 -1
- package/lib/components/RefreshIndicator/index.js +1 -1
- package/lib/components/SearchControls.js +1 -1
- package/lib/components/SentryRoute.js +1 -1
- package/lib/components/Tables/RoleFilter.js +1 -1
- package/lib/components/Tables/TextFilter.js +1 -1
- package/lib/components/UserRoles/Add.js +1 -1
- package/lib/components/UserRoles/Context.js +4 -4
- package/lib/components/UserRoles/RoleCell.js +1 -1
- package/lib/components/UserRoles/Select.js +1 -1
- package/lib/components/UserRoles/Table.js +1 -1
- package/lib/components/UserRoles/index.js +3 -3
- package/lib/config/eslint/index.js +1 -1
- package/lib/config/eslint/lib/order.js +1 -1
- package/lib/config/eslint/lib/prettier.js +1 -1
- package/lib/config/eslint/lib/typescript.js +1 -1
- package/lib/config/eslint/react.js +1 -1
- package/lib/constants/baseActivity.js +1 -1
- package/lib/constants/baseRole.js +1 -1
- package/lib/constants/configuration.js +1 -1
- package/lib/constants/externalProviderType.js +1 -1
- package/lib/constants/fetchErrorData.js +1 -1
- package/lib/constants/index.js +1 -1
- package/lib/constants/lockDownBrowser.js +1 -1
- package/lib/constants/mockData.js +3 -3
- package/lib/constants/modelStatus.js +1 -1
- package/lib/constants/notificationType.js +1 -1
- package/lib/constants/operatingSystem.js +1 -1
- package/lib/constants/shard.js +1 -1
- package/lib/constants/table.js +1 -1
- package/lib/constants/tier.js +1 -1
- package/lib/constants/userRole.js +1 -1
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_alert.css +86 -86
- package/lib/css/components/_bootstrap-grid.css +28 -28
- package/lib/css/components/_buttons.css +397 -397
- package/lib/css/components/_forms.css +101 -101
- package/lib/css/components/_menu.css +56 -56
- package/lib/css/components/_modals.css +46 -46
- package/lib/css/components/_quill.css +315 -315
- package/lib/css/components/_tables.css +497 -497
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +15 -15
- package/lib/css/index.css +14 -14
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +317 -317
- package/lib/css/utils/_display.css +305 -305
- package/lib/css/utils/_general.css +48 -48
- package/lib/css/utils/_icon.css +16 -16
- package/lib/css/utils/_text.css +25 -25
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +84 -84
- package/lib/endpointMappings.js +1 -1
- package/lib/hooks/useCollection.js +1 -1
- package/lib/hooks/useCollectionConfiguration.js +7 -7
- package/lib/hooks/useCollectionItem.js +1 -1
- package/lib/hooks/useGuid.js +3 -3
- package/lib/hooks/usePrevious.js +15 -15
- package/lib/index.js +1 -1
- package/lib/redux/actionCreator.js +1 -1
- package/lib/redux/actions/AuthAction.js +7 -7
- package/lib/redux/actions/ModalAction.js +1 -1
- package/lib/redux/actions/ModelAction.js +17 -17
- package/lib/redux/actions/NotificationAction.js +1 -1
- package/lib/redux/actions/SearchAction.js +1 -1
- package/lib/redux/actions/index.js +1 -1
- package/lib/redux/configureReducers.js +7 -7
- package/lib/redux/configureStore.js +1 -1
- package/lib/redux/helpers.js +1 -1
- package/lib/redux/reducers/authReducer.js +3 -3
- package/lib/redux/reducers/index.js +1 -1
- package/lib/redux/reducers/modalsReducer.js +1 -1
- package/lib/redux/reducers/modelsReducer.js +48 -48
- package/lib/redux/reducers/notificationsReducer.js +1 -1
- package/lib/redux/reducers/searchReducer.js +9 -9
- package/lib/redux/sagas/appInsightsSaga.js +1 -1
- package/lib/redux/sagas/authSaga.js +1 -1
- package/lib/redux/sagas/caliperSaga.js +16 -16
- package/lib/redux/sagas/clockOffsetSaga.js +9 -9
- package/lib/redux/sagas/configurationSaga.js +1 -1
- package/lib/redux/sagas/downtimeApiErrorSaga.js +1 -1
- package/lib/redux/sagas/errorSaga.js +1 -1
- package/lib/redux/sagas/googleAnalyticsSaga.js +1 -1
- package/lib/redux/sagas/identityProviderSaga.js +1 -1
- package/lib/redux/sagas/initialDataLoadSaga.js +1 -1
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +1 -1
- package/lib/redux/sagas/modelFetchSaga.js +49 -49
- package/lib/redux/sagas/noStoreSaga.js +1 -1
- package/lib/redux/sagas/postLoginDataSaga.js +6 -6
- package/lib/redux/sagas/postLoginRedirectSaga.js +4 -4
- package/lib/redux/sagas/rootSaga.js +1 -1
- package/lib/redux/sagas/sentrySaga.js +1 -1
- package/lib/redux/sagas/userIdSaga.js +1 -1
- package/lib/services/codeProviderService.js +1 -1
- package/lib/services/dateService.js +3 -3
- package/lib/services/documentService.js +4 -4
- package/lib/services/fetchService.js +25 -25
- package/lib/services/persistenceService.js +1 -1
- package/lib/services/ticketProviderService.js +1 -1
- package/lib/services/tokenPersistenceService.js +1 -1
- package/lib/services/windowService.js +1 -1
- package/lib/startup.js +18 -18
- package/lib/types/AppConfiguration.js +1 -1
- package/lib/types/Artifact.js +1 -1
- package/lib/types/BaseReduxState.js +1 -1
- package/lib/types/Client.js +1 -1
- package/lib/types/Collection.js +1 -1
- package/lib/types/Configuration.js +1 -1
- package/lib/types/DeepLinkingResponseRequest.js +1 -1
- package/lib/types/DeletableModel.js +1 -1
- package/lib/types/Event.js +1 -1
- package/lib/types/ExternalGroup.js +1 -1
- package/lib/types/ExternalProvider.js +1 -1
- package/lib/types/ExternalTerm.js +1 -1
- package/lib/types/Group.js +1 -1
- package/lib/types/IdentityProvider.js +1 -1
- package/lib/types/LtiLaunch.js +1 -1
- package/lib/types/NameOnlyEntity.js +1 -1
- package/lib/types/Notification.js +1 -1
- package/lib/types/OptionalRecord.js +1 -1
- package/lib/types/OwnerSchedule.js +1 -1
- package/lib/types/PropertyOfType.js +1 -1
- package/lib/types/Quill.js +1 -1
- package/lib/types/RoleDescription.js +1 -1
- package/lib/types/Search.js +1 -1
- package/lib/types/SimpleLocation.js +1 -1
- package/lib/types/UniTime.js +1 -1
- package/lib/types/User.js +1 -1
- package/lib/types/UserRole.js +1 -1
- package/lib/types/auth/AuthState.js +1 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +1 -1
- package/lib/types/auth/ClientCredentials.js +1 -1
- package/lib/types/auth/CodeProviderService.js +1 -1
- package/lib/types/auth/LocalLoginRequestBody.js +1 -1
- package/lib/types/auth/TicketProviderService.js +1 -1
- package/lib/types/auth/TokenPersistenceService.js +1 -1
- package/lib/types/auth/index.js +1 -1
- package/lib/types/externals.d.js +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/net/EndpointConfig.js +1 -1
- package/lib/types/net/EndpointMapping.js +1 -1
- package/lib/types/net/EndpointMappings.js +1 -1
- package/lib/types/net/ErrorHandler.js +1 -1
- package/lib/types/net/FetchConfig.js +1 -1
- package/lib/types/net/FetchErrorData.js +1 -1
- package/lib/types/net/FetchResult.js +1 -1
- package/lib/types/net/HTTPMethod.js +1 -1
- package/lib/types/net/HTTPStatusCode.js +1 -1
- package/lib/types/net/Metadata.js +1 -1
- package/lib/types/net/Model.js +1 -1
- package/lib/types/net/ModelCollection.js +1 -1
- package/lib/types/net/ModelsState.js +1 -1
- package/lib/types/net/OAuthToken.js +1 -1
- package/lib/types/net/OAuthTokenOrNull.js +1 -1
- package/lib/types/net/TokenAccessFunction.js +1 -1
- package/lib/types/net/index.js +1 -1
- package/lib/utils/baseActivity.js +87 -87
- package/lib/utils/baseRole.js +1 -1
- package/lib/utils/collection.js +20 -20
- package/lib/utils/cookies.js +1 -1
- package/lib/utils/date.js +111 -111
- package/lib/utils/dom.js +42 -42
- package/lib/utils/domainIdentifier.js +1 -1
- package/lib/utils/entityUserRole.js +1 -1
- package/lib/utils/error.js +1 -1
- package/lib/utils/events.js +4 -4
- package/lib/utils/externalGroup.js +1 -1
- package/lib/utils/externalProviders.js +1 -1
- package/lib/utils/externalTerms.js +1 -1
- package/lib/utils/fetch.js +18 -11
- package/lib/utils/group.js +1 -1
- package/lib/utils/groupDates.js +1 -1
- package/lib/utils/groupRoles.js +1 -1
- package/lib/utils/lockDownBrowser.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lti.js +1 -1
- package/lib/utils/model.js +5 -5
- package/lib/utils/number.js +11 -11
- package/lib/utils/promise.js +1 -1
- package/lib/utils/quill.js +16 -16
- package/lib/utils/route.js +1 -1
- package/lib/utils/search.js +1 -1
- package/lib/utils/shard.js +1 -1
- package/lib/utils/sort.js +1 -1
- package/lib/utils/string.js +1 -1
- package/lib/utils/table.js +4 -4
- package/lib/utils/timezone.js +1 -1
- package/lib/utils/url.js +18 -18
- package/lib/utils/user.js +1 -1
- package/lib/utils/userAgent.js +1 -1
- package/lib/utils/userRole.js +16 -16
- package/package.json +225 -225
|
@@ -77,4 +77,4 @@ exports.TableRowBlot = TableRowBlot;
|
|
|
77
77
|
(0, _defineProperty2.default)(TableRowBlot, "scope", Parchment.Scope.BLOCK_BLOT);
|
|
78
78
|
(0, _defineProperty2.default)(TableRowBlot, "requiredParentName", _constants.TABLE_BLOT_NAME.TBODY);
|
|
79
79
|
(0, _defineProperty2.default)(TableRowBlot, "allowedChildrenNames", [_constants.TABLE_BLOT_NAME.TD]);
|
|
80
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RRdWlsbCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwiX0Jhc2VUYWJsZUJsb3QiLCJfVGFibGVCb2R5QmxvdCIsIl9UYWJsZUNlbGxCbG90IiwiUGFyY2htZW50IiwiUXVpbGwiLCJpbXBvcnQiLCJUYWJsZVJvd0Jsb3QiLCJCYXNlVGFibGVCbG90IiwiY3JlYXRlIiwidmFsdWUiLCJub2RlIiwiY3JlYXRlV2l0aFZhbHVlIiwiVEFHX05BTUUiLCJUUiIsInZhbHVlcyIsInNwbGl0Iiwic2V0QXR0cmlidXRlIiwiQVRUUklCVVRFIiwiVEFCTEUiLCJST1ciLCJJRCIsImNyZWF0ZVdpdGhDaGlsZHJlbiIsInRhYmxlSWQiLCJjb2xzIiwiaWQiLCJuZXdJZCIsImJsb3ROYW1lIiwidGFibGVSb3ciLCJjb2wiLCJ0YWJsZUNlbGwiLCJUYWJsZUNlbGxCbG90IiwiYXBwZW5kQ2hpbGQiLCJjcmVhdGVGcm9tUmVmZXJlbmNlIiwicmVmZXJlbmNlIiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwibmV3VGFibGVDZWxsIiwib3B0aW1pemUiLCJjb250ZXh0IiwiZGlkUmVtb3ZlIiwib3B0aW1pemVSZW1vdmVJZkVtcHR5Iiwib3B0aW1pemVNZXJnZVdpdGhOZXh0Iiwib3B0aW1pemVXcmFwSW5SZXF1aXJlZFBhcmVudCIsImRvbU5vZGUiLCJnZXRBdHRyaWJ1dGUiLCJ0YWJsZUJvZHkiLCJwYXJlbnQiLCJUYWJsZUJvZHlCbG90IiwidW5kZWZpbmVkIiwicHJldlJvdyIsInByZXYiLCJuZXh0Um93IiwibmV4dCIsInRhYmxlIiwiZXhwb3J0cyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiVEFCTEVfQkxPVF9OQU1FIiwiU2NvcGUiLCJCTE9DS19CTE9UIiwiVEJPRFkiLCJURCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1F1aWxsL1RhYmxlTW9kdWxlL0Jsb3RzL1RhYmxlUm93QmxvdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFyY2htZW50VHlwZSBmcm9tICdwYXJjaG1lbnQnXG5pbXBvcnQgeyBRdWlsbCB9IGZyb20gJ3JlYWN0LXF1aWxsJ1xuaW1wb3J0IHsgQVRUUklCVVRFLCBUQUJMRV9CTE9UX05BTUUsIFRBR19OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgbmV3SWQgfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IEJhc2VUYWJsZUJsb3QgfSBmcm9tICcuL0Jhc2VUYWJsZUJsb3QnXG5pbXBvcnQgeyBUYWJsZUJvZHlCbG90IH0gZnJvbSAnLi9UYWJsZUJvZHlCbG90J1xuaW1wb3J0IHsgVGFibGVDZWxsQmxvdCB9IGZyb20gJy4vVGFibGVDZWxsQmxvdCdcblxuY29uc3QgUGFyY2htZW50ID0gUXVpbGwuaW1wb3J0KCdwYXJjaG1lbnQnKSBhcyB0eXBlb2YgUGFyY2htZW50VHlwZVxuXG5leHBvcnQgY2xhc3MgVGFibGVSb3dCbG90IGV4dGVuZHMgQmFzZVRhYmxlQmxvdCB7XG5cdHN0YXRpYyBibG90TmFtZSA9IFRBQkxFX0JMT1RfTkFNRS5UUlxuXHRzdGF0aWMgdGFnTmFtZSA9IFRBR19OQU1FLlRSXG5cdHN0YXRpYyBzY29wZSA9IFBhcmNobWVudC5TY29wZS5CTE9DS19CTE9UXG5cdHN0YXRpYyByZXF1aXJlZFBhcmVudE5hbWU6IHN0cmluZyB8IG51bGwgPSBUQUJMRV9CTE9UX05BTUUuVEJPRFlcblx0c3RhdGljIGFsbG93ZWRDaGlsZHJlbk5hbWVzOiBzdHJpbmdbXSA9IFtUQUJMRV9CTE9UX05BTUUuVERdXG5cblx0c3RhdGljIGNyZWF0ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0Y29uc3Qgbm9kZSA9IHN1cGVyLmNyZWF0ZVdpdGhWYWx1ZShUQUdfTkFNRS5UUiwgdmFsdWUpXG5cblx0XHQvLyBzcGxpdCBkYXRhLXZhbHVlIGludG8gc2VwYXJhdGUgYXR0cmlidXRlcyBmb3IgZWFzaWVyIGFjY2Vzc1xuXHRcdGNvbnN0IHZhbHVlcyA9IHZhbHVlLnNwbGl0KCd8Jylcblx0XHRub2RlLnNldEF0dHJpYnV0ZShBVFRSSUJVVEUuVEFCTEUsIHZhbHVlc1swXSlcblx0XHRub2RlLnNldEF0dHJpYnV0ZShBVFRSSUJVVEUuUk9XLCB2YWx1ZXNbMV0pXG5cdFx0bm9kZS5zZXRBdHRyaWJ1dGUoQVRUUklCVVRFLklELCB2YWx1ZXNbMV0pXG5cblx0XHRyZXR1cm4gbm9kZVxuXHR9XG5cblx0c3RhdGljIGNyZWF0ZVdpdGhDaGlsZHJlbih0YWJsZUlkOiBzdHJpbmcsIGNvbHM6IG51bWJlcikge1xuXHRcdGNvbnN0IGlkID0gbmV3SWQodGhpcy5ibG90TmFtZSlcblx0XHRjb25zdCB0YWJsZVJvdyA9IFBhcmNobWVudC5jcmVhdGUodGhpcy5ibG90TmFtZSwgYCR7dGFibGVJZH18JHtpZH1gKSBhcyBUYWJsZVJvd0Jsb3Rcblx0XHRmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCBjb2xzOyBjb2wrKykge1xuXHRcdFx0Y29uc3QgdGFibGVDZWxsID0gVGFibGVDZWxsQmxvdC5jcmVhdGVXaXRoQ2hpbGRyZW4odGFibGVJZCwgaWQpXG5cdFx0XHR0YWJsZVJvdy5hcHBlbmRDaGlsZCh0YWJsZUNlbGwpXG5cdFx0fVxuXHRcdHJldHVybiB0YWJsZVJvd1xuXHR9XG5cblx0c3RhdGljIGNyZWF0ZUZyb21SZWZlcmVuY2UocmVmZXJlbmNlOiBUYWJsZVJvd0Jsb3QpIHtcblx0XHRjb25zdCB0YWJsZUlkID0gcmVmZXJlbmNlLnRhYmxlSWQoKVxuXHRcdGNvbnN0IHRhYmxlUm93ID0gdGhpcy5jcmVhdGVXaXRoQ2hpbGRyZW4odGFibGVJZCwgMClcblx0XHRyZWZlcmVuY2UuY2hpbGRyZW4uZm9yRWFjaCgoKSA9PiB7XG5cdFx0XHRjb25zdCBuZXdUYWJsZUNlbGwgPSBUYWJsZUNlbGxCbG90LmNyZWF0ZVdpdGhDaGlsZHJlbih0YWJsZUlkLCB0YWJsZVJvdy5pZCgpKVxuXHRcdFx0dGFibGVSb3cuYXBwZW5kQ2hpbGQobmV3VGFibGVDZWxsKVxuXHRcdH0pXG5cdFx0cmV0dXJuIHRhYmxlUm93XG5cdH1cblxuXHRvcHRpbWl6ZShjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG5cdFx0c3VwZXIub3B0aW1pemUoY29udGV4dClcblxuXHRcdGNvbnN0IGRpZFJlbW92ZSA9IHRoaXMub3B0aW1pemVSZW1vdmVJZkVtcHR5KClcblx0XHRpZiAoZGlkUmVtb3ZlKSByZXR1cm5cblxuXHRcdHRoaXMub3B0aW1pemVNZXJnZVdpdGhOZXh0KClcblx0XHR0aGlzLm9wdGltaXplV3JhcEluUmVxdWlyZWRQYXJlbnQodGhpcy50YWJsZUlkKCkpXG5cdH1cblxuXHRpZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5kb21Ob2RlLmdldEF0dHJpYnV0ZShBVFRSSUJVVEUuSUQpIGFzIHN0cmluZ1xuXHR9XG5cblx0dGFibGVJZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5kb21Ob2RlLmdldEF0dHJpYnV0ZShBVFRSSUJVVEUuVEFCTEUpIGFzIHN0cmluZ1xuXHR9XG5cblx0dGFibGVCb2R5KCkge1xuXHRcdC8vIHRyIC0+IHRib2R5XG5cdFx0cmV0dXJuIHRoaXMucGFyZW50IGluc3RhbmNlb2YgVGFibGVCb2R5QmxvdCA/IHRoaXMucGFyZW50IDogdW5kZWZpbmVkXG5cdH1cblxuXHRwcmV2Um93KCkge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG5cdFx0cmV0dXJuIHRoaXMucHJldiA/ICh0aGlzLnByZXYgYXMgVGFibGVSb3dCbG90KSA6IG51bGxcblx0fVxuXG5cdG5leHRSb3coKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cblx0XHRyZXR1cm4gdGhpcy5uZXh0ID8gKHRoaXMubmV4dCBhcyBUYWJsZVJvd0Jsb3QpIDogbnVsbFxuXHR9XG5cblx0dGFibGUoKSB7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
|
|
@@ -43,4 +43,4 @@ let KEY = exports.KEY = /*#__PURE__*/function (KEY) {
|
|
|
43
43
|
KEY[KEY["DELETE"] = 46] = "DELETE";
|
|
44
44
|
return KEY;
|
|
45
45
|
}({});
|
|
46
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUQUJMRV9CTE9UX05BTUUiLCJleHBvcnRzIiwiVEFHX05BTUUiLCJUQUJMRV9BQ1RJT04iLCJBVFRSSUJVVEUiLCJLRVkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9RdWlsbC9UYWJsZU1vZHVsZS9jb25zdGFudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVEFCTEVfQkxPVF9OQU1FIHtcblx0VEFCTEVfQ09OVEFJTkVSID0gJ3RhYmxlLWNvbnRhaW5lcicsXG5cdFRBQkxFID0gJ3RhYmxlJyxcblx0VEJPRFkgPSAndGJvZHknLFxuXHRUUiA9ICd0cicsXG5cdFREID0gJ3RkJ1xufVxuXG5leHBvcnQgZW51bSBUQUdfTkFNRSB7XG5cdERJViA9ICdESVYnLFxuXHRUQUJMRSA9ICdUQUJMRScsXG5cdFRCT0RZID0gJ1RCT0RZJyxcblx0VFIgPSAnVFInLFxuXHRURCA9ICdURCcsXG5cdFAgPSAnUCcsXG5cdEJSID0gJ0JSJ1xufVxuXG5leHBvcnQgZW51bSBUQUJMRV9BQ1RJT04ge1xuXHRORVdfVEFCTEUgPSAnbmV3dGFibGVfJyxcblx0SU5TRVJUX0NPTCA9ICdpbnNlcnQtY29sJyxcblx0SU5TRVJUX1JPVyA9ICdpbnNlcnQtcm93Jyxcblx0REVMRVRFX0NPTCA9ICdkZWxldGUtY29sJyxcblx0REVMRVRFX1JPVyA9ICdkZWxldGUtcm93J1xufVxuXG5leHBvcnQgZW51bSBBVFRSSUJVVEUge1xuXHRJRCA9ICdpZCcsXG5cdERBVEFfVkFMVUUgPSAnZGF0YS12YWx1ZScsXG5cdFRBQkxFID0gJ2RhdGEtdGFibGUnLFxuXHRST1cgPSAnZGF0YS1yb3cnLFxuXHRDRUxMID0gJ2RhdGEtY2VsbCdcbn1cblxuZXhwb3J0IGVudW0gS0VZIHtcblx0QkFDS1NQQUNFID0gOCxcblx0REVMRVRFID0gNDZcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQVlBLGVBQWUsR0FBQUMsT0FBQSxDQUFBRCxlQUFBLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTtBQUFBLElBUWZFLFFBQVEsR0FBQUQsT0FBQSxDQUFBQyxRQUFBLDBCQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBQSxPQUFSQSxRQUFRO0FBQUE7QUFBQSxJQVVSQyxZQUFZLEdBQUFGLE9BQUEsQ0FBQUUsWUFBQSwwQkFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBQSxPQUFaQSxZQUFZO0FBQUE7QUFBQSxJQVFaQyxTQUFTLEdBQUFILE9BQUEsQ0FBQUcsU0FBQSwwQkFBVEEsU0FBUztFQUFUQSxTQUFTO0VBQVRBLFNBQVM7RUFBVEEsU0FBUztFQUFUQSxTQUFTO0VBQVRBLFNBQVM7RUFBQSxPQUFUQSxTQUFTO0FBQUE7QUFBQSxJQVFUQyxHQUFHLEdBQUFKLE9BQUEsQ0FBQUksR0FBQSwwQkFBSEEsR0FBRztFQUFIQSxHQUFHLENBQUhBLEdBQUc7RUFBSEEsR0FBRyxDQUFIQSxHQUFHO0VBQUEsT0FBSEEsR0FBRztBQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,171 +1,171 @@
|
|
|
1
|
-
.ql-snow .ql-editor .table-container {
|
|
2
|
-
margin-bottom: 1rem;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.ql-snow .ql-editor table {
|
|
6
|
-
border-collapse: collapse;
|
|
7
|
-
width: fit-content;
|
|
8
|
-
|
|
9
|
-
& td {
|
|
10
|
-
border: 1px solid black;
|
|
11
|
-
padding: 5px;
|
|
12
|
-
vertical-align: top;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
& img {
|
|
16
|
-
max-width: fit-content;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.ql-table.dn {
|
|
21
|
-
display: none !important;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.ql-picker.ql-table {
|
|
25
|
-
font-size: 11px;
|
|
26
|
-
font-weight: normal;
|
|
27
|
-
|
|
28
|
-
& .ql-picker-label {
|
|
29
|
-
display: block;
|
|
30
|
-
width: 28px;
|
|
31
|
-
height: 24px;
|
|
32
|
-
padding: 1px 4px;
|
|
33
|
-
|
|
34
|
-
& svg {
|
|
35
|
-
position: static !important;
|
|
36
|
-
margin: 0 !important;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
& .ql-picker-options {
|
|
41
|
-
width: 178px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
& .ql-picker-item {
|
|
45
|
-
display: block;
|
|
46
|
-
float: left;
|
|
47
|
-
width: 30px;
|
|
48
|
-
height: 30px;
|
|
49
|
-
line-height: 30px;
|
|
50
|
-
text-align: center;
|
|
51
|
-
padding: 0;
|
|
52
|
-
margin: 1px;
|
|
53
|
-
border: 1px solid #444;
|
|
54
|
-
color: #444;
|
|
55
|
-
|
|
56
|
-
&:nth-child(5)::after {
|
|
57
|
-
clear: both;
|
|
58
|
-
display: block;
|
|
59
|
-
content: "";
|
|
60
|
-
width: 100%;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&:hover {
|
|
64
|
-
background-color: var(--color-primary);
|
|
65
|
-
|
|
66
|
-
&::before {
|
|
67
|
-
color: var(--color-white);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.ql-picker-item[data-value="newtable_1_1"]::before {
|
|
74
|
-
content: "1x1";
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.ql-picker-item[data-value="newtable_1_2"]::before {
|
|
78
|
-
content: "1x2";
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.ql-picker-item[data-value="newtable_1_3"]::before {
|
|
82
|
-
content: "1x3";
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.ql-picker-item[data-value="newtable_1_4"]::before {
|
|
86
|
-
content: "1x4";
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.ql-picker-item[data-value="newtable_1_5"]::before {
|
|
90
|
-
content: "1x5";
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.ql-picker-item[data-value="newtable_2_1"]::before {
|
|
94
|
-
content: "2x1";
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
.ql-picker-item[data-value="newtable_2_2"]::before {
|
|
98
|
-
content: "2x2";
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.ql-picker-item[data-value="newtable_2_3"]::before {
|
|
102
|
-
content: "2x3";
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.ql-picker-item[data-value="newtable_2_4"]::before {
|
|
106
|
-
content: "2x4";
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.ql-picker-item[data-value="newtable_2_5"]::before {
|
|
110
|
-
content: "2x5";
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.ql-picker-item[data-value="newtable_3_1"]::before {
|
|
114
|
-
content: "3x1";
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.ql-picker-item[data-value="newtable_3_2"]::before {
|
|
118
|
-
content: "3x2";
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.ql-picker-item[data-value="newtable_3_3"]::before {
|
|
122
|
-
content: "3x3";
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.ql-picker-item[data-value="newtable_3_4"]::before {
|
|
126
|
-
content: "3x4";
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
.ql-picker-item[data-value="newtable_3_5"]::before {
|
|
130
|
-
content: "3x5";
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
.ql-picker-item[data-value="newtable_4_1"]::before {
|
|
134
|
-
content: "4x1";
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.ql-picker-item[data-value="newtable_4_2"]::before {
|
|
138
|
-
content: "4x2";
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.ql-picker-item[data-value="newtable_4_3"]::before {
|
|
142
|
-
content: "4x3";
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.ql-picker-item[data-value="newtable_4_4"]::before {
|
|
146
|
-
content: "4x4";
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.ql-picker-item[data-value="newtable_4_5"]::before {
|
|
150
|
-
content: "4x5";
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
.ql-picker-item[data-value="newtable_5_1"]::before {
|
|
154
|
-
content: "5x1";
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
.ql-picker-item[data-value="newtable_5_2"]::before {
|
|
158
|
-
content: "5x2";
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.ql-picker-item[data-value="newtable_5_3"]::before {
|
|
162
|
-
content: "5x3";
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.ql-picker-item[data-value="newtable_5_4"]::before {
|
|
166
|
-
content: "5x4";
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.ql-picker-item[data-value="newtable_5_5"]::before {
|
|
170
|
-
content: "5x5";
|
|
171
|
-
}
|
|
1
|
+
.ql-snow .ql-editor .table-container {
|
|
2
|
+
margin-bottom: 1rem;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.ql-snow .ql-editor table {
|
|
6
|
+
border-collapse: collapse;
|
|
7
|
+
width: fit-content;
|
|
8
|
+
|
|
9
|
+
& td {
|
|
10
|
+
border: 1px solid black;
|
|
11
|
+
padding: 5px;
|
|
12
|
+
vertical-align: top;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
& img {
|
|
16
|
+
max-width: fit-content;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.ql-table.dn {
|
|
21
|
+
display: none !important;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.ql-picker.ql-table {
|
|
25
|
+
font-size: 11px;
|
|
26
|
+
font-weight: normal;
|
|
27
|
+
|
|
28
|
+
& .ql-picker-label {
|
|
29
|
+
display: block;
|
|
30
|
+
width: 28px;
|
|
31
|
+
height: 24px;
|
|
32
|
+
padding: 1px 4px;
|
|
33
|
+
|
|
34
|
+
& svg {
|
|
35
|
+
position: static !important;
|
|
36
|
+
margin: 0 !important;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
& .ql-picker-options {
|
|
41
|
+
width: 178px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
& .ql-picker-item {
|
|
45
|
+
display: block;
|
|
46
|
+
float: left;
|
|
47
|
+
width: 30px;
|
|
48
|
+
height: 30px;
|
|
49
|
+
line-height: 30px;
|
|
50
|
+
text-align: center;
|
|
51
|
+
padding: 0;
|
|
52
|
+
margin: 1px;
|
|
53
|
+
border: 1px solid #444;
|
|
54
|
+
color: #444;
|
|
55
|
+
|
|
56
|
+
&:nth-child(5)::after {
|
|
57
|
+
clear: both;
|
|
58
|
+
display: block;
|
|
59
|
+
content: "";
|
|
60
|
+
width: 100%;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&:hover {
|
|
64
|
+
background-color: var(--color-primary);
|
|
65
|
+
|
|
66
|
+
&::before {
|
|
67
|
+
color: var(--color-white);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ql-picker-item[data-value="newtable_1_1"]::before {
|
|
74
|
+
content: "1x1";
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ql-picker-item[data-value="newtable_1_2"]::before {
|
|
78
|
+
content: "1x2";
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.ql-picker-item[data-value="newtable_1_3"]::before {
|
|
82
|
+
content: "1x3";
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.ql-picker-item[data-value="newtable_1_4"]::before {
|
|
86
|
+
content: "1x4";
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.ql-picker-item[data-value="newtable_1_5"]::before {
|
|
90
|
+
content: "1x5";
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.ql-picker-item[data-value="newtable_2_1"]::before {
|
|
94
|
+
content: "2x1";
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.ql-picker-item[data-value="newtable_2_2"]::before {
|
|
98
|
+
content: "2x2";
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ql-picker-item[data-value="newtable_2_3"]::before {
|
|
102
|
+
content: "2x3";
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.ql-picker-item[data-value="newtable_2_4"]::before {
|
|
106
|
+
content: "2x4";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.ql-picker-item[data-value="newtable_2_5"]::before {
|
|
110
|
+
content: "2x5";
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.ql-picker-item[data-value="newtable_3_1"]::before {
|
|
114
|
+
content: "3x1";
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.ql-picker-item[data-value="newtable_3_2"]::before {
|
|
118
|
+
content: "3x2";
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.ql-picker-item[data-value="newtable_3_3"]::before {
|
|
122
|
+
content: "3x3";
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.ql-picker-item[data-value="newtable_3_4"]::before {
|
|
126
|
+
content: "3x4";
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.ql-picker-item[data-value="newtable_3_5"]::before {
|
|
130
|
+
content: "3x5";
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.ql-picker-item[data-value="newtable_4_1"]::before {
|
|
134
|
+
content: "4x1";
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.ql-picker-item[data-value="newtable_4_2"]::before {
|
|
138
|
+
content: "4x2";
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.ql-picker-item[data-value="newtable_4_3"]::before {
|
|
142
|
+
content: "4x3";
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.ql-picker-item[data-value="newtable_4_4"]::before {
|
|
146
|
+
content: "4x4";
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.ql-picker-item[data-value="newtable_4_5"]::before {
|
|
150
|
+
content: "4x5";
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.ql-picker-item[data-value="newtable_5_1"]::before {
|
|
154
|
+
content: "5x1";
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.ql-picker-item[data-value="newtable_5_2"]::before {
|
|
158
|
+
content: "5x2";
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.ql-picker-item[data-value="newtable_5_3"]::before {
|
|
162
|
+
content: "5x3";
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.ql-picker-item[data-value="newtable_5_4"]::before {
|
|
166
|
+
content: "5x4";
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.ql-picker-item[data-value="newtable_5_5"]::before {
|
|
170
|
+
content: "5x5";
|
|
171
|
+
}
|
|
@@ -377,4 +377,4 @@ class TableModule {
|
|
|
377
377
|
//#endregion Table Handler
|
|
378
378
|
}
|
|
379
379
|
exports.TableModule = TableModule;
|
|
380
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdFF1aWxsIiwiX2xvZ2dlciIsIl9CYXNlVGFibGVCbG90IiwiX1RhYmxlQmxvdCIsIl9UYWJsZUJvZHlCbG90IiwiX1RhYmxlQ2VsbEJsb3QiLCJfVGFibGVDb250YWluZXIiLCJfVGFibGVSb3dCbG90IiwiX2NvbnN0YW50cyIsIl91dGlscyIsIkRlbHRhIiwiUXVpbGwiLCJpbXBvcnQiLCJTY3JvbGwiLCJUYWJsZU1vZHVsZSIsInJlZ2lzdGVyIiwiQmFzZVRhYmxlQmxvdCIsIlRhYmxlQ2VsbEJsb3QiLCJUYWJsZVJvd0Jsb3QiLCJUYWJsZUJvZHlCbG90IiwiVGFibGVCbG90IiwiVGFibGVDb250YWluZXJCbG90IiwiY29uc3RydWN0b3IiLCJxdWlsbCIsIm9wdGlvbnMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInNlbGVjdGVkQ2VsbCIsImdldFNlbGVjdGVkQ2VsbCIsInRhYmxlVG9vbGJhckNvbnRyb2xzIiwiZm9yRWFjaCIsImRvbU5vZGUiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJhZGQiLCJyYW5nZSIsImNvbnRleHQiLCJpbmRleCIsImdldExlbmd0aCIsImxpbmUiLCJnZXRMaW5lIiwib2Zmc2V0IiwiaXNMaW5lQWZ0ZXJUYWJsZSIsImdldExvZ2dlciIsImRlYnVnIiwiaXNMaW5lSW5UYWJsZUNlbGwiLCJwcmV2IiwicGFyZW50IiwibGVuZ3RoIiwidGVzdCIsInN1ZmZpeCIsImlzTGluZUJlZm9yZVRhYmxlIiwibmV4dCIsImxpbmVzIiwiZ2V0TGluZXMiLCJ3aWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3ciLCJyYW5nZVJlbW92YWxXaWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3ciLCJ0b29sYmFyIiwiZ2V0TW9kdWxlIiwiYWRkSGFuZGxlciIsImFjdGlvbiIsInRhYmxlSGFuZGxlciIsImNvbnRyb2xzIiwiY29udHJvbCIsIm5hbWUiLCJ0YWdOYW1lIiwicHVzaCIsIm9uIiwic2hvd09ySGlkZVRvb2xiYXJDb250cm9scyIsImNsaXBib2FyZCIsImFkZE1hdGNoZXIiLCJUQUdfTkFNRSIsIlREIiwibm9kZSIsImRlbHRhIiwiZGF0YVZhbHVlIiwiZ2V0QXR0cmlidXRlIiwiQVRUUklCVVRFIiwiREFUQV9WQUxVRSIsImRlZmF1bHRBdHRyaWJ1dGVzIiwidGQiLCJ1cGRhdGVkRGVsdGEiLCJpbnNlcnQiLCJyZWR1Y2UiLCJuZXdEZWx0YSIsIm9wIiwibWVyZ2UiLCJhdHRyaWJ1dGVzIiwia2V5Ym9hcmQiLCJhZGRCaW5kaW5nIiwia2V5IiwiS0VZIiwiQkFDS1NQQUNFIiwiYWx0S2V5IiwiY3RybEtleSIsIm1ldGFLZXkiLCJzaGlmdEtleSIsImNvbGxhcHNlZCIsImhhbmRsZUJhY2tzcGFjZSIsImJhY2tzcGFjZU90aGVyQmluZGluZyIsImJpbmRpbmdzIiwicG9wIiwic3BsaWNlIiwiaGFuZGxlRGVsZXRlUmFuZ2UiLCJiYWNrc3BhY2VSYW5nZUJpbmRpbmciLCJiYWNrc3BhY2VCaW5kaW5nIiwiREVMRVRFIiwiZGVsZXRlUmFuZ2VCaW5kaW5nIiwiaGFuZGxlRGVsZXRlIiwiZGVsZXRlV2l0aEFsdEJpbmRpbmciLCJkZWxldGVCaW5kaW5nIiwic2VsZWN0aW9uIiwiZ2V0U2VsZWN0aW9uIiwibGVhZiIsImdldExlYWYiLCJibG90IiwiZ2V0U2VsZWN0ZWRUYWJsZSIsInRhYmxlIiwiaW5jbHVkZXMiLCJUQUJMRV9BQ1RJT04iLCJORVdfVEFCTEUiLCJhZGROZXdUYWJsZSIsIklOU0VSVF9DT0wiLCJpbnNlcnRDb2wiLCJJTlNFUlRfUk9XIiwiaW5zZXJ0Um93IiwiREVMRVRFX0NPTCIsImRlbGV0ZUNvbCIsIkRFTEVURV9ST1ciLCJkZWxldGVSb3ciLCJzaXplcyIsInJlcGxhY2UiLCJzcGxpdCIsInJvd3MiLCJwYXJzZUludCIsImNvbHMiLCJ0YWJsZUNvbnRhaW5lciIsImNyZWF0ZVdpdGhDaGlsZHJlbiIsInRvcEJyYW5jaCIsImluc2VydEJlZm9yZSIsInVuZGVmaW5lZCIsInNldFNlbGVjdGlvbiIsInNjcm9sbCIsInNlbGVjdGVkQ2VsbENvbHVtbiIsImNvbHVtbiIsInRhYmxlSWQiLCJ0YWJsZUJvZHkiLCJyb3ciLCJjaGlsZHJlbiIsImNoaWxkIiwidGFibGVSb3ciLCJyb3dJZCIsImlkIiwidGFibGVDZWxsIiwiY2VsbHMiLCJtYXAiLCJjIiwibmV4dENvbHVtbkNlbGwiLCJhcHBlbmRDaGlsZCIsImN1cnJlbnRSb3ciLCJuZXh0Um93IiwibmV3Um93IiwiY3JlYXRlRnJvbVJlZmVyZW5jZSIsImNlbGwiLCJzZWxlY3RlZFJvdyIsImNlbGxPZmZzZXQiLCJyb3dUb1NlbGVjdEFmdGVyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1F1aWxsL1RhYmxlTW9kdWxlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gKi9cclxuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gnXHJcbmltcG9ydCBQYXJjaG1lbnRUeXBlIGZyb20gJ3BhcmNobWVudCdcclxuaW1wb3J0IHsgQmxvdCB9IGZyb20gJ3BhcmNobWVudC9kaXN0L3NyYy9ibG90L2Fic3RyYWN0L2Jsb3QnXHJcbmltcG9ydCB7IENsaXBib2FyZFN0YXRpYywgRGVsdGFTdGF0aWMsIFJhbmdlU3RhdGljLCBTdHJpbmdNYXAgfSBmcm9tICdxdWlsbCdcclxuaW1wb3J0IHsgUXVpbGwgfSBmcm9tICdyZWFjdC1xdWlsbCdcclxuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9nZ2VyJ1xyXG5pbXBvcnQgeyBCYXNlVGFibGVCbG90IH0gZnJvbSAnLi9CbG90cy9CYXNlVGFibGVCbG90J1xyXG5pbXBvcnQgeyBUYWJsZUJsb3QgfSBmcm9tICcuL0Jsb3RzL1RhYmxlQmxvdCdcclxuaW1wb3J0IHsgVGFibGVCb2R5QmxvdCB9IGZyb20gJy4vQmxvdHMvVGFibGVCb2R5QmxvdCdcclxuaW1wb3J0IHsgVGFibGVDZWxsQmxvdCB9IGZyb20gJy4vQmxvdHMvVGFibGVDZWxsQmxvdCdcclxuaW1wb3J0IHsgVGFibGVDb250YWluZXJCbG90IH0gZnJvbSAnLi9CbG90cy9UYWJsZUNvbnRhaW5lcidcclxuaW1wb3J0IHsgVGFibGVSb3dCbG90IH0gZnJvbSAnLi9CbG90cy9UYWJsZVJvd0Jsb3QnXHJcbmltcG9ydCB7IEFUVFJJQlVURSwgS0VZLCBUQUJMRV9BQ1RJT04sIFRBR19OQU1FIH0gZnJvbSAnLi9jb25zdGFudHMnXHJcbmltcG9ydCB7IGlzTGluZUFmdGVyVGFibGUsIGlzTGluZUJlZm9yZVRhYmxlLCBpc0xpbmVJblRhYmxlQ2VsbCwgcmFuZ2VSZW1vdmFsV2lsbERlbGV0ZUNlbGxXaXRob3V0Um93IH0gZnJvbSAnLi91dGlscydcclxuXHJcbmNvbnN0IERlbHRhID0gUXVpbGwuaW1wb3J0KCdkZWx0YScpXHJcbmNvbnN0IFNjcm9sbCA9IFF1aWxsLmltcG9ydCgnYmxvdHMvc2Nyb2xsJykgYXMgdHlwZW9mIFBhcmNobWVudFR5cGUuU2Nyb2xsXHJcblxyXG5pbnRlcmZhY2UgQ29udGV4dCB7XHJcblx0Y29sbGFwc2VkOiBib29sZWFuXHJcblx0ZW1wdHk6IGJvb2xlYW5cclxuXHRmb3JtYXQ6IFN0cmluZ01hcFxyXG5cdG9mZnNldDogbnVtYmVyXHJcblx0cHJlZml4OiBzdHJpbmdcclxuXHRzdWZmaXg6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVGFibGVNb2R1bGUge1xyXG5cdHN0YXRpYyByZWdpc3RlcigpIHtcclxuXHRcdFF1aWxsLnJlZ2lzdGVyKEJhc2VUYWJsZUJsb3QpXHJcblx0XHRRdWlsbC5yZWdpc3RlcihUYWJsZUNlbGxCbG90KVxyXG5cdFx0UXVpbGwucmVnaXN0ZXIoVGFibGVSb3dCbG90KVxyXG5cdFx0UXVpbGwucmVnaXN0ZXIoVGFibGVCb2R5QmxvdClcclxuXHRcdFF1aWxsLnJlZ2lzdGVyKFRhYmxlQmxvdClcclxuXHRcdFF1aWxsLnJlZ2lzdGVyKFRhYmxlQ29udGFpbmVyQmxvdClcclxuXHR9XHJcblxyXG5cdHF1aWxsOiBRdWlsbFxyXG5cdG9wdGlvbnM6IGFueVxyXG5cdHRhYmxlVG9vbGJhckNvbnRyb2xzOiBIVE1MRWxlbWVudFtdID0gW11cclxuXHJcblx0Y29uc3RydWN0b3IocXVpbGw6IFF1aWxsLCBvcHRpb25zOiBhbnkpIHtcclxuXHRcdHRoaXMucXVpbGwgPSBxdWlsbFxyXG5cdFx0dGhpcy5vcHRpb25zID0gb3B0aW9uc1xyXG5cclxuXHRcdC8vIERlZmluZSBUb29sYmFyIEhhbmRsZXJcclxuXHRcdGNvbnN0IHRvb2xiYXIgPSBxdWlsbC5nZXRNb2R1bGUoJ3Rvb2xiYXInKVxyXG5cdFx0aWYgKHRvb2xiYXIpIHtcclxuXHRcdFx0dG9vbGJhci5hZGRIYW5kbGVyKCd0YWJsZScsIChhY3Rpb246IHN0cmluZykgPT4ge1xyXG5cdFx0XHRcdHRoaXMudGFibGVIYW5kbGVyKGFjdGlvbilcclxuXHRcdFx0fSlcclxuXHJcblx0XHRcdC8vIGJ5IGRlZmF1bHQsIGhpZGUgYWxsIHRhYmxlIGNvbnRyb2xzXHJcblx0XHRcdHRvb2xiYXIuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogW3N0cmluZywgSFRNTEVsZW1lbnRdKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgW25hbWUsIGRvbU5vZGVdID0gY29udHJvbFxyXG5cdFx0XHRcdGlmIChuYW1lID09PSAndGFibGUnICYmIGRvbU5vZGUudGFnTmFtZSA9PT0gJ0JVVFRPTicpIHtcclxuXHRcdFx0XHRcdHRoaXMudGFibGVUb29sYmFyQ29udHJvbHMucHVzaChkb21Ob2RlKVxyXG5cdFx0XHRcdFx0ZG9tTm9kZS5jbGFzc0xpc3QuYWRkKCdkbicpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMucXVpbGwub24oJ2VkaXRvci1jaGFuZ2UnLCB0aGlzLnNob3dPckhpZGVUb29sYmFyQ29udHJvbHMpXHJcblx0XHR0aGlzLnF1aWxsLm9uKCdzZWxlY3Rpb24tY2hhbmdlJywgdGhpcy5zaG93T3JIaWRlVG9vbGJhckNvbnRyb2xzKVxyXG5cclxuXHRcdC8vIERlZmluZSBDbGlwYm9hcmQgTWF0Y2hlcnNcclxuXHRcdC8vIFdoZW4gSFRNTCBpcyBsb2FkZWQgb3IgcGFzdGVkIGludG8gUXVpbGwsIHRoZSBtYXRjaGVyc1xyXG5cdFx0Ly8gd2lsbCBmaW5kIHRoZSBnaXZlbiBIVE1MIFRhZyBhbmQgYWxsb3cgdGhlIGRlbHRhIGZvciB0aGUgZWxlbWVudCdzXHJcblx0XHQvLyBjb250ZW50IHRvIGJlIG1vZGlmaWVkLlxyXG5cdFx0Y29uc3QgY2xpcGJvYXJkID0gcXVpbGwuZ2V0TW9kdWxlKCdjbGlwYm9hcmQnKSBhcyBDbGlwYm9hcmRTdGF0aWMgfCB1bmRlZmluZWRcclxuXHRcdGlmIChjbGlwYm9hcmQpIHtcclxuXHRcdFx0Y2xpcGJvYXJkLmFkZE1hdGNoZXIoVEFHX05BTUUuVEQsIGZ1bmN0aW9uIChub2RlOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZGVsdGE6IERlbHRhU3RhdGljKSB7XHJcblx0XHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoYCR7VEFHX05BTUUuVER9IG1hdGNoZWRgLCB7IG5vZGUsIGRlbHRhIH0pXHJcblxyXG5cdFx0XHRcdC8vIGxvYWQgdGhlIHRhYmxlIGNlbGwgYXR0cmlidXRlIHRvIHVzZSBhcyB0aGUgZGVsdGEgb3BlcmF0aW9uIGF0dHJpYnV0ZXNcclxuXHRcdFx0XHRjb25zdCBkYXRhVmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShBVFRSSUJVVEUuREFUQV9WQUxVRSlcclxuXHRcdFx0XHRjb25zdCBkZWZhdWx0QXR0cmlidXRlcyA9IHtcclxuXHRcdFx0XHRcdHRkOiBkYXRhVmFsdWVcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIGhhbmRsZSBlbXB0eSBjZWxscywgaW5zZXJ0IGEgc2luZ2xlIGJsb2NrIC8gcGFyYWdyYXBoXHJcblx0XHRcdFx0aWYgKGRlbHRhLmxlbmd0aCgpID09PSAwKSB7XHJcblx0XHRcdFx0XHRjb25zdCB1cGRhdGVkRGVsdGEgPSAobmV3IERlbHRhKCkgYXMgRGVsdGFTdGF0aWMpLmluc2VydCgnXFxuJywgZGVmYXVsdEF0dHJpYnV0ZXMpXHJcblx0XHRcdFx0XHRnZXRMb2dnZXIoKS5kZWJ1ZyhgJHtUQUdfTkFNRS5URH0gbWF0Y2hlZCAtIGZpbmFsIGRlbHRhIChlbXB0eSBjZWxsKWAsIHVwZGF0ZWREZWx0YSlcclxuXHRcdFx0XHRcdHJldHVybiB1cGRhdGVkRGVsdGFcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIGZvciBlYWNoIG9wZXJhdGlvbiBpbnNpZGUgdGhlIGNlbGwncyBkZWx0YSwgYWRkIHRoZSB0YWJsZSBjZWxsIGF0dHJpYnV0ZXNcclxuXHRcdFx0XHRjb25zdCB1cGRhdGVkRGVsdGEgPSBkZWx0YS5yZWR1Y2UoKG5ld0RlbHRhLCBvcCkgPT4ge1xyXG5cdFx0XHRcdFx0bmV3RGVsdGEuaW5zZXJ0KG9wLmluc2VydCwgbWVyZ2Uoe30sIG9wLmF0dHJpYnV0ZXMsIGRlZmF1bHRBdHRyaWJ1dGVzKSlcclxuXHRcdFx0XHRcdHJldHVybiBuZXdEZWx0YVxyXG5cdFx0XHRcdH0sIG5ldyBEZWx0YSgpIGFzIERlbHRhU3RhdGljKVxyXG5cclxuXHRcdFx0XHRnZXRMb2dnZXIoKS5kZWJ1ZyhgJHtUQUdfTkFNRS5URH0gbWF0Y2hlZCAtIGZpbmFsIGRlbHRhYCwgdXBkYXRlZERlbHRhKVxyXG5cclxuXHRcdFx0XHRyZXR1cm4gdXBkYXRlZERlbHRhXHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gT3ZlcnJpZGUgXCJiYWNrc3BhY2VcIiBhbmQgXCJkZWxldGVcIiBhY3Rpb25zIHRoYXQgd291bGQgZGVsZXRlIG9yIGNvbWJpbmUgYSB0YWJsZSBjZWxsXHJcblx0XHRjb25zdCBrZXlib2FyZCA9IHF1aWxsLmdldE1vZHVsZSgna2V5Ym9hcmQnKVxyXG5cdFx0aWYgKGtleWJvYXJkKSB7XHJcblx0XHRcdGtleWJvYXJkLmFkZEJpbmRpbmcoXHJcblx0XHRcdFx0eyBrZXk6IEtFWS5CQUNLU1BBQ0UsIGFsdEtleTogbnVsbCwgY3RybEtleTogbnVsbCwgbWV0YUtleTogbnVsbCwgc2hpZnRLZXk6IG51bGwgfSxcclxuXHRcdFx0XHR7IGNvbGxhcHNlZDogdHJ1ZSwgb2Zmc2V0OiAwIH0sXHJcblx0XHRcdFx0dGhpcy5oYW5kbGVCYWNrc3BhY2VcclxuXHRcdFx0KVxyXG5cdFx0XHQvLyBtb3ZlIGJpbmRpbmcgdG8gZmlyc3QgcG9zaXRpb25cclxuXHRcdFx0Y29uc3QgYmFja3NwYWNlT3RoZXJCaW5kaW5nID0ga2V5Ym9hcmQuYmluZGluZ3NbS0VZLkJBQ0tTUEFDRV0ucG9wKClcclxuXHRcdFx0a2V5Ym9hcmQuYmluZGluZ3NbS0VZLkJBQ0tTUEFDRV0uc3BsaWNlKDAsIDAsIGJhY2tzcGFjZU90aGVyQmluZGluZylcclxuXHJcblx0XHRcdGtleWJvYXJkLmFkZEJpbmRpbmcoeyBrZXk6IEtFWS5CQUNLU1BBQ0UgfSwgeyBjb2xsYXBzZWQ6IGZhbHNlIH0sIHRoaXMuaGFuZGxlRGVsZXRlUmFuZ2UpXHJcblx0XHRcdC8vIG1vdmUgYmluZGluZyB0byBmaXJzdCBwb3NpdGlvblxyXG5cdFx0XHRjb25zdCBiYWNrc3BhY2VSYW5nZUJpbmRpbmcgPSBrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5wb3AoKVxyXG5cdFx0XHRrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5zcGxpY2UoMCwgMCwgYmFja3NwYWNlUmFuZ2VCaW5kaW5nKVxyXG5cclxuXHRcdFx0a2V5Ym9hcmQuYWRkQmluZGluZyh7IGtleTogS0VZLkJBQ0tTUEFDRSB9LCB7IGNvbGxhcHNlZDogdHJ1ZSB9LCB0aGlzLmhhbmRsZUJhY2tzcGFjZSlcclxuXHRcdFx0Ly8gbW92ZSBiaW5kaW5nIHRvIGZpcnN0IHBvc2l0aW9uXHJcblx0XHRcdGNvbnN0IGJhY2tzcGFjZUJpbmRpbmcgPSBrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5wb3AoKVxyXG5cdFx0XHRrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5zcGxpY2UoMCwgMCwgYmFja3NwYWNlQmluZGluZylcclxuXHJcblx0XHRcdGtleWJvYXJkLmFkZEJpbmRpbmcoeyBrZXk6IEtFWS5ERUxFVEUgfSwgeyBjb2xsYXBzZWQ6IGZhbHNlIH0sIHRoaXMuaGFuZGxlRGVsZXRlUmFuZ2UpXHJcblx0XHRcdC8vIG1vdmUgYmluZGluZyB0byBmaXJzdCBwb3NpdGlvblxyXG5cdFx0XHRjb25zdCBkZWxldGVSYW5nZUJpbmRpbmcgPSBrZXlib2FyZC5iaW5kaW5nc1tLRVkuREVMRVRFXS5wb3AoKVxyXG5cdFx0XHRrZXlib2FyZC5iaW5kaW5nc1tLRVkuREVMRVRFXS5zcGxpY2UoMCwgMCwgZGVsZXRlUmFuZ2VCaW5kaW5nKVxyXG5cclxuXHRcdFx0a2V5Ym9hcmQuYWRkQmluZGluZyh7IGtleTogS0VZLkRFTEVURSB9LCB7IGNvbGxhcHNlZDogdHJ1ZSwgYWx0S2V5OiB0cnVlIH0sIHRoaXMuaGFuZGxlRGVsZXRlKVxyXG5cdFx0XHQvLyBtb3ZlIGJpbmRpbmcgdG8gZmlyc3QgcG9zaXRpb25cclxuXHRcdFx0Y29uc3QgZGVsZXRlV2l0aEFsdEJpbmRpbmcgPSBrZXlib2FyZC5iaW5kaW5nc1tLRVkuREVMRVRFXS5wb3AoKVxyXG5cdFx0XHRrZXlib2FyZC5iaW5kaW5nc1tLRVkuREVMRVRFXS5zcGxpY2UoMCwgMCwgZGVsZXRlV2l0aEFsdEJpbmRpbmcpXHJcblxyXG5cdFx0XHRrZXlib2FyZC5hZGRCaW5kaW5nKHsga2V5OiBLRVkuREVMRVRFIH0sIHsgY29sbGFwc2VkOiB0cnVlIH0sIHRoaXMuaGFuZGxlRGVsZXRlKVxyXG5cdFx0XHQvLyBtb3ZlIGJpbmRpbmcgdG8gZmlyc3QgcG9zaXRpb25cclxuXHRcdFx0Y29uc3QgZGVsZXRlQmluZGluZyA9IGtleWJvYXJkLmJpbmRpbmdzW0tFWS5ERUxFVEVdLnBvcCgpXHJcblx0XHRcdGtleWJvYXJkLmJpbmRpbmdzW0tFWS5ERUxFVEVdLnNwbGljZSgwLCAwLCBkZWxldGVCaW5kaW5nKVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8jcmVnaW9uIEhlbHBlcnNcclxuXHJcblx0c2hvd09ySGlkZVRvb2xiYXJDb250cm9scyA9ICgpID0+IHtcclxuXHRcdGNvbnN0IHNlbGVjdGVkQ2VsbCA9IHRoaXMuZ2V0U2VsZWN0ZWRDZWxsKClcclxuXHRcdGlmIChzZWxlY3RlZENlbGwpIHtcclxuXHRcdFx0dGhpcy50YWJsZVRvb2xiYXJDb250cm9scy5mb3JFYWNoKGRvbU5vZGUgPT4ge1xyXG5cdFx0XHRcdGRvbU5vZGUuY2xhc3NMaXN0LnJlbW92ZSgnZG4nKVxyXG5cdFx0XHR9KVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy50YWJsZVRvb2xiYXJDb250cm9scy5mb3JFYWNoKGRvbU5vZGUgPT4ge1xyXG5cdFx0XHRcdGRvbU5vZGUuY2xhc3NMaXN0LmFkZCgnZG4nKVxyXG5cdFx0XHR9KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aGFuZGxlQmFja3NwYWNlID0gKHJhbmdlOiBSYW5nZVN0YXRpYywgY29udGV4dDogQ29udGV4dCkgPT4ge1xyXG5cdFx0aWYgKHJhbmdlLmluZGV4ID09PSAwIHx8IHRoaXMucXVpbGwuZ2V0TGVuZ3RoKCkgPD0gMSkgcmV0dXJuIHRydWVcclxuXHRcdGNvbnN0IFtsaW5lXTogW0Jsb3QsIG51bWJlcl0gPSB0aGlzLnF1aWxsLmdldExpbmUocmFuZ2UuaW5kZXgpXHJcblx0XHRpZiAoY29udGV4dC5vZmZzZXQgPT09IDAgJiYgaXNMaW5lQWZ0ZXJUYWJsZShsaW5lKSkge1xyXG5cdFx0XHRnZXRMb2dnZXIoKS5kZWJ1ZygncHJldmVudCBiYWNrc3BhY2UgYWZ0ZXIgdGFibGUnLCB7IHJhbmdlLCBjb250ZXh0LCBsaW5lIH0pXHJcblx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0fVxyXG5cdFx0Ly8gaWYgaW5zaWRlIGEgVGFibGVDZWxsQmxvdCBhbmQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBjZWxsXHJcblx0XHQvLyBwcmV2ZW50IFwiYmFja3NwYWNlXCIgZnJvbSByZW1vdmluZyBwcmV2aW91cyBjZWxsXHJcblx0XHQvLyBvciBpdGVtcyBiZWZvcmUgdGhlIHRhYmxlIGlmIGluIHRoZSBmaXJzdCBjZWxsXHJcblx0XHRpZiAoXHJcblx0XHRcdC8vIGluIGEgY2VsbFxyXG5cdFx0XHRpc0xpbmVJblRhYmxlQ2VsbChsaW5lKSAmJlxyXG5cdFx0XHQvLyBhdCB0aGUgc3RhcnQgb2YgdGhlIGNlbGxcclxuXHRcdFx0Y29udGV4dC5vZmZzZXQgPT09IDAgJiZcclxuXHRcdFx0IWxpbmUucHJldiAmJlxyXG5cdFx0XHQvLyB0aGVyZSBpcyBhIGNlbGwgYmVmb3JlIHRoaXMgb25lIGluIHRoZSByb3dcclxuXHRcdFx0KChsaW5lLnBhcmVudC5wcmV2ICYmIGxpbmUucGFyZW50LnByZXYgaW5zdGFuY2VvZiBUYWJsZUNlbGxCbG90KSB8fFxyXG5cdFx0XHRcdC8vIG9yIHRoZSBjZWxsIGlzIGF0IHRoZSBzdGFydCBvZiBhIHJvd1xyXG5cdFx0XHRcdCFsaW5lLnBhcmVudC5wcmV2KVxyXG5cdFx0KSB7XHJcblx0XHRcdGdldExvZ2dlcigpLmRlYnVnKCdwcmV2ZW50IGNlbGwgYmFja3NwYWNlJywgeyByYW5nZSwgY29udGV4dCwgbGluZSB9KVxyXG5cdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdH1cclxuXHRcdHJldHVybiB0cnVlXHJcblx0fVxyXG5cclxuXHRoYW5kbGVEZWxldGUgPSAocmFuZ2U6IFJhbmdlU3RhdGljLCBjb250ZXh0OiBDb250ZXh0KSA9PiB7XHJcblx0XHRjb25zdCBsZW5ndGggPSAvXltcXHVEODAwLVxcdURCRkZdW1xcdURDMDAtXFx1REZGRl0vLnRlc3QoY29udGV4dC5zdWZmaXgpID8gMiA6IDFcclxuXHRcdGlmIChyYW5nZS5pbmRleCA+PSB0aGlzLnF1aWxsLmdldExlbmd0aCgpIC0gbGVuZ3RoKSByZXR1cm4gdHJ1ZVxyXG5cdFx0Y29uc3QgW2xpbmVdOiBbQmxvdCwgbnVtYmVyXSA9IHRoaXMucXVpbGwuZ2V0TGluZShyYW5nZS5pbmRleClcclxuXHRcdGlmIChjb250ZXh0Lm9mZnNldCA9PT0gbGluZS5sZW5ndGgoKSAtIDEgJiYgaXNMaW5lQmVmb3JlVGFibGUobGluZSkpIHtcclxuXHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ3ByZXZlbnQgZGVsZXRlIGJlZm9yZSB0YWJsZScsIHsgcmFuZ2UsIGNvbnRleHQsIGxpbmUgfSlcclxuXHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHR9XHJcblx0XHQvLyBpZiBpbnNpZGUgYSBUYWJsZUNlbGxCbG90IGFuZCBhdCB0aGUgZW5kIG9mIHRoZSBjZWxsXHJcblx0XHQvLyBwcmV2ZW50IFwiZGVsZXRlXCIgZnJvbSByZW1vdmluZyB0aGUgbmV4dCBjZWxsXHJcblx0XHQvLyBvciBpdGVtcyBhZnRlciB0aGUgdGFibGUgaWYgaW4gdGhlIGxhc3QgY2VsbFxyXG5cdFx0aWYgKFxyXG5cdFx0XHQvLyBpbiBhIGNlbGxcclxuXHRcdFx0aXNMaW5lSW5UYWJsZUNlbGwobGluZSkgJiZcclxuXHRcdFx0Ly8gYXQgdGhlIGVuZCBvZiB0aGUgY2VsbFxyXG5cdFx0XHQhbGluZS5uZXh0ICYmXHJcblx0XHRcdGNvbnRleHQub2Zmc2V0ID09PSBsaW5lLmxlbmd0aCgpIC0gMSAmJlxyXG5cdFx0XHQvLyB0aGVyZSBpcyBhIGNlbGwgYWZ0ZXIgdGhpcyBvbmUgaW4gdGhlIHJvd1xyXG5cdFx0XHQoKGxpbmUucGFyZW50Lm5leHQgJiYgbGluZS5wYXJlbnQubmV4dCBpbnN0YW5jZW9mIFRhYmxlQ2VsbEJsb3QpIHx8XHJcblx0XHRcdFx0Ly8gb3IgdGhlIGNlbGwgaXMgYXQgdGhlIHN0YXJ0IG9mIGEgcm93XHJcblx0XHRcdFx0IWxpbmUucGFyZW50Lm5leHQpXHJcblx0XHQpIHtcclxuXHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ3ByZXZlbnQgY2VsbCBkZWxldGUnLCB7IHJhbmdlLCBjb250ZXh0LCBsaW5lIH0pXHJcblx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRydWVcclxuXHR9XHJcblxyXG5cdGhhbmRsZURlbGV0ZVJhbmdlID0gKHJhbmdlOiBSYW5nZVN0YXRpYykgPT4ge1xyXG5cdFx0Y29uc3QgbGluZXMgPSB0aGlzLnF1aWxsLmdldExpbmVzKHJhbmdlKVxyXG5cdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ2hhbmRsZURlbGV0ZVJhbmdlJywgeyByYW5nZSwgbGluZXMgfSlcclxuXHRcdGNvbnN0IHdpbGxEZWxldGVDZWxsV2l0aG91dFJvdyA9IHJhbmdlUmVtb3ZhbFdpbGxEZWxldGVDZWxsV2l0aG91dFJvdyh0aGlzLnF1aWxsLCByYW5nZSlcclxuXHRcdGlmICh3aWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3cpIHtcclxuXHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ3ByZXZlbnQgZGVsZXRlIGNlbGwgb3V0IG9mIHJvdycpXHJcblx0XHR9XHJcblx0XHRyZXR1cm4gIXdpbGxEZWxldGVDZWxsV2l0aG91dFJvd1xyXG5cdH1cclxuXHJcblx0Z2V0U2VsZWN0ZWRDZWxsKCkge1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uID0gdGhpcy5xdWlsbC5nZXRTZWxlY3Rpb24oKVxyXG5cdFx0aWYgKCFzZWxlY3Rpb24pIHtcclxuXHRcdFx0cmV0dXJuIG51bGxcclxuXHRcdH1cclxuXHRcdGNvbnN0IGxlYWYgPSB0aGlzLnF1aWxsLmdldExlYWYoc2VsZWN0aW9uLmluZGV4KVxyXG5cdFx0bGV0IGJsb3Q6IEJsb3QgfCBudWxsID0gbGVhZlswXVxyXG5cdFx0d2hpbGUgKGJsb3QgJiYgIShibG90IGluc3RhbmNlb2YgVGFibGVDZWxsQmxvdCkgJiYgYmxvdC5wYXJlbnQpIHtcclxuXHRcdFx0YmxvdCA9IGJsb3QucGFyZW50XHJcblx0XHR9XHJcblx0XHRpZiAoYmxvdCBpbnN0YW5jZW9mIFRhYmxlQ2VsbEJsb3QpIHtcclxuXHRcdFx0cmV0dXJuIGJsb3RcclxuXHRcdH1cclxuXHRcdHJldHVybiBudWxsXHJcblx0fVxyXG5cclxuXHRnZXRTZWxlY3RlZFRhYmxlKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2V0U2VsZWN0ZWRDZWxsKCk/LnRhYmxlKClcclxuXHR9XHJcblxyXG5cdC8vI2VuZHJlZ2lvbiBIZWxwZXJzXHJcblxyXG5cdC8vI3JlZ2lvbiBUYWJsZSBIYW5kbGVyXHJcblxyXG5cdHRhYmxlSGFuZGxlcihhY3Rpb246IHN0cmluZykge1xyXG5cdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ3RhYmxlSGFuZGxlcicsIGFjdGlvbilcclxuXHJcblx0XHQvLyByZXF1aXJlIGEgc2VsZWN0aW9uIHJhbmdlXHJcblx0XHRjb25zdCByYW5nZSA9IHRoaXMucXVpbGwuZ2V0U2VsZWN0aW9uKClcclxuXHRcdGlmICghcmFuZ2UpIHJldHVyblxyXG5cclxuXHRcdGlmIChhY3Rpb24uaW5jbHVkZXMoVEFCTEVfQUNUSU9OLk5FV19UQUJMRSkpIHtcclxuXHRcdFx0dGhpcy5hZGROZXdUYWJsZShhY3Rpb24sIHJhbmdlKVxyXG5cdFx0XHRyZXR1cm5cclxuXHRcdH1cclxuXHJcblx0XHQvLyByZXF1aXJlIGEgc2VsZWN0ZWQgY2VsbFxyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRDZWxsID0gdGhpcy5nZXRTZWxlY3RlZENlbGwoKVxyXG5cdFx0aWYgKCFzZWxlY3RlZENlbGwpIHJldHVyblxyXG5cclxuXHRcdHN3aXRjaCAoYWN0aW9uKSB7XHJcblx0XHRcdGNhc2UgVEFCTEVfQUNUSU9OLklOU0VSVF9DT0w6XHJcblx0XHRcdFx0dGhpcy5pbnNlcnRDb2woc2VsZWN0ZWRDZWxsKVxyXG5cdFx0XHRcdGJyZWFrXHJcblx0XHRcdGNhc2UgVEFCTEVfQUNUSU9OLklOU0VSVF9ST1c6XHJcblx0XHRcdFx0dGhpcy5pbnNlcnRSb3coc2VsZWN0ZWRDZWxsKVxyXG5cdFx0XHRcdGJyZWFrXHJcblx0XHRcdGNhc2UgVEFCTEVfQUNUSU9OLkRFTEVURV9DT0w6XHJcblx0XHRcdFx0dGhpcy5kZWxldGVDb2woc2VsZWN0ZWRDZWxsKVxyXG5cdFx0XHRcdGJyZWFrXHJcblx0XHRcdGNhc2UgVEFCTEVfQUNUSU9OLkRFTEVURV9ST1c6XHJcblx0XHRcdFx0dGhpcy5kZWxldGVSb3coc2VsZWN0ZWRDZWxsKVxyXG5cdFx0XHRcdGJyZWFrXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhZGROZXdUYWJsZShhY3Rpb246IHN0cmluZywgcmFuZ2U6IFJhbmdlU3RhdGljKSB7XHJcblx0XHRjb25zdCB7IGluZGV4IH0gPSByYW5nZVxyXG5cclxuXHRcdC8vIGUuZy4gXCJuZXctdGFibGUtMi0yXCJcclxuXHRcdGNvbnN0IHNpemVzID0gYWN0aW9uLnJlcGxhY2UoVEFCTEVfQUNUSU9OLk5FV19UQUJMRSwgJycpLnNwbGl0KCdfJylcclxuXHRcdGNvbnN0IHJvd3MgPSBwYXJzZUludChzaXplc1swXSlcclxuXHRcdGNvbnN0IGNvbHMgPSBwYXJzZUludChzaXplc1sxXSlcclxuXHRcdGNvbnN0IHRhYmxlQ29udGFpbmVyID0gVGFibGVDb250YWluZXJCbG90LmNyZWF0ZVdpdGhDaGlsZHJlbihyb3dzLCBjb2xzKVxyXG5cclxuXHRcdC8vIGluc2VydCB0aGUgdGFibGUgaW50byB0aGUgdG9wIGxldmVsIHNjcm9sbCBlbGVtZW50XHJcblx0XHQvLyBiZWZvcmUgdGhlIGN1cnJlbnQgbGVhZidzIHRvcCBsZXZlbCBicmFuY2hcclxuXHRcdC8vIFBSRVZFTlQgTkVTVEVEIFRBQkxFU1xyXG5cdFx0bGV0IHRvcEJyYW5jaCA9IG51bGxcclxuXHRcdGNvbnN0IGxlYWYgPSB0aGlzLnF1aWxsLmdldExlYWYoaW5kZXgpXHJcblx0XHRsZXQgYmxvdDogQmxvdCB8IG51bGwgPSBsZWFmWzBdXHJcblx0XHR3aGlsZSAoYmxvdCAmJiBibG90LnBhcmVudCAmJiAhKGJsb3QgaW5zdGFuY2VvZiBTY3JvbGwpKSB7XHJcblx0XHRcdHRvcEJyYW5jaCA9IGJsb3RcclxuXHRcdFx0YmxvdCA9IGJsb3QucGFyZW50XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKCFibG90IHx8ICEoYmxvdCBpbnN0YW5jZW9mIFNjcm9sbCkpIHJldHVyblxyXG5cclxuXHRcdGJsb3QuaW5zZXJ0QmVmb3JlKHRhYmxlQ29udGFpbmVyLCB0b3BCcmFuY2ggfHwgdW5kZWZpbmVkKVxyXG5cdFx0dGhpcy5xdWlsbC5zZXRTZWxlY3Rpb24odGFibGVDb250YWluZXIub2Zmc2V0KHRoaXMucXVpbGwuc2Nyb2xsKSwgMCwgJ3VzZXInKVxyXG5cdH1cclxuXHJcblx0aW5zZXJ0Q29sKHNlbGVjdGVkQ2VsbDogVGFibGVDZWxsQmxvdCkge1xyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRDZWxsQ29sdW1uID0gc2VsZWN0ZWRDZWxsLmNvbHVtbigpXHJcblx0XHRjb25zdCB0YWJsZUlkID0gc2VsZWN0ZWRDZWxsLnRhYmxlSWQoKVxyXG5cdFx0Y29uc3QgdGFibGVCb2R5ID0gc2VsZWN0ZWRDZWxsLnJvdygpPy50YWJsZUJvZHkoKVxyXG5cdFx0aWYgKCF0YWJsZUJvZHkpIHJldHVyblxyXG5cdFx0dGFibGVCb2R5LmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xyXG5cdFx0XHRjb25zdCB0YWJsZVJvdyA9IGNoaWxkIGFzIFRhYmxlUm93QmxvdFxyXG5cdFx0XHRjb25zdCByb3dJZCA9IHRhYmxlUm93LmlkKClcclxuXHRcdFx0Y29uc3QgdGFibGVDZWxsID0gVGFibGVDZWxsQmxvdC5jcmVhdGVXaXRoQ2hpbGRyZW4odGFibGVJZCwgcm93SWQpXHJcblx0XHRcdGNvbnN0IGNlbGxzOiBCbG90W10gPSB0YWJsZVJvdy5jaGlsZHJlbi5tYXAoYyA9PiBjKVxyXG5cdFx0XHRjb25zdCBuZXh0Q29sdW1uQ2VsbCA9IGNlbGxzLmxlbmd0aCA+IHNlbGVjdGVkQ2VsbENvbHVtbiAtIDEgPyBjZWxsc1tzZWxlY3RlZENlbGxDb2x1bW5dIDogdW5kZWZpbmVkXHJcblx0XHRcdGlmIChuZXh0Q29sdW1uQ2VsbCkge1xyXG5cdFx0XHRcdHRhYmxlUm93Lmluc2VydEJlZm9yZSh0YWJsZUNlbGwsIG5leHRDb2x1bW5DZWxsKVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRhYmxlUm93LmFwcGVuZENoaWxkKHRhYmxlQ2VsbClcclxuXHRcdFx0fVxyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdGluc2VydFJvdyhzZWxlY3RlZENlbGw6IFRhYmxlQ2VsbEJsb3QpIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRSb3cgPSBzZWxlY3RlZENlbGwucm93KClcclxuXHRcdGlmICghY3VycmVudFJvdykgcmV0dXJuXHJcblx0XHRjb25zdCBuZXh0Um93ID0gY3VycmVudFJvdy5uZXh0XHJcblx0XHRjb25zdCB0YWJsZUJvZHkgPSBjdXJyZW50Um93LnRhYmxlQm9keSgpXHJcblx0XHRpZiAoIXRhYmxlQm9keSkgcmV0dXJuXHJcblx0XHRjb25zdCBuZXdSb3cgPSBUYWJsZVJvd0Jsb3QuY3JlYXRlRnJvbVJlZmVyZW5jZShjdXJyZW50Um93KVxyXG5cdFx0aWYgKG5leHRSb3cpIHtcclxuXHRcdFx0dGFibGVCb2R5Lmluc2VydEJlZm9yZShuZXdSb3csIG5leHRSb3cpXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0YWJsZUJvZHkuYXBwZW5kQ2hpbGQobmV3Um93KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZGVsZXRlQ29sKHNlbGVjdGVkQ2VsbDogVGFibGVDZWxsQmxvdCkge1xyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRDZWxsQ29sdW1uID0gc2VsZWN0ZWRDZWxsLmNvbHVtbigpXHJcblx0XHRjb25zdCB0YWJsZUJvZHkgPSBzZWxlY3RlZENlbGwucm93KCk/LnRhYmxlQm9keSgpXHJcblx0XHRpZiAoIXRhYmxlQm9keSkgcmV0dXJuXHJcblx0XHR0YWJsZUJvZHkuY2hpbGRyZW4uZm9yRWFjaChjID0+IHtcclxuXHRcdFx0Y29uc3QgdGFibGVSb3cgPSBjIGFzIFRhYmxlUm93QmxvdFxyXG5cdFx0XHRjb25zdCBjZWxscyA9IHRhYmxlUm93LmNoaWxkcmVuLm1hcChjID0+IGMpXHJcblx0XHRcdGNvbnN0IGNlbGwgPSBjZWxsc1tzZWxlY3RlZENlbGxDb2x1bW4gLSAxXVxyXG5cdFx0XHRjZWxsPy5yZW1vdmUoKVxyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdGRlbGV0ZVJvdyhzZWxlY3RlZENlbGw6IFRhYmxlQ2VsbEJsb3QpIHtcclxuXHRcdGNvbnN0IHNlbGVjdGVkUm93ID0gc2VsZWN0ZWRDZWxsLnJvdygpXHJcblx0XHRpZiAoIXNlbGVjdGVkUm93KSByZXR1cm5cclxuXHRcdGNvbnN0IGNlbGxPZmZzZXQgPSBzZWxlY3RlZENlbGwub2Zmc2V0KCkgLy8gb2Zmc2V0IGluc2lkZSByb3dcclxuXHRcdGNvbnN0IHRhYmxlQm9keSA9IHNlbGVjdGVkUm93LnRhYmxlQm9keSgpXHJcblx0XHRjb25zdCByb3dUb1NlbGVjdEFmdGVyID0gc2VsZWN0ZWRSb3cubmV4dCB8fCBzZWxlY3RlZFJvdy5wcmV2XHJcblx0XHQvLyBkZWxldGUgdGhlIHJvd1xyXG5cdFx0c2VsZWN0ZWRSb3cucmVtb3ZlKClcclxuXHRcdC8vIGZvY3VzIHRoZSBuZXh0IHJvdyBvciBwcmV2IHJvdyBpZiBwb3NzaWJsZVxyXG5cdFx0aWYgKHRhYmxlQm9keSAmJiB0YWJsZUJvZHkuY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiByb3dUb1NlbGVjdEFmdGVyKSB7XHJcblx0XHRcdGNvbnN0IGluZGV4ID0gcm93VG9TZWxlY3RBZnRlci5vZmZzZXQodGhpcy5xdWlsbC5zY3JvbGwpXHJcblx0XHRcdHRoaXMucXVpbGwuc2V0U2VsZWN0aW9uKGluZGV4ICsgY2VsbE9mZnNldCwgMClcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vI2VuZHJlZ2lvbiBUYWJsZSBIYW5kbGVyXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUlBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFVBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE1BQUEsR0FBQVYsT0FBQTtBQWRBOztBQWdCQSxNQUFNVyxLQUFLLEdBQUdDLGlCQUFLLENBQUNDLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDbkMsTUFBTUMsTUFBTSxHQUFHRixpQkFBSyxDQUFDQyxNQUFNLENBQUMsY0FBYyxDQUFnQztBQVduRSxNQUFNRSxXQUFXLENBQUM7RUFDeEIsT0FBT0MsUUFBUUEsQ0FBQSxFQUFHO0lBQ2pCSixpQkFBSyxDQUFDSSxRQUFRLENBQUNDLDRCQUFhLENBQUM7SUFDN0JMLGlCQUFLLENBQUNJLFFBQVEsQ0FBQ0UsNEJBQWEsQ0FBQztJQUM3Qk4saUJBQUssQ0FBQ0ksUUFBUSxDQUFDRywwQkFBWSxDQUFDO0lBQzVCUCxpQkFBSyxDQUFDSSxRQUFRLENBQUNJLDRCQUFhLENBQUM7SUFDN0JSLGlCQUFLLENBQUNJLFFBQVEsQ0FBQ0ssb0JBQVMsQ0FBQztJQUN6QlQsaUJBQUssQ0FBQ0ksUUFBUSxDQUFDTSxrQ0FBa0IsQ0FBQztFQUNuQztFQU1BQyxXQUFXQSxDQUFDQyxLQUFZLEVBQUVDLE9BQVksRUFBRTtJQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUE7SUFBQSxJQUFBRCxnQkFBQSxDQUFBQyxPQUFBO0lBQUEsSUFBQUQsZ0JBQUEsQ0FBQUMsT0FBQSxnQ0FGRixFQUFFO0lBbUd4QztJQUFBLElBQUFELGdCQUFBLENBQUFDLE9BQUEscUNBRTRCLE1BQU07TUFDakMsTUFBTUMsWUFBWSxHQUFHLElBQUksQ0FBQ0MsZUFBZSxDQUFDLENBQUM7TUFDM0MsSUFBSUQsWUFBWSxFQUFFO1FBQ2pCLElBQUksQ0FBQ0Usb0JBQW9CLENBQUNDLE9BQU8sQ0FBQ0MsT0FBTyxJQUFJO1VBQzVDQSxPQUFPLENBQUNDLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMvQixDQUFDLENBQUM7TUFDSCxDQUFDLE1BQU07UUFDTixJQUFJLENBQUNKLG9CQUFvQixDQUFDQyxPQUFPLENBQUNDLE9BQU8sSUFBSTtVQUM1Q0EsT0FBTyxDQUFDQyxTQUFTLENBQUNFLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDNUIsQ0FBQyxDQUFDO01BQ0g7SUFDRCxDQUFDO0lBQUEsSUFBQVQsZ0JBQUEsQ0FBQUMsT0FBQSwyQkFFaUIsQ0FBQ1MsS0FBa0IsRUFBRUMsT0FBZ0IsS0FBSztNQUMzRCxJQUFJRCxLQUFLLENBQUNFLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDZCxLQUFLLENBQUNlLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sSUFBSTtNQUNqRSxNQUFNLENBQUNDLElBQUksQ0FBaUIsR0FBRyxJQUFJLENBQUNoQixLQUFLLENBQUNpQixPQUFPLENBQUNMLEtBQUssQ0FBQ0UsS0FBSyxDQUFDO01BQzlELElBQUlELE9BQU8sQ0FBQ0ssTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFBQyx1QkFBZ0IsRUFBQ0gsSUFBSSxDQUFDLEVBQUU7UUFDbkQsSUFBQUksaUJBQVMsRUFBQyxDQUFDLENBQUNDLEtBQUssQ0FBQywrQkFBK0IsRUFBRTtVQUFFVCxLQUFLO1VBQUVDLE9BQU87VUFBRUc7UUFBSyxDQUFDLENBQUM7UUFDNUUsT0FBTyxLQUFLO01BQ2I7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNDO01BQ0EsSUFBQU0sd0JBQWlCLEVBQUNOLElBQUksQ0FBQztNQUN2QjtNQUNBSCxPQUFPLENBQUNLLE1BQU0sS0FBSyxDQUFDLElBQ3BCLENBQUNGLElBQUksQ0FBQ08sSUFBSTtNQUNWO01BQ0VQLElBQUksQ0FBQ1EsTUFBTSxDQUFDRCxJQUFJLElBQUlQLElBQUksQ0FBQ1EsTUFBTSxDQUFDRCxJQUFJLFlBQVk3Qiw0QkFBYTtNQUM5RDtNQUNBLENBQUNzQixJQUFJLENBQUNRLE1BQU0sQ0FBQ0QsSUFBSSxDQUFDLEVBQ2xCO1FBQ0QsSUFBQUgsaUJBQVMsRUFBQyxDQUFDLENBQUNDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRTtVQUFFVCxLQUFLO1VBQUVDLE9BQU87VUFBRUc7UUFBSyxDQUFDLENBQUM7UUFDckUsT0FBTyxLQUFLO01BQ2I7TUFDQSxPQUFPLElBQUk7SUFDWixDQUFDO0lBQUEsSUFBQWQsZ0JBQUEsQ0FBQUMsT0FBQSx3QkFFYyxDQUFDUyxLQUFrQixFQUFFQyxPQUFnQixLQUFLO01BQ3hELE1BQU1ZLE1BQU0sR0FBRyxpQ0FBaUMsQ0FBQ0MsSUFBSSxDQUFDYixPQUFPLENBQUNjLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO01BQzdFLElBQUlmLEtBQUssQ0FBQ0UsS0FBSyxJQUFJLElBQUksQ0FBQ2QsS0FBSyxDQUFDZSxTQUFTLENBQUMsQ0FBQyxHQUFHVSxNQUFNLEVBQUUsT0FBTyxJQUFJO01BQy9ELE1BQU0sQ0FBQ1QsSUFBSSxDQUFpQixHQUFHLElBQUksQ0FBQ2hCLEtBQUssQ0FBQ2lCLE9BQU8sQ0FBQ0wsS0FBSyxDQUFDRSxLQUFLLENBQUM7TUFDOUQsSUFBSUQsT0FBTyxDQUFDSyxNQUFNLEtBQUtGLElBQUksQ0FBQ1MsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBQUcsd0JBQWlCLEVBQUNaLElBQUksQ0FBQyxFQUFFO1FBQ3BFLElBQUFJLGlCQUFTLEVBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsNkJBQTZCLEVBQUU7VUFBRVQsS0FBSztVQUFFQyxPQUFPO1VBQUVHO1FBQUssQ0FBQyxDQUFDO1FBQzFFLE9BQU8sS0FBSztNQUNiO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQztNQUNBLElBQUFNLHdCQUFpQixFQUFDTixJQUFJLENBQUM7TUFDdkI7TUFDQSxDQUFDQSxJQUFJLENBQUNhLElBQUksSUFDVmhCLE9BQU8sQ0FBQ0ssTUFBTSxLQUFLRixJQUFJLENBQUNTLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQztNQUNwQztNQUNFVCxJQUFJLENBQUNRLE1BQU0sQ0FBQ0ssSUFBSSxJQUFJYixJQUFJLENBQUNRLE1BQU0sQ0FBQ0ssSUFBSSxZQUFZbkMsNEJBQWE7TUFDOUQ7TUFDQSxDQUFDc0IsSUFBSSxDQUFDUSxNQUFNLENBQUNLLElBQUksQ0FBQyxFQUNsQjtRQUNELElBQUFULGlCQUFTLEVBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMscUJBQXFCLEVBQUU7VUFBRVQsS0FBSztVQUFFQyxPQUFPO1VBQUVHO1FBQUssQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sS0FBSztNQUNiO01BQ0EsT0FBTyxJQUFJO0lBQ1osQ0FBQztJQUFBLElBQUFkLGdCQUFBLENBQUFDLE9BQUEsNkJBRW9CUyxLQUFrQixJQUFLO01BQzNDLE1BQU1rQixLQUFLLEdBQUcsSUFBSSxDQUFDOUIsS0FBSyxDQUFDK0IsUUFBUSxDQUFDbkIsS0FBSyxDQUFDO01BQ3hDLElBQUFRLGlCQUFTLEVBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsbUJBQW1CLEVBQUU7UUFBRVQsS0FBSztRQUFFa0I7TUFBTSxDQUFDLENBQUM7TUFDeEQsTUFBTUUsd0JBQXdCLEdBQUcsSUFBQUMsMkNBQW9DLEVBQUMsSUFBSSxDQUFDakMsS0FBSyxFQUFFWSxLQUFLLENBQUM7TUFDeEYsSUFBSW9CLHdCQUF3QixFQUFFO1FBQzdCLElBQUFaLGlCQUFTLEVBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsZ0NBQWdDLENBQUM7TUFDcEQ7TUFDQSxPQUFPLENBQUNXLHdCQUF3QjtJQUNqQyxDQUFDO0lBOUtBLElBQUksQ0FBQ2hDLEtBQUssR0FBR0EsS0FBSztJQUNsQixJQUFJLENBQUNDLE9BQU8sR0FBR0EsT0FBTzs7SUFFdEI7SUFDQSxNQUFNaUMsT0FBTyxHQUFHbEMsS0FBSyxDQUFDbUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUMxQyxJQUFJRCxPQUFPLEVBQUU7TUFDWkEsT0FBTyxDQUFDRSxVQUFVLENBQUMsT0FBTyxFQUFHQyxNQUFjLElBQUs7UUFDL0MsSUFBSSxDQUFDQyxZQUFZLENBQUNELE1BQU0sQ0FBQztNQUMxQixDQUFDLENBQUM7O01BRUY7TUFDQUgsT0FBTyxDQUFDSyxRQUFRLENBQUNoQyxPQUFPLENBQUVpQyxPQUE4QixJQUFLO1FBQzVELE1BQU0sQ0FBQ0MsSUFBSSxFQUFFakMsT0FBTyxDQUFDLEdBQUdnQyxPQUFPO1FBQy9CLElBQUlDLElBQUksS0FBSyxPQUFPLElBQUlqQyxPQUFPLENBQUNrQyxPQUFPLEtBQUssUUFBUSxFQUFFO1VBQ3JELElBQUksQ0FBQ3BDLG9CQUFvQixDQUFDcUMsSUFBSSxDQUFDbkMsT0FBTyxDQUFDO1VBQ3ZDQSxPQUFPLENBQUNDLFNBQVMsQ0FBQ0UsR0FBRyxDQUFDLElBQUksQ0FBQztRQUM1QjtNQUNELENBQUMsQ0FBQztJQUNIO0lBRUEsSUFBSSxDQUFDWCxLQUFLLENBQUM0QyxFQUFFLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQ0MseUJBQXlCLENBQUM7SUFDOUQsSUFBSSxDQUFDN0MsS0FBSyxDQUFDNEMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQ0MseUJBQXlCLENBQUM7O0lBRWpFO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsTUFBTUMsU0FBUyxHQUFHOUMsS0FBSyxDQUFDbUMsU0FBUyxDQUFDLFdBQVcsQ0FBZ0M7SUFDN0UsSUFBSVcsU0FBUyxFQUFFO01BQ2RBLFNBQVMsQ0FBQ0MsVUFBVSxDQUFDQyxtQkFBUSxDQUFDQyxFQUFFLEVBQUUsVUFBVUMsSUFBMEIsRUFBRUMsS0FBa0IsRUFBRTtRQUMzRixJQUFBL0IsaUJBQVMsRUFBQyxDQUFDLENBQUNDLEtBQUssQ0FBQyxHQUFHMkIsbUJBQVEsQ0FBQ0MsRUFBRSxVQUFVLEVBQUU7VUFBRUMsSUFBSTtVQUFFQztRQUFNLENBQUMsQ0FBQzs7UUFFNUQ7UUFDQSxNQUFNQyxTQUFTLEdBQUdGLElBQUksQ0FBQ0csWUFBWSxDQUFDQyxvQkFBUyxDQUFDQyxVQUFVLENBQUM7UUFDekQsTUFBTUMsaUJBQWlCLEdBQUc7VUFDekJDLEVBQUUsRUFBRUw7UUFDTCxDQUFDOztRQUVEO1FBQ0EsSUFBSUQsS0FBSyxDQUFDMUIsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7VUFDekIsTUFBTWlDLFlBQVksR0FBSSxJQUFJdkUsS0FBSyxDQUFDLENBQUMsQ0FBaUJ3RSxNQUFNLENBQUMsSUFBSSxFQUFFSCxpQkFBaUIsQ0FBQztVQUNqRixJQUFBcEMsaUJBQVMsRUFBQyxDQUFDLENBQUNDLEtBQUssQ0FBQyxHQUFHMkIsbUJBQVEsQ0FBQ0MsRUFBRSxxQ0FBcUMsRUFBRVMsWUFBWSxDQUFDO1VBQ3BGLE9BQU9BLFlBQVk7UUFDcEI7O1FBRUE7UUFDQSxNQUFNQSxZQUFZLEdBQUdQLEtBQUssQ0FBQ1MsTUFBTSxDQUFDLENBQUNDLFFBQVEsRUFBRUMsRUFBRSxLQUFLO1VBQ25ERCxRQUFRLENBQUNGLE1BQU0sQ0FBQ0csRUFBRSxDQUFDSCxNQUFNLEVBQUUsSUFBQUksYUFBSyxFQUFDLENBQUMsQ0FBQyxFQUFFRCxFQUFFLENBQUNFLFVBQVUsRUFBRVIsaUJBQWlCLENBQUMsQ0FBQztVQUN2RSxPQUFPSyxRQUFRO1FBQ2hCLENBQUMsRUFBRSxJQUFJMUUsS0FBSyxDQUFDLENBQWdCLENBQUM7UUFFOUIsSUFBQWlDLGlCQUFTLEVBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsR0FBRzJCLG1CQUFRLENBQUNDLEVBQUUsd0JBQXdCLEVBQUVTLFlBQVksQ0FBQztRQUV2RSxPQUFPQSxZQUFZO01BQ3BCLENBQUMsQ0FBQztJQUNIOztJQUVBO0lBQ0EsTUFBTU8sUUFBUSxHQUFHakUsS0FBSyxDQUFDbUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUM1QyxJQUFJOEIsUUFBUSxFQUFFO01BQ2JBLFFBQVEsQ0FBQ0MsVUFBVSxDQUNsQjtRQUFFQyxHQUFHLEVBQUVDLGNBQUcsQ0FBQ0MsU0FBUztRQUFFQyxNQUFNLEVBQUUsSUFBSTtRQUFFQyxPQUFPLEVBQUUsSUFBSTtRQUFFQyxPQUFPLEVBQUUsSUFBSTtRQUFFQyxRQUFRLEVBQUU7TUFBSyxDQUFDLEVBQ2xGO1FBQUVDLFNBQVMsRUFBRSxJQUFJO1FBQUV4RCxNQUFNLEVBQUU7TUFBRSxDQUFDLEVBQzlCLElBQUksQ0FBQ3lELGVBQ04sQ0FBQztNQUNEO01BQ0EsTUFBTUMscUJBQXFCLEdBQUdYLFFBQVEsQ0FBQ1ksUUFBUSxDQUFDVCxjQUFHLENBQUNDLFNBQVMsQ0FBQyxDQUFDUyxHQUFHLENBQUMsQ0FBQztNQUNwRWIsUUFBUSxDQUFDWSxRQUFRLENBQUNULGNBQUcsQ0FBQ0MsU0FBUyxDQUFDLENBQUNVLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFSCxxQkFBcUIsQ0FBQztNQUVwRVgsUUFBUSxDQUFDQyxVQUFVLENBQUM7UUFBRUMsR0FBRyxFQUFFQyxjQUFHLENBQUNDO01BQVUsQ0FBQyxFQUFFO1FBQUVLLFNBQVMsRUFBRTtNQUFNLENBQUMsRUFBRSxJQUFJLENBQUNNLGlCQUFpQixDQUFDO01BQ3pGO01BQ0EsTUFBTUMscUJBQXFCLEdBQUdoQixRQUFRLENBQUNZLFFBQVEsQ0FBQ1QsY0FBRyxDQUFDQyxTQUFTLENBQUMsQ0FBQ1MsR0FBRyxDQUFDLENBQUM7TUFDcEViLFFBQVEsQ0FBQ1ksUUFBUSxDQUFDVCxjQUFHLENBQUNDLFNBQVMsQ0FBQyxDQUFDVSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRUUscUJBQXFCLENBQUM7TUFFcEVoQixRQUFRLENBQUNDLFVBQVUsQ0FBQztRQUFFQyxHQUFHLEVBQUVDLGNBQUcsQ0FBQ0M7TUFBVSxDQUFDLEVBQUU7UUFBRUssU0FBUyxFQUFFO01BQUssQ0FBQyxFQUFFLElBQUksQ0FBQ0MsZUFBZSxDQUFDO01BQ3RGO01BQ0EsTUFBTU8sZ0JBQWdCLEdBQUdqQixRQUFRLENBQUNZLFFBQVEsQ0FBQ1QsY0FBRyxDQUFDQyxTQUFTLENBQUMsQ0FBQ1MsR0FBRyxDQUFDLENBQUM7TUFDL0RiLFFBQVEsQ0FBQ1ksUUFBUSxDQUFDVCxjQUFHLENBQUNDLFNBQVMsQ0FBQyxDQUFDVSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRUcsZ0JBQWdCLENBQUM7TUFFL0RqQixRQUFRLENBQUNDLFVBQVUsQ0FBQztRQUFFQyxHQUFHLEVBQUVDLGNBQUcsQ0FBQ2U7TUFBTyxDQUFDLEVBQUU7UUFBRVQsU0FBUyxFQUFFO01BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQ00saUJBQWlCLENBQUM7TUFDdEY7TUFDQSxNQUFNSSxrQkFBa0IsR0FBR25CLFFBQVEsQ0FBQ1ksUUFBUSxDQUFDVCxjQUFHLENBQUNlLE1BQU0sQ0FBQyxDQUFDTCxHQUFHLENBQUMsQ0FBQztNQUM5RGIsUUFBUSxDQUFDWSxRQUFRLENBQUNULGNBQUcsQ0FBQ2UsTUFBTSxDQUFDLENBQUNKLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFSyxrQkFBa0IsQ0FBQztNQUU5RG5CLFFBQVEsQ0FBQ0MsVUFBVSxDQUFDO1FBQUVDLEdBQUcsRUFBRUMsY0FBRyxDQUFDZTtNQUFPLENBQUMsRUFBRTtRQUFFVCxTQUFTLEVBQUUsSUFBSTtRQUFFSixNQUFNLEVBQUU7TUFBSyxDQUFDLEVBQUUsSUFBSSxDQUFDZSxZQUFZLENBQUM7TUFDOUY7TUFDQSxNQUFNQyxvQkFBb0IsR0FBR3JCLFFBQVEsQ0FBQ1ksUUFBUSxDQUFDVCxjQUFHLENBQUNlLE1BQU0sQ0FBQyxDQUFDTCxHQUFHLENBQUMsQ0FBQztNQUNoRWIsUUFBUSxDQUFDWSxRQUFRLENBQUNULGNBQUcsQ0FBQ2UsTUFBTSxDQUFDLENBQUNKLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFTyxvQkFBb0IsQ0FBQztNQUVoRXJCLFFBQVEsQ0FBQ0MsVUFBVSxDQUFDO1FBQUVDLEdBQUcsRUFBRUMsY0FBRyxDQUFDZTtNQUFPLENBQUMsRUFBRTtRQUFFVCxTQUFTLEVBQUU7TUFBSyxDQUFDLEVBQUUsSUFBSSxDQUFDVyxZQUFZLENBQUM7TUFDaEY7TUFDQSxNQUFNRSxhQUFhLEdBQUd0QixRQUFRLENBQUNZLFFBQVEsQ0FBQ1QsY0FBRyxDQUFDZSxNQUFNLENBQUMsQ0FBQ0wsR0FBRyxDQUFDLENBQUM7TUFDekRiLFFBQVEsQ0FBQ1ksUUFBUSxDQUFDVCxjQUFHLENBQUNlLE1BQU0sQ0FBQyxDQUFDSixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRVEsYUFBYSxDQUFDO0lBQzFEO0VBQ0Q7RUFrRkFsRixlQUFlQSxDQUFBLEVBQUc7SUFDakIsTUFBTW1GLFNBQVMsR0FBRyxJQUFJLENBQUN4RixLQUFLLENBQUN5RixZQUFZLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUNELFNBQVMsRUFBRTtNQUNmLE9BQU8sSUFBSTtJQUNaO0lBQ0EsTUFBTUUsSUFBSSxHQUFHLElBQUksQ0FBQzFGLEtBQUssQ0FBQzJGLE9BQU8sQ0FBQ0gsU0FBUyxDQUFDMUUsS0FBSyxDQUFDO0lBQ2hELElBQUk4RSxJQUFpQixHQUFHRixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9CLE9BQU9FLElBQUksSUFBSSxFQUFFQSxJQUFJLFlBQVlsRyw0QkFBYSxDQUFDLElBQUlrRyxJQUFJLENBQUNwRSxNQUFNLEVBQUU7TUFDL0RvRSxJQUFJLEdBQUdBLElBQUksQ0FBQ3BFLE1BQU07SUFDbkI7SUFDQSxJQUFJb0UsSUFBSSxZQUFZbEcsNEJBQWEsRUFBRTtNQUNsQyxPQUFPa0csSUFBSTtJQUNaO0lBQ0EsT0FBTyxJQUFJO0VBQ1o7RUFFQUMsZ0JBQWdCQSxDQUFBLEVBQUc7SUFDbEIsT0FBTyxJQUFJLENBQUN4RixlQUFlLENBQUMsQ0FBQyxFQUFFeUYsS0FBSyxDQUFDLENBQUM7RUFDdkM7O0VBRUE7O0VBRUE7O0VBRUF4RCxZQUFZQSxDQUFDRCxNQUFjLEVBQUU7SUFDNUIsSUFBQWpCLGlCQUFTLEVBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsY0FBYyxFQUFFZ0IsTUFBTSxDQUFDOztJQUV6QztJQUNBLE1BQU16QixLQUFLLEdBQUcsSUFBSSxDQUFDWixLQUFLLENBQUN5RixZQUFZLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUM3RSxLQUFLLEVBQUU7SUFFWixJQUFJeUIsTUFBTSxDQUFDMEQsUUFBUSxDQUFDQyx1QkFBWSxDQUFDQyxTQUFTLENBQUMsRUFBRTtNQUM1QyxJQUFJLENBQUNDLFdBQVcsQ0FBQzdELE1BQU0sRUFBRXpCLEtBQUssQ0FBQztNQUMvQjtJQUNEOztJQUVBO0lBQ0EsTUFBTVIsWUFBWSxHQUFHLElBQUksQ0FBQ0MsZUFBZSxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDRCxZQUFZLEVBQUU7SUFFbkIsUUFBUWlDLE1BQU07TUFDYixLQUFLMkQsdUJBQVksQ0FBQ0csVUFBVTtRQUMzQixJQUFJLENBQUNDLFNBQVMsQ0FBQ2hHLFlBQVksQ0FBQztRQUM1QjtNQUNELEtBQUs0Rix1QkFBWSxDQUFDSyxVQUFVO1FBQzNCLElBQUksQ0FBQ0MsU0FBUyxDQUFDbEcsWUFBWSxDQUFDO1FBQzVCO01BQ0QsS0FBSzRGLHVCQUFZLENBQUNPLFVBQVU7UUFDM0IsSUFBSSxDQUFDQyxTQUFTLENBQUNwRyxZQUFZLENBQUM7UUFDNUI7TUFDRCxLQUFLNEYsdUJBQVksQ0FBQ1MsVUFBVTtRQUMzQixJQUFJLENBQUNDLFNBQVMsQ0FBQ3RHLFlBQVksQ0FBQztRQUM1QjtJQUNGO0VBQ0Q7RUFFQThGLFdBQVdBLENBQUM3RCxNQUFjLEVBQUV6QixLQUFrQixFQUFFO0lBQy9DLE1BQU07TUFBRUU7SUFBTSxDQUFDLEdBQUdGLEtBQUs7O0lBRXZCO0lBQ0EsTUFBTStGLEtBQUssR0FBR3RFLE1BQU0sQ0FBQ3VFLE9BQU8sQ0FBQ1osdUJBQVksQ0FBQ0MsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDWSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ25FLE1BQU1DLElBQUksR0FBR0MsUUFBUSxDQUFDSixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsTUFBTUssSUFBSSxHQUFHRCxRQUFRLENBQUNKLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixNQUFNTSxjQUFjLEdBQUduSCxrQ0FBa0IsQ0FBQ29ILGtCQUFrQixDQUFDSixJQUFJLEVBQUVFLElBQUksQ0FBQzs7SUFFeEU7SUFDQTtJQUNBO0lBQ0EsSUFBSUcsU0FBUyxHQUFHLElBQUk7SUFDcEIsTUFBTXpCLElBQUksR0FBRyxJQUFJLENBQUMxRixLQUFLLENBQUMyRixPQUFPLENBQUM3RSxLQUFLLENBQUM7SUFDdEMsSUFBSThFLElBQWlCLEdBQUdGLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0IsT0FBT0UsSUFBSSxJQUFJQSxJQUFJLENBQUNwRSxNQUFNLElBQUksRUFBRW9FLElBQUksWUFBWXRHLE1BQU0sQ0FBQyxFQUFFO01BQ3hENkgsU0FBUyxHQUFHdkIsSUFBSTtNQUNoQkEsSUFBSSxHQUFHQSxJQUFJLENBQUNwRSxNQUFNO0lBQ25CO0lBRUEsSUFBSSxDQUFDb0UsSUFBSSxJQUFJLEVBQUVBLElBQUksWUFBWXRHLE1BQU0sQ0FBQyxFQUFFO0lBRXhDc0csSUFBSSxDQUFDd0IsWUFBWSxDQUFDSCxjQUFjLEVBQUVFLFNBQVMsSUFBSUUsU0FBUyxDQUFDO0lBQ3pELElBQUksQ0FBQ3JILEtBQUssQ0FBQ3NILFlBQVksQ0FBQ0wsY0FBYyxDQUFDL0YsTUFBTSxDQUFDLElBQUksQ0FBQ2xCLEtBQUssQ0FBQ3VILE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7RUFDN0U7RUFFQW5CLFNBQVNBLENBQUNoRyxZQUEyQixFQUFFO0lBQ3RDLE1BQU1vSCxrQkFBa0IsR0FBR3BILFlBQVksQ0FBQ3FILE1BQU0sQ0FBQyxDQUFDO0lBQ2hELE1BQU1DLE9BQU8sR0FBR3RILFlBQVksQ0FBQ3NILE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLE1BQU1DLFNBQVMsR0FBR3ZILFlBQVksQ0FBQ3dILEdBQUcsQ0FBQyxDQUFDLEVBQUVELFNBQVMsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQ0EsU0FBUyxFQUFFO0lBQ2hCQSxTQUFTLENBQUNFLFFBQVEsQ0FBQ3RILE9BQU8sQ0FBQ3VILEtBQUssSUFBSTtNQUNuQyxNQUFNQyxRQUFRLEdBQUdELEtBQXFCO01BQ3RDLE1BQU1FLEtBQUssR0FBR0QsUUFBUSxDQUFDRSxFQUFFLENBQUMsQ0FBQztNQUMzQixNQUFNQyxTQUFTLEdBQUd4SSw0QkFBYSxDQUFDd0gsa0JBQWtCLENBQUNRLE9BQU8sRUFBRU0sS0FBSyxDQUFDO01BQ2xFLE1BQU1HLEtBQWEsR0FBR0osUUFBUSxDQUFDRixRQUFRLENBQUNPLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFJQSxDQUFDLENBQUM7TUFDbkQsTUFBTUMsY0FBYyxHQUFHSCxLQUFLLENBQUMxRyxNQUFNLEdBQUcrRixrQkFBa0IsR0FBRyxDQUFDLEdBQUdXLEtBQUssQ0FBQ1gsa0JBQWtCLENBQUMsR0FBR0gsU0FBUztNQUNwRyxJQUFJaUIsY0FBYyxFQUFFO1FBQ25CUCxRQUFRLENBQUNYLFlBQVksQ0FBQ2MsU0FBUyxFQUFFSSxjQUFjLENBQUM7TUFDakQsQ0FBQyxNQUFNO1FBQ05QLFFBQVEsQ0FBQ1EsV0FBVyxDQUFDTCxTQUFTLENBQUM7TUFDaEM7SUFDRCxDQUFDLENBQUM7RUFDSDtFQUVBNUIsU0FBU0EsQ0FBQ2xHLFlBQTJCLEVBQUU7SUFDdEMsTUFBTW9JLFVBQVUsR0FBR3BJLFlBQVksQ0FBQ3dILEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQ1ksVUFBVSxFQUFFO0lBQ2pCLE1BQU1DLE9BQU8sR0FBR0QsVUFBVSxDQUFDM0csSUFBSTtJQUMvQixNQUFNOEYsU0FBUyxHQUFHYSxVQUFVLENBQUNiLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLElBQUksQ0FBQ0EsU0FBUyxFQUFFO0lBQ2hCLE1BQU1lLE1BQU0sR0FBRy9JLDBCQUFZLENBQUNnSixtQkFBbUIsQ0FBQ0gsVUFBVSxDQUFDO0lBQzNELElBQUlDLE9BQU8sRUFBRTtNQUNaZCxTQUFTLENBQUNQLFlBQVksQ0FBQ3NCLE1BQU0sRUFBRUQsT0FBTyxDQUFDO0lBQ3hDLENBQUMsTUFBTTtNQUNOZCxTQUFTLENBQUNZLFdBQVcsQ0FBQ0csTUFBTSxDQUFDO0lBQzlCO0VBQ0Q7RUFFQWxDLFNBQVNBLENBQUNwRyxZQUEyQixFQUFFO0lBQ3RDLE1BQU1vSCxrQkFBa0IsR0FBR3BILFlBQVksQ0FBQ3FILE1BQU0sQ0FBQyxDQUFDO0lBQ2hELE1BQU1FLFNBQVMsR0FBR3ZILFlBQVksQ0FBQ3dILEdBQUcsQ0FBQyxDQUFDLEVBQUVELFNBQVMsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQ0EsU0FBUyxFQUFFO0lBQ2hCQSxTQUFTLENBQUNFLFFBQVEsQ0FBQ3RILE9BQU8sQ0FBQzhILENBQUMsSUFBSTtNQUMvQixNQUFNTixRQUFRLEdBQUdNLENBQWlCO01BQ2xDLE1BQU1GLEtBQUssR0FBR0osUUFBUSxDQUFDRixRQUFRLENBQUNPLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFJQSxDQUFDLENBQUM7TUFDM0MsTUFBTU8sSUFBSSxHQUFHVCxLQUFLLENBQUNYLGtCQUFrQixHQUFHLENBQUMsQ0FBQztNQUMxQ29CLElBQUksRUFBRWxJLE1BQU0sQ0FBQyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0VBQ0g7RUFFQWdHLFNBQVNBLENBQUN0RyxZQUEyQixFQUFFO0lBQ3RDLE1BQU15SSxXQUFXLEdBQUd6SSxZQUFZLENBQUN3SCxHQUFHLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUNpQixXQUFXLEVBQUU7SUFDbEIsTUFBTUMsVUFBVSxHQUFHMUksWUFBWSxDQUFDYyxNQUFNLENBQUMsQ0FBQyxFQUFDO0lBQ3pDLE1BQU15RyxTQUFTLEdBQUdrQixXQUFXLENBQUNsQixTQUFTLENBQUMsQ0FBQztJQUN6QyxNQUFNb0IsZ0JBQWdCLEdBQUdGLFdBQVcsQ0FBQ2hILElBQUksSUFBSWdILFdBQVcsQ0FBQ3RILElBQUk7SUFDN0Q7SUFDQXNILFdBQVcsQ0FBQ25JLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCO0lBQ0EsSUFBSWlILFNBQVMsSUFBSUEsU0FBUyxDQUFDRSxRQUFRLENBQUNwRyxNQUFNLEdBQUcsQ0FBQyxJQUFJc0gsZ0JBQWdCLEVBQUU7TUFDbkUsTUFBTWpJLEtBQUssR0FBR2lJLGdCQUFnQixDQUFDN0gsTUFBTSxDQUFDLElBQUksQ0FBQ2xCLEtBQUssQ0FBQ3VILE1BQU0sQ0FBQztNQUN4RCxJQUFJLENBQUN2SCxLQUFLLENBQUNzSCxZQUFZLENBQUN4RyxLQUFLLEdBQUdnSSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQy9DO0VBQ0Q7O0VBRUE7QUFDRDtBQUFDRSxPQUFBLENBQUF6SixXQUFBLEdBQUFBLFdBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
380
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwicmVxdWlyZSIsIl9yZWFjdFF1aWxsIiwiX2xvZ2dlciIsIl9CYXNlVGFibGVCbG90IiwiX1RhYmxlQmxvdCIsIl9UYWJsZUJvZHlCbG90IiwiX1RhYmxlQ2VsbEJsb3QiLCJfVGFibGVDb250YWluZXIiLCJfVGFibGVSb3dCbG90IiwiX2NvbnN0YW50cyIsIl91dGlscyIsIkRlbHRhIiwiUXVpbGwiLCJpbXBvcnQiLCJTY3JvbGwiLCJUYWJsZU1vZHVsZSIsInJlZ2lzdGVyIiwiQmFzZVRhYmxlQmxvdCIsIlRhYmxlQ2VsbEJsb3QiLCJUYWJsZVJvd0Jsb3QiLCJUYWJsZUJvZHlCbG90IiwiVGFibGVCbG90IiwiVGFibGVDb250YWluZXJCbG90IiwiY29uc3RydWN0b3IiLCJxdWlsbCIsIm9wdGlvbnMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsInNlbGVjdGVkQ2VsbCIsImdldFNlbGVjdGVkQ2VsbCIsInRhYmxlVG9vbGJhckNvbnRyb2xzIiwiZm9yRWFjaCIsImRvbU5vZGUiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJhZGQiLCJyYW5nZSIsImNvbnRleHQiLCJpbmRleCIsImdldExlbmd0aCIsImxpbmUiLCJnZXRMaW5lIiwib2Zmc2V0IiwiaXNMaW5lQWZ0ZXJUYWJsZSIsImdldExvZ2dlciIsImRlYnVnIiwiaXNMaW5lSW5UYWJsZUNlbGwiLCJwcmV2IiwicGFyZW50IiwibGVuZ3RoIiwidGVzdCIsInN1ZmZpeCIsImlzTGluZUJlZm9yZVRhYmxlIiwibmV4dCIsImxpbmVzIiwiZ2V0TGluZXMiLCJ3aWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3ciLCJyYW5nZVJlbW92YWxXaWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3ciLCJ0b29sYmFyIiwiZ2V0TW9kdWxlIiwiYWRkSGFuZGxlciIsImFjdGlvbiIsInRhYmxlSGFuZGxlciIsImNvbnRyb2xzIiwiY29udHJvbCIsIm5hbWUiLCJ0YWdOYW1lIiwicHVzaCIsIm9uIiwic2hvd09ySGlkZVRvb2xiYXJDb250cm9scyIsImNsaXBib2FyZCIsImFkZE1hdGNoZXIiLCJUQUdfTkFNRSIsIlREIiwibm9kZSIsImRlbHRhIiwiZGF0YVZhbHVlIiwiZ2V0QXR0cmlidXRlIiwiQVRUUklCVVRFIiwiREFUQV9WQUxVRSIsImRlZmF1bHRBdHRyaWJ1dGVzIiwidGQiLCJ1cGRhdGVkRGVsdGEiLCJpbnNlcnQiLCJyZWR1Y2UiLCJuZXdEZWx0YSIsIm9wIiwibWVyZ2UiLCJhdHRyaWJ1dGVzIiwia2V5Ym9hcmQiLCJhZGRCaW5kaW5nIiwia2V5IiwiS0VZIiwiQkFDS1NQQUNFIiwiYWx0S2V5IiwiY3RybEtleSIsIm1ldGFLZXkiLCJzaGlmdEtleSIsImNvbGxhcHNlZCIsImhhbmRsZUJhY2tzcGFjZSIsImJhY2tzcGFjZU90aGVyQmluZGluZyIsImJpbmRpbmdzIiwicG9wIiwic3BsaWNlIiwiaGFuZGxlRGVsZXRlUmFuZ2UiLCJiYWNrc3BhY2VSYW5nZUJpbmRpbmciLCJiYWNrc3BhY2VCaW5kaW5nIiwiREVMRVRFIiwiZGVsZXRlUmFuZ2VCaW5kaW5nIiwiaGFuZGxlRGVsZXRlIiwiZGVsZXRlV2l0aEFsdEJpbmRpbmciLCJkZWxldGVCaW5kaW5nIiwic2VsZWN0aW9uIiwiZ2V0U2VsZWN0aW9uIiwibGVhZiIsImdldExlYWYiLCJibG90IiwiZ2V0U2VsZWN0ZWRUYWJsZSIsInRhYmxlIiwiaW5jbHVkZXMiLCJUQUJMRV9BQ1RJT04iLCJORVdfVEFCTEUiLCJhZGROZXdUYWJsZSIsIklOU0VSVF9DT0wiLCJpbnNlcnRDb2wiLCJJTlNFUlRfUk9XIiwiaW5zZXJ0Um93IiwiREVMRVRFX0NPTCIsImRlbGV0ZUNvbCIsIkRFTEVURV9ST1ciLCJkZWxldGVSb3ciLCJzaXplcyIsInJlcGxhY2UiLCJzcGxpdCIsInJvd3MiLCJwYXJzZUludCIsImNvbHMiLCJ0YWJsZUNvbnRhaW5lciIsImNyZWF0ZVdpdGhDaGlsZHJlbiIsInRvcEJyYW5jaCIsImluc2VydEJlZm9yZSIsInVuZGVmaW5lZCIsInNldFNlbGVjdGlvbiIsInNjcm9sbCIsInNlbGVjdGVkQ2VsbENvbHVtbiIsImNvbHVtbiIsInRhYmxlSWQiLCJ0YWJsZUJvZHkiLCJyb3ciLCJjaGlsZHJlbiIsImNoaWxkIiwidGFibGVSb3ciLCJyb3dJZCIsImlkIiwidGFibGVDZWxsIiwiY2VsbHMiLCJtYXAiLCJjIiwibmV4dENvbHVtbkNlbGwiLCJhcHBlbmRDaGlsZCIsImN1cnJlbnRSb3ciLCJuZXh0Um93IiwibmV3Um93IiwiY3JlYXRlRnJvbVJlZmVyZW5jZSIsImNlbGwiLCJzZWxlY3RlZFJvdyIsImNlbGxPZmZzZXQiLCJyb3dUb1NlbGVjdEFmdGVyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1F1aWxsL1RhYmxlTW9kdWxlL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gKi9cbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IFBhcmNobWVudFR5cGUgZnJvbSAncGFyY2htZW50J1xuaW1wb3J0IHsgQmxvdCB9IGZyb20gJ3BhcmNobWVudC9kaXN0L3NyYy9ibG90L2Fic3RyYWN0L2Jsb3QnXG5pbXBvcnQgeyBDbGlwYm9hcmRTdGF0aWMsIERlbHRhU3RhdGljLCBSYW5nZVN0YXRpYywgU3RyaW5nTWFwIH0gZnJvbSAncXVpbGwnXG5pbXBvcnQgeyBRdWlsbCB9IGZyb20gJ3JlYWN0LXF1aWxsJ1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9nZ2VyJ1xuaW1wb3J0IHsgQmFzZVRhYmxlQmxvdCB9IGZyb20gJy4vQmxvdHMvQmFzZVRhYmxlQmxvdCdcbmltcG9ydCB7IFRhYmxlQmxvdCB9IGZyb20gJy4vQmxvdHMvVGFibGVCbG90J1xuaW1wb3J0IHsgVGFibGVCb2R5QmxvdCB9IGZyb20gJy4vQmxvdHMvVGFibGVCb2R5QmxvdCdcbmltcG9ydCB7IFRhYmxlQ2VsbEJsb3QgfSBmcm9tICcuL0Jsb3RzL1RhYmxlQ2VsbEJsb3QnXG5pbXBvcnQgeyBUYWJsZUNvbnRhaW5lckJsb3QgfSBmcm9tICcuL0Jsb3RzL1RhYmxlQ29udGFpbmVyJ1xuaW1wb3J0IHsgVGFibGVSb3dCbG90IH0gZnJvbSAnLi9CbG90cy9UYWJsZVJvd0Jsb3QnXG5pbXBvcnQgeyBBVFRSSUJVVEUsIEtFWSwgVEFCTEVfQUNUSU9OLCBUQUdfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgaXNMaW5lQWZ0ZXJUYWJsZSwgaXNMaW5lQmVmb3JlVGFibGUsIGlzTGluZUluVGFibGVDZWxsLCByYW5nZVJlbW92YWxXaWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3cgfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBEZWx0YSA9IFF1aWxsLmltcG9ydCgnZGVsdGEnKVxuY29uc3QgU2Nyb2xsID0gUXVpbGwuaW1wb3J0KCdibG90cy9zY3JvbGwnKSBhcyB0eXBlb2YgUGFyY2htZW50VHlwZS5TY3JvbGxcblxuaW50ZXJmYWNlIENvbnRleHQge1xuXHRjb2xsYXBzZWQ6IGJvb2xlYW5cblx0ZW1wdHk6IGJvb2xlYW5cblx0Zm9ybWF0OiBTdHJpbmdNYXBcblx0b2Zmc2V0OiBudW1iZXJcblx0cHJlZml4OiBzdHJpbmdcblx0c3VmZml4OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHtcblx0c3RhdGljIHJlZ2lzdGVyKCkge1xuXHRcdFF1aWxsLnJlZ2lzdGVyKEJhc2VUYWJsZUJsb3QpXG5cdFx0UXVpbGwucmVnaXN0ZXIoVGFibGVDZWxsQmxvdClcblx0XHRRdWlsbC5yZWdpc3RlcihUYWJsZVJvd0Jsb3QpXG5cdFx0UXVpbGwucmVnaXN0ZXIoVGFibGVCb2R5QmxvdClcblx0XHRRdWlsbC5yZWdpc3RlcihUYWJsZUJsb3QpXG5cdFx0UXVpbGwucmVnaXN0ZXIoVGFibGVDb250YWluZXJCbG90KVxuXHR9XG5cblx0cXVpbGw6IFF1aWxsXG5cdG9wdGlvbnM6IGFueVxuXHR0YWJsZVRvb2xiYXJDb250cm9sczogSFRNTEVsZW1lbnRbXSA9IFtdXG5cblx0Y29uc3RydWN0b3IocXVpbGw6IFF1aWxsLCBvcHRpb25zOiBhbnkpIHtcblx0XHR0aGlzLnF1aWxsID0gcXVpbGxcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG5cblx0XHQvLyBEZWZpbmUgVG9vbGJhciBIYW5kbGVyXG5cdFx0Y29uc3QgdG9vbGJhciA9IHF1aWxsLmdldE1vZHVsZSgndG9vbGJhcicpXG5cdFx0aWYgKHRvb2xiYXIpIHtcblx0XHRcdHRvb2xiYXIuYWRkSGFuZGxlcigndGFibGUnLCAoYWN0aW9uOiBzdHJpbmcpID0+IHtcblx0XHRcdFx0dGhpcy50YWJsZUhhbmRsZXIoYWN0aW9uKVxuXHRcdFx0fSlcblxuXHRcdFx0Ly8gYnkgZGVmYXVsdCwgaGlkZSBhbGwgdGFibGUgY29udHJvbHNcblx0XHRcdHRvb2xiYXIuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogW3N0cmluZywgSFRNTEVsZW1lbnRdKSA9PiB7XG5cdFx0XHRcdGNvbnN0IFtuYW1lLCBkb21Ob2RlXSA9IGNvbnRyb2xcblx0XHRcdFx0aWYgKG5hbWUgPT09ICd0YWJsZScgJiYgZG9tTm9kZS50YWdOYW1lID09PSAnQlVUVE9OJykge1xuXHRcdFx0XHRcdHRoaXMudGFibGVUb29sYmFyQ29udHJvbHMucHVzaChkb21Ob2RlKVxuXHRcdFx0XHRcdGRvbU5vZGUuY2xhc3NMaXN0LmFkZCgnZG4nKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH1cblxuXHRcdHRoaXMucXVpbGwub24oJ2VkaXRvci1jaGFuZ2UnLCB0aGlzLnNob3dPckhpZGVUb29sYmFyQ29udHJvbHMpXG5cdFx0dGhpcy5xdWlsbC5vbignc2VsZWN0aW9uLWNoYW5nZScsIHRoaXMuc2hvd09ySGlkZVRvb2xiYXJDb250cm9scylcblxuXHRcdC8vIERlZmluZSBDbGlwYm9hcmQgTWF0Y2hlcnNcblx0XHQvLyBXaGVuIEhUTUwgaXMgbG9hZGVkIG9yIHBhc3RlZCBpbnRvIFF1aWxsLCB0aGUgbWF0Y2hlcnNcblx0XHQvLyB3aWxsIGZpbmQgdGhlIGdpdmVuIEhUTUwgVGFnIGFuZCBhbGxvdyB0aGUgZGVsdGEgZm9yIHRoZSBlbGVtZW50J3Ncblx0XHQvLyBjb250ZW50IHRvIGJlIG1vZGlmaWVkLlxuXHRcdGNvbnN0IGNsaXBib2FyZCA9IHF1aWxsLmdldE1vZHVsZSgnY2xpcGJvYXJkJykgYXMgQ2xpcGJvYXJkU3RhdGljIHwgdW5kZWZpbmVkXG5cdFx0aWYgKGNsaXBib2FyZCkge1xuXHRcdFx0Y2xpcGJvYXJkLmFkZE1hdGNoZXIoVEFHX05BTUUuVEQsIGZ1bmN0aW9uIChub2RlOiBIVE1MVGFibGVDZWxsRWxlbWVudCwgZGVsdGE6IERlbHRhU3RhdGljKSB7XG5cdFx0XHRcdGdldExvZ2dlcigpLmRlYnVnKGAke1RBR19OQU1FLlREfSBtYXRjaGVkYCwgeyBub2RlLCBkZWx0YSB9KVxuXG5cdFx0XHRcdC8vIGxvYWQgdGhlIHRhYmxlIGNlbGwgYXR0cmlidXRlIHRvIHVzZSBhcyB0aGUgZGVsdGEgb3BlcmF0aW9uIGF0dHJpYnV0ZXNcblx0XHRcdFx0Y29uc3QgZGF0YVZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUoQVRUUklCVVRFLkRBVEFfVkFMVUUpXG5cdFx0XHRcdGNvbnN0IGRlZmF1bHRBdHRyaWJ1dGVzID0ge1xuXHRcdFx0XHRcdHRkOiBkYXRhVmFsdWVcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGhhbmRsZSBlbXB0eSBjZWxscywgaW5zZXJ0IGEgc2luZ2xlIGJsb2NrIC8gcGFyYWdyYXBoXG5cdFx0XHRcdGlmIChkZWx0YS5sZW5ndGgoKSA9PT0gMCkge1xuXHRcdFx0XHRcdGNvbnN0IHVwZGF0ZWREZWx0YSA9IChuZXcgRGVsdGEoKSBhcyBEZWx0YVN0YXRpYykuaW5zZXJ0KCdcXG4nLCBkZWZhdWx0QXR0cmlidXRlcylcblx0XHRcdFx0XHRnZXRMb2dnZXIoKS5kZWJ1ZyhgJHtUQUdfTkFNRS5URH0gbWF0Y2hlZCAtIGZpbmFsIGRlbHRhIChlbXB0eSBjZWxsKWAsIHVwZGF0ZWREZWx0YSlcblx0XHRcdFx0XHRyZXR1cm4gdXBkYXRlZERlbHRhXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBmb3IgZWFjaCBvcGVyYXRpb24gaW5zaWRlIHRoZSBjZWxsJ3MgZGVsdGEsIGFkZCB0aGUgdGFibGUgY2VsbCBhdHRyaWJ1dGVzXG5cdFx0XHRcdGNvbnN0IHVwZGF0ZWREZWx0YSA9IGRlbHRhLnJlZHVjZSgobmV3RGVsdGEsIG9wKSA9PiB7XG5cdFx0XHRcdFx0bmV3RGVsdGEuaW5zZXJ0KG9wLmluc2VydCwgbWVyZ2Uoe30sIG9wLmF0dHJpYnV0ZXMsIGRlZmF1bHRBdHRyaWJ1dGVzKSlcblx0XHRcdFx0XHRyZXR1cm4gbmV3RGVsdGFcblx0XHRcdFx0fSwgbmV3IERlbHRhKCkgYXMgRGVsdGFTdGF0aWMpXG5cblx0XHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoYCR7VEFHX05BTUUuVER9IG1hdGNoZWQgLSBmaW5hbCBkZWx0YWAsIHVwZGF0ZWREZWx0YSlcblxuXHRcdFx0XHRyZXR1cm4gdXBkYXRlZERlbHRhXG5cdFx0XHR9KVxuXHRcdH1cblxuXHRcdC8vIE92ZXJyaWRlIFwiYmFja3NwYWNlXCIgYW5kIFwiZGVsZXRlXCIgYWN0aW9ucyB0aGF0IHdvdWxkIGRlbGV0ZSBvciBjb21iaW5lIGEgdGFibGUgY2VsbFxuXHRcdGNvbnN0IGtleWJvYXJkID0gcXVpbGwuZ2V0TW9kdWxlKCdrZXlib2FyZCcpXG5cdFx0aWYgKGtleWJvYXJkKSB7XG5cdFx0XHRrZXlib2FyZC5hZGRCaW5kaW5nKFxuXHRcdFx0XHR7IGtleTogS0VZLkJBQ0tTUEFDRSwgYWx0S2V5OiBudWxsLCBjdHJsS2V5OiBudWxsLCBtZXRhS2V5OiBudWxsLCBzaGlmdEtleTogbnVsbCB9LFxuXHRcdFx0XHR7IGNvbGxhcHNlZDogdHJ1ZSwgb2Zmc2V0OiAwIH0sXG5cdFx0XHRcdHRoaXMuaGFuZGxlQmFja3NwYWNlXG5cdFx0XHQpXG5cdFx0XHQvLyBtb3ZlIGJpbmRpbmcgdG8gZmlyc3QgcG9zaXRpb25cblx0XHRcdGNvbnN0IGJhY2tzcGFjZU90aGVyQmluZGluZyA9IGtleWJvYXJkLmJpbmRpbmdzW0tFWS5CQUNLU1BBQ0VdLnBvcCgpXG5cdFx0XHRrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5zcGxpY2UoMCwgMCwgYmFja3NwYWNlT3RoZXJCaW5kaW5nKVxuXG5cdFx0XHRrZXlib2FyZC5hZGRCaW5kaW5nKHsga2V5OiBLRVkuQkFDS1NQQUNFIH0sIHsgY29sbGFwc2VkOiBmYWxzZSB9LCB0aGlzLmhhbmRsZURlbGV0ZVJhbmdlKVxuXHRcdFx0Ly8gbW92ZSBiaW5kaW5nIHRvIGZpcnN0IHBvc2l0aW9uXG5cdFx0XHRjb25zdCBiYWNrc3BhY2VSYW5nZUJpbmRpbmcgPSBrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5wb3AoKVxuXHRcdFx0a2V5Ym9hcmQuYmluZGluZ3NbS0VZLkJBQ0tTUEFDRV0uc3BsaWNlKDAsIDAsIGJhY2tzcGFjZVJhbmdlQmluZGluZylcblxuXHRcdFx0a2V5Ym9hcmQuYWRkQmluZGluZyh7IGtleTogS0VZLkJBQ0tTUEFDRSB9LCB7IGNvbGxhcHNlZDogdHJ1ZSB9LCB0aGlzLmhhbmRsZUJhY2tzcGFjZSlcblx0XHRcdC8vIG1vdmUgYmluZGluZyB0byBmaXJzdCBwb3NpdGlvblxuXHRcdFx0Y29uc3QgYmFja3NwYWNlQmluZGluZyA9IGtleWJvYXJkLmJpbmRpbmdzW0tFWS5CQUNLU1BBQ0VdLnBvcCgpXG5cdFx0XHRrZXlib2FyZC5iaW5kaW5nc1tLRVkuQkFDS1NQQUNFXS5zcGxpY2UoMCwgMCwgYmFja3NwYWNlQmluZGluZylcblxuXHRcdFx0a2V5Ym9hcmQuYWRkQmluZGluZyh7IGtleTogS0VZLkRFTEVURSB9LCB7IGNvbGxhcHNlZDogZmFsc2UgfSwgdGhpcy5oYW5kbGVEZWxldGVSYW5nZSlcblx0XHRcdC8vIG1vdmUgYmluZGluZyB0byBmaXJzdCBwb3NpdGlvblxuXHRcdFx0Y29uc3QgZGVsZXRlUmFuZ2VCaW5kaW5nID0ga2V5Ym9hcmQuYmluZGluZ3NbS0VZLkRFTEVURV0ucG9wKClcblx0XHRcdGtleWJvYXJkLmJpbmRpbmdzW0tFWS5ERUxFVEVdLnNwbGljZSgwLCAwLCBkZWxldGVSYW5nZUJpbmRpbmcpXG5cblx0XHRcdGtleWJvYXJkLmFkZEJpbmRpbmcoeyBrZXk6IEtFWS5ERUxFVEUgfSwgeyBjb2xsYXBzZWQ6IHRydWUsIGFsdEtleTogdHJ1ZSB9LCB0aGlzLmhhbmRsZURlbGV0ZSlcblx0XHRcdC8vIG1vdmUgYmluZGluZyB0byBmaXJzdCBwb3NpdGlvblxuXHRcdFx0Y29uc3QgZGVsZXRlV2l0aEFsdEJpbmRpbmcgPSBrZXlib2FyZC5iaW5kaW5nc1tLRVkuREVMRVRFXS5wb3AoKVxuXHRcdFx0a2V5Ym9hcmQuYmluZGluZ3NbS0VZLkRFTEVURV0uc3BsaWNlKDAsIDAsIGRlbGV0ZVdpdGhBbHRCaW5kaW5nKVxuXG5cdFx0XHRrZXlib2FyZC5hZGRCaW5kaW5nKHsga2V5OiBLRVkuREVMRVRFIH0sIHsgY29sbGFwc2VkOiB0cnVlIH0sIHRoaXMuaGFuZGxlRGVsZXRlKVxuXHRcdFx0Ly8gbW92ZSBiaW5kaW5nIHRvIGZpcnN0IHBvc2l0aW9uXG5cdFx0XHRjb25zdCBkZWxldGVCaW5kaW5nID0ga2V5Ym9hcmQuYmluZGluZ3NbS0VZLkRFTEVURV0ucG9wKClcblx0XHRcdGtleWJvYXJkLmJpbmRpbmdzW0tFWS5ERUxFVEVdLnNwbGljZSgwLCAwLCBkZWxldGVCaW5kaW5nKVxuXHRcdH1cblx0fVxuXG5cdC8vI3JlZ2lvbiBIZWxwZXJzXG5cblx0c2hvd09ySGlkZVRvb2xiYXJDb250cm9scyA9ICgpID0+IHtcblx0XHRjb25zdCBzZWxlY3RlZENlbGwgPSB0aGlzLmdldFNlbGVjdGVkQ2VsbCgpXG5cdFx0aWYgKHNlbGVjdGVkQ2VsbCkge1xuXHRcdFx0dGhpcy50YWJsZVRvb2xiYXJDb250cm9scy5mb3JFYWNoKGRvbU5vZGUgPT4ge1xuXHRcdFx0XHRkb21Ob2RlLmNsYXNzTGlzdC5yZW1vdmUoJ2RuJylcblx0XHRcdH0pXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudGFibGVUb29sYmFyQ29udHJvbHMuZm9yRWFjaChkb21Ob2RlID0+IHtcblx0XHRcdFx0ZG9tTm9kZS5jbGFzc0xpc3QuYWRkKCdkbicpXG5cdFx0XHR9KVxuXHRcdH1cblx0fVxuXG5cdGhhbmRsZUJhY2tzcGFjZSA9IChyYW5nZTogUmFuZ2VTdGF0aWMsIGNvbnRleHQ6IENvbnRleHQpID0+IHtcblx0XHRpZiAocmFuZ2UuaW5kZXggPT09IDAgfHwgdGhpcy5xdWlsbC5nZXRMZW5ndGgoKSA8PSAxKSByZXR1cm4gdHJ1ZVxuXHRcdGNvbnN0IFtsaW5lXTogW0Jsb3QsIG51bWJlcl0gPSB0aGlzLnF1aWxsLmdldExpbmUocmFuZ2UuaW5kZXgpXG5cdFx0aWYgKGNvbnRleHQub2Zmc2V0ID09PSAwICYmIGlzTGluZUFmdGVyVGFibGUobGluZSkpIHtcblx0XHRcdGdldExvZ2dlcigpLmRlYnVnKCdwcmV2ZW50IGJhY2tzcGFjZSBhZnRlciB0YWJsZScsIHsgcmFuZ2UsIGNvbnRleHQsIGxpbmUgfSlcblx0XHRcdHJldHVybiBmYWxzZVxuXHRcdH1cblx0XHQvLyBpZiBpbnNpZGUgYSBUYWJsZUNlbGxCbG90IGFuZCBhdCB0aGUgc3RhcnQgb2YgdGhlIGNlbGxcblx0XHQvLyBwcmV2ZW50IFwiYmFja3NwYWNlXCIgZnJvbSByZW1vdmluZyBwcmV2aW91cyBjZWxsXG5cdFx0Ly8gb3IgaXRlbXMgYmVmb3JlIHRoZSB0YWJsZSBpZiBpbiB0aGUgZmlyc3QgY2VsbFxuXHRcdGlmIChcblx0XHRcdC8vIGluIGEgY2VsbFxuXHRcdFx0aXNMaW5lSW5UYWJsZUNlbGwobGluZSkgJiZcblx0XHRcdC8vIGF0IHRoZSBzdGFydCBvZiB0aGUgY2VsbFxuXHRcdFx0Y29udGV4dC5vZmZzZXQgPT09IDAgJiZcblx0XHRcdCFsaW5lLnByZXYgJiZcblx0XHRcdC8vIHRoZXJlIGlzIGEgY2VsbCBiZWZvcmUgdGhpcyBvbmUgaW4gdGhlIHJvd1xuXHRcdFx0KChsaW5lLnBhcmVudC5wcmV2ICYmIGxpbmUucGFyZW50LnByZXYgaW5zdGFuY2VvZiBUYWJsZUNlbGxCbG90KSB8fFxuXHRcdFx0XHQvLyBvciB0aGUgY2VsbCBpcyBhdCB0aGUgc3RhcnQgb2YgYSByb3dcblx0XHRcdFx0IWxpbmUucGFyZW50LnByZXYpXG5cdFx0KSB7XG5cdFx0XHRnZXRMb2dnZXIoKS5kZWJ1ZygncHJldmVudCBjZWxsIGJhY2tzcGFjZScsIHsgcmFuZ2UsIGNvbnRleHQsIGxpbmUgfSlcblx0XHRcdHJldHVybiBmYWxzZVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZVxuXHR9XG5cblx0aGFuZGxlRGVsZXRlID0gKHJhbmdlOiBSYW5nZVN0YXRpYywgY29udGV4dDogQ29udGV4dCkgPT4ge1xuXHRcdGNvbnN0IGxlbmd0aCA9IC9eW1xcdUQ4MDAtXFx1REJGRl1bXFx1REMwMC1cXHVERkZGXS8udGVzdChjb250ZXh0LnN1ZmZpeCkgPyAyIDogMVxuXHRcdGlmIChyYW5nZS5pbmRleCA+PSB0aGlzLnF1aWxsLmdldExlbmd0aCgpIC0gbGVuZ3RoKSByZXR1cm4gdHJ1ZVxuXHRcdGNvbnN0IFtsaW5lXTogW0Jsb3QsIG51bWJlcl0gPSB0aGlzLnF1aWxsLmdldExpbmUocmFuZ2UuaW5kZXgpXG5cdFx0aWYgKGNvbnRleHQub2Zmc2V0ID09PSBsaW5lLmxlbmd0aCgpIC0gMSAmJiBpc0xpbmVCZWZvcmVUYWJsZShsaW5lKSkge1xuXHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ3ByZXZlbnQgZGVsZXRlIGJlZm9yZSB0YWJsZScsIHsgcmFuZ2UsIGNvbnRleHQsIGxpbmUgfSlcblx0XHRcdHJldHVybiBmYWxzZVxuXHRcdH1cblx0XHQvLyBpZiBpbnNpZGUgYSBUYWJsZUNlbGxCbG90IGFuZCBhdCB0aGUgZW5kIG9mIHRoZSBjZWxsXG5cdFx0Ly8gcHJldmVudCBcImRlbGV0ZVwiIGZyb20gcmVtb3ZpbmcgdGhlIG5leHQgY2VsbFxuXHRcdC8vIG9yIGl0ZW1zIGFmdGVyIHRoZSB0YWJsZSBpZiBpbiB0aGUgbGFzdCBjZWxsXG5cdFx0aWYgKFxuXHRcdFx0Ly8gaW4gYSBjZWxsXG5cdFx0XHRpc0xpbmVJblRhYmxlQ2VsbChsaW5lKSAmJlxuXHRcdFx0Ly8gYXQgdGhlIGVuZCBvZiB0aGUgY2VsbFxuXHRcdFx0IWxpbmUubmV4dCAmJlxuXHRcdFx0Y29udGV4dC5vZmZzZXQgPT09IGxpbmUubGVuZ3RoKCkgLSAxICYmXG5cdFx0XHQvLyB0aGVyZSBpcyBhIGNlbGwgYWZ0ZXIgdGhpcyBvbmUgaW4gdGhlIHJvd1xuXHRcdFx0KChsaW5lLnBhcmVudC5uZXh0ICYmIGxpbmUucGFyZW50Lm5leHQgaW5zdGFuY2VvZiBUYWJsZUNlbGxCbG90KSB8fFxuXHRcdFx0XHQvLyBvciB0aGUgY2VsbCBpcyBhdCB0aGUgc3RhcnQgb2YgYSByb3dcblx0XHRcdFx0IWxpbmUucGFyZW50Lm5leHQpXG5cdFx0KSB7XG5cdFx0XHRnZXRMb2dnZXIoKS5kZWJ1ZygncHJldmVudCBjZWxsIGRlbGV0ZScsIHsgcmFuZ2UsIGNvbnRleHQsIGxpbmUgfSlcblx0XHRcdHJldHVybiBmYWxzZVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZVxuXHR9XG5cblx0aGFuZGxlRGVsZXRlUmFuZ2UgPSAocmFuZ2U6IFJhbmdlU3RhdGljKSA9PiB7XG5cdFx0Y29uc3QgbGluZXMgPSB0aGlzLnF1aWxsLmdldExpbmVzKHJhbmdlKVxuXHRcdGdldExvZ2dlcigpLmRlYnVnKCdoYW5kbGVEZWxldGVSYW5nZScsIHsgcmFuZ2UsIGxpbmVzIH0pXG5cdFx0Y29uc3Qgd2lsbERlbGV0ZUNlbGxXaXRob3V0Um93ID0gcmFuZ2VSZW1vdmFsV2lsbERlbGV0ZUNlbGxXaXRob3V0Um93KHRoaXMucXVpbGwsIHJhbmdlKVxuXHRcdGlmICh3aWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3cpIHtcblx0XHRcdGdldExvZ2dlcigpLmRlYnVnKCdwcmV2ZW50IGRlbGV0ZSBjZWxsIG91dCBvZiByb3cnKVxuXHRcdH1cblx0XHRyZXR1cm4gIXdpbGxEZWxldGVDZWxsV2l0aG91dFJvd1xuXHR9XG5cblx0Z2V0U2VsZWN0ZWRDZWxsKCkge1xuXHRcdGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMucXVpbGwuZ2V0U2VsZWN0aW9uKClcblx0XHRpZiAoIXNlbGVjdGlvbikge1xuXHRcdFx0cmV0dXJuIG51bGxcblx0XHR9XG5cdFx0Y29uc3QgbGVhZiA9IHRoaXMucXVpbGwuZ2V0TGVhZihzZWxlY3Rpb24uaW5kZXgpXG5cdFx0bGV0IGJsb3Q6IEJsb3QgfCBudWxsID0gbGVhZlswXVxuXHRcdHdoaWxlIChibG90ICYmICEoYmxvdCBpbnN0YW5jZW9mIFRhYmxlQ2VsbEJsb3QpICYmIGJsb3QucGFyZW50KSB7XG5cdFx0XHRibG90ID0gYmxvdC5wYXJlbnRcblx0XHR9XG5cdFx0aWYgKGJsb3QgaW5zdGFuY2VvZiBUYWJsZUNlbGxCbG90KSB7XG5cdFx0XHRyZXR1cm4gYmxvdFxuXHRcdH1cblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cblx0Z2V0U2VsZWN0ZWRUYWJsZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRTZWxlY3RlZENlbGwoKT8udGFibGUoKVxuXHR9XG5cblx0Ly8jZW5kcmVnaW9uIEhlbHBlcnNcblxuXHQvLyNyZWdpb24gVGFibGUgSGFuZGxlclxuXG5cdHRhYmxlSGFuZGxlcihhY3Rpb246IHN0cmluZykge1xuXHRcdGdldExvZ2dlcigpLmRlYnVnKCd0YWJsZUhhbmRsZXInLCBhY3Rpb24pXG5cblx0XHQvLyByZXF1aXJlIGEgc2VsZWN0aW9uIHJhbmdlXG5cdFx0Y29uc3QgcmFuZ2UgPSB0aGlzLnF1aWxsLmdldFNlbGVjdGlvbigpXG5cdFx0aWYgKCFyYW5nZSkgcmV0dXJuXG5cblx0XHRpZiAoYWN0aW9uLmluY2x1ZGVzKFRBQkxFX0FDVElPTi5ORVdfVEFCTEUpKSB7XG5cdFx0XHR0aGlzLmFkZE5ld1RhYmxlKGFjdGlvbiwgcmFuZ2UpXG5cdFx0XHRyZXR1cm5cblx0XHR9XG5cblx0XHQvLyByZXF1aXJlIGEgc2VsZWN0ZWQgY2VsbFxuXHRcdGNvbnN0IHNlbGVjdGVkQ2VsbCA9IHRoaXMuZ2V0U2VsZWN0ZWRDZWxsKClcblx0XHRpZiAoIXNlbGVjdGVkQ2VsbCkgcmV0dXJuXG5cblx0XHRzd2l0Y2ggKGFjdGlvbikge1xuXHRcdFx0Y2FzZSBUQUJMRV9BQ1RJT04uSU5TRVJUX0NPTDpcblx0XHRcdFx0dGhpcy5pbnNlcnRDb2woc2VsZWN0ZWRDZWxsKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0Y2FzZSBUQUJMRV9BQ1RJT04uSU5TRVJUX1JPVzpcblx0XHRcdFx0dGhpcy5pbnNlcnRSb3coc2VsZWN0ZWRDZWxsKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0Y2FzZSBUQUJMRV9BQ1RJT04uREVMRVRFX0NPTDpcblx0XHRcdFx0dGhpcy5kZWxldGVDb2woc2VsZWN0ZWRDZWxsKVxuXHRcdFx0XHRicmVha1xuXHRcdFx0Y2FzZSBUQUJMRV9BQ1RJT04uREVMRVRFX1JPVzpcblx0XHRcdFx0dGhpcy5kZWxldGVSb3coc2VsZWN0ZWRDZWxsKVxuXHRcdFx0XHRicmVha1xuXHRcdH1cblx0fVxuXG5cdGFkZE5ld1RhYmxlKGFjdGlvbjogc3RyaW5nLCByYW5nZTogUmFuZ2VTdGF0aWMpIHtcblx0XHRjb25zdCB7IGluZGV4IH0gPSByYW5nZVxuXG5cdFx0Ly8gZS5nLiBcIm5ldy10YWJsZS0yLTJcIlxuXHRcdGNvbnN0IHNpemVzID0gYWN0aW9uLnJlcGxhY2UoVEFCTEVfQUNUSU9OLk5FV19UQUJMRSwgJycpLnNwbGl0KCdfJylcblx0XHRjb25zdCByb3dzID0gcGFyc2VJbnQoc2l6ZXNbMF0pXG5cdFx0Y29uc3QgY29scyA9IHBhcnNlSW50KHNpemVzWzFdKVxuXHRcdGNvbnN0IHRhYmxlQ29udGFpbmVyID0gVGFibGVDb250YWluZXJCbG90LmNyZWF0ZVdpdGhDaGlsZHJlbihyb3dzLCBjb2xzKVxuXG5cdFx0Ly8gaW5zZXJ0IHRoZSB0YWJsZSBpbnRvIHRoZSB0b3AgbGV2ZWwgc2Nyb2xsIGVsZW1lbnRcblx0XHQvLyBiZWZvcmUgdGhlIGN1cnJlbnQgbGVhZidzIHRvcCBsZXZlbCBicmFuY2hcblx0XHQvLyBQUkVWRU5UIE5FU1RFRCBUQUJMRVNcblx0XHRsZXQgdG9wQnJhbmNoID0gbnVsbFxuXHRcdGNvbnN0IGxlYWYgPSB0aGlzLnF1aWxsLmdldExlYWYoaW5kZXgpXG5cdFx0bGV0IGJsb3Q6IEJsb3QgfCBudWxsID0gbGVhZlswXVxuXHRcdHdoaWxlIChibG90ICYmIGJsb3QucGFyZW50ICYmICEoYmxvdCBpbnN0YW5jZW9mIFNjcm9sbCkpIHtcblx0XHRcdHRvcEJyYW5jaCA9IGJsb3Rcblx0XHRcdGJsb3QgPSBibG90LnBhcmVudFxuXHRcdH1cblxuXHRcdGlmICghYmxvdCB8fCAhKGJsb3QgaW5zdGFuY2VvZiBTY3JvbGwpKSByZXR1cm5cblxuXHRcdGJsb3QuaW5zZXJ0QmVmb3JlKHRhYmxlQ29udGFpbmVyLCB0b3BCcmFuY2ggfHwgdW5kZWZpbmVkKVxuXHRcdHRoaXMucXVpbGwuc2V0U2VsZWN0aW9uKHRhYmxlQ29udGFpbmVyLm9mZnNldCh0aGlzLnF1aWxsLnNjcm9sbCksIDAsICd1c2VyJylcblx0fVxuXG5cdGluc2VydENvbChzZWxlY3RlZENlbGw6IFRhYmxlQ2VsbEJsb3QpIHtcblx0XHRjb25zdCBzZWxlY3RlZENlbGxDb2x1bW4gPSBzZWxlY3RlZENlbGwuY29sdW1uKClcblx0XHRjb25zdCB0YWJsZUlkID0gc2VsZWN0ZWRDZWxsLnRhYmxlSWQoKVxuXHRcdGNvbnN0IHRhYmxlQm9keSA9IHNlbGVjdGVkQ2VsbC5yb3coKT8udGFibGVCb2R5KClcblx0XHRpZiAoIXRhYmxlQm9keSkgcmV0dXJuXG5cdFx0dGFibGVCb2R5LmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuXHRcdFx0Y29uc3QgdGFibGVSb3cgPSBjaGlsZCBhcyBUYWJsZVJvd0Jsb3Rcblx0XHRcdGNvbnN0IHJvd0lkID0gdGFibGVSb3cuaWQoKVxuXHRcdFx0Y29uc3QgdGFibGVDZWxsID0gVGFibGVDZWxsQmxvdC5jcmVhdGVXaXRoQ2hpbGRyZW4odGFibGVJZCwgcm93SWQpXG5cdFx0XHRjb25zdCBjZWxsczogQmxvdFtdID0gdGFibGVSb3cuY2hpbGRyZW4ubWFwKGMgPT4gYylcblx0XHRcdGNvbnN0IG5leHRDb2x1bW5DZWxsID0gY2VsbHMubGVuZ3RoID4gc2VsZWN0ZWRDZWxsQ29sdW1uIC0gMSA/IGNlbGxzW3NlbGVjdGVkQ2VsbENvbHVtbl0gOiB1bmRlZmluZWRcblx0XHRcdGlmIChuZXh0Q29sdW1uQ2VsbCkge1xuXHRcdFx0XHR0YWJsZVJvdy5pbnNlcnRCZWZvcmUodGFibGVDZWxsLCBuZXh0Q29sdW1uQ2VsbClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRhYmxlUm93LmFwcGVuZENoaWxkKHRhYmxlQ2VsbClcblx0XHRcdH1cblx0XHR9KVxuXHR9XG5cblx0aW5zZXJ0Um93KHNlbGVjdGVkQ2VsbDogVGFibGVDZWxsQmxvdCkge1xuXHRcdGNvbnN0IGN1cnJlbnRSb3cgPSBzZWxlY3RlZENlbGwucm93KClcblx0XHRpZiAoIWN1cnJlbnRSb3cpIHJldHVyblxuXHRcdGNvbnN0IG5leHRSb3cgPSBjdXJyZW50Um93Lm5leHRcblx0XHRjb25zdCB0YWJsZUJvZHkgPSBjdXJyZW50Um93LnRhYmxlQm9keSgpXG5cdFx0aWYgKCF0YWJsZUJvZHkpIHJldHVyblxuXHRcdGNvbnN0IG5ld1JvdyA9IFRhYmxlUm93QmxvdC5jcmVhdGVGcm9tUmVmZXJlbmNlKGN1cnJlbnRSb3cpXG5cdFx0aWYgKG5leHRSb3cpIHtcblx0XHRcdHRhYmxlQm9keS5pbnNlcnRCZWZvcmUobmV3Um93LCBuZXh0Um93KVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YWJsZUJvZHkuYXBwZW5kQ2hpbGQobmV3Um93KVxuXHRcdH1cblx0fVxuXG5cdGRlbGV0ZUNvbChzZWxlY3RlZENlbGw6IFRhYmxlQ2VsbEJsb3QpIHtcblx0XHRjb25zdCBzZWxlY3RlZENlbGxDb2x1bW4gPSBzZWxlY3RlZENlbGwuY29sdW1uKClcblx0XHRjb25zdCB0YWJsZUJvZHkgPSBzZWxlY3RlZENlbGwucm93KCk/LnRhYmxlQm9keSgpXG5cdFx0aWYgKCF0YWJsZUJvZHkpIHJldHVyblxuXHRcdHRhYmxlQm9keS5jaGlsZHJlbi5mb3JFYWNoKGMgPT4ge1xuXHRcdFx0Y29uc3QgdGFibGVSb3cgPSBjIGFzIFRhYmxlUm93QmxvdFxuXHRcdFx0Y29uc3QgY2VsbHMgPSB0YWJsZVJvdy5jaGlsZHJlbi5tYXAoYyA9PiBjKVxuXHRcdFx0Y29uc3QgY2VsbCA9IGNlbGxzW3NlbGVjdGVkQ2VsbENvbHVtbiAtIDFdXG5cdFx0XHRjZWxsPy5yZW1vdmUoKVxuXHRcdH0pXG5cdH1cblxuXHRkZWxldGVSb3coc2VsZWN0ZWRDZWxsOiBUYWJsZUNlbGxCbG90KSB7XG5cdFx0Y29uc3Qgc2VsZWN0ZWRSb3cgPSBzZWxlY3RlZENlbGwucm93KClcblx0XHRpZiAoIXNlbGVjdGVkUm93KSByZXR1cm5cblx0XHRjb25zdCBjZWxsT2Zmc2V0ID0gc2VsZWN0ZWRDZWxsLm9mZnNldCgpIC8vIG9mZnNldCBpbnNpZGUgcm93XG5cdFx0Y29uc3QgdGFibGVCb2R5ID0gc2VsZWN0ZWRSb3cudGFibGVCb2R5KClcblx0XHRjb25zdCByb3dUb1NlbGVjdEFmdGVyID0gc2VsZWN0ZWRSb3cubmV4dCB8fCBzZWxlY3RlZFJvdy5wcmV2XG5cdFx0Ly8gZGVsZXRlIHRoZSByb3dcblx0XHRzZWxlY3RlZFJvdy5yZW1vdmUoKVxuXHRcdC8vIGZvY3VzIHRoZSBuZXh0IHJvdyBvciBwcmV2IHJvdyBpZiBwb3NzaWJsZVxuXHRcdGlmICh0YWJsZUJvZHkgJiYgdGFibGVCb2R5LmNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgcm93VG9TZWxlY3RBZnRlcikge1xuXHRcdFx0Y29uc3QgaW5kZXggPSByb3dUb1NlbGVjdEFmdGVyLm9mZnNldCh0aGlzLnF1aWxsLnNjcm9sbClcblx0XHRcdHRoaXMucXVpbGwuc2V0U2VsZWN0aW9uKGluZGV4ICsgY2VsbE9mZnNldCwgMClc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T0FBTyxDQUFDO0lBQ3hDLENBQUMsTUFBTTtNQUNOZCxTQUFTLENBQUNZLFdBQVcsQ0FBQ0csTUFBTSxDQUFDO0lBQzlCO0VBQ0Q7RUFFQWxDLFNBQVNBLENBQUNwRyxZQUEyQixFQUFFO0lBQ3RDLE1BQU1vSCxrQkFBa0IsR0FBR3BILFlBQVksQ0FBQ3FILE1BQU0sQ0FBQyxDQUFDO0lBQ2hELE1BQU1FLFNBQVMsR0FBR3ZILFlBQVksQ0FBQ3dILEdBQUcsQ0FBQyxDQUFDLEVBQUVELFNBQVMsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQ0EsU0FBUyxFQUFFO0lBQ2hCQSxTQUFTLENBQUNFLFFBQVEsQ0FBQ3RILE9BQU8sQ0FBQzhILENBQUMsSUFBSTtNQUMvQixNQUFNTixRQUFRLEdBQUdNLENBQWlCO01BQ2xDLE1BQU1GLEtBQUssR0FBR0osUUFBUSxDQUFDRixRQUFRLENBQUNPLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFJQSxDQUFDLENBQUM7TUFDM0MsTUFBTU8sSUFBSSxHQUFHVCxLQUFLLENBQUNYLGtCQUFrQixHQUFHLENBQUMsQ0FBQztNQUMxQ29CLElBQUksRUFBRWxJLE1BQU0sQ0FBQyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0VBQ0g7RUFFQWdHLFNBQVNBLENBQUN0RyxZQUEyQixFQUFFO0lBQ3RDLE1BQU15SSxXQUFXLEdBQUd6SSxZQUFZLENBQUN3SCxHQUFHLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUNpQixXQUFXLEVBQUU7SUFDbEIsTUFBTUMsVUFBVSxHQUFHMUksWUFBWSxDQUFDYyxNQUFNLENBQUMsQ0FBQyxFQUFDO0lBQ3pDLE1BQU15RyxTQUFTLEdBQUdrQixXQUFXLENBQUNsQixTQUFTLENBQUMsQ0FBQztJQUN6QyxNQUFNb0IsZ0JBQWdCLEdBQUdGLFdBQVcsQ0FBQ2hILElBQUksSUFBSWdILFdBQVcsQ0FBQ3RILElBQUk7SUFDN0Q7SUFDQXNILFdBQVcsQ0FBQ25JLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCO0lBQ0EsSUFBSWlILFNBQVMsSUFBSUEsU0FBUyxDQUFDRSxRQUFRLENBQUNwRyxNQUFNLEdBQUcsQ0FBQyxJQUFJc0gsZ0JBQWdCLEVBQUU7TUFDbkUsTUFBTWpJLEtBQUssR0FBR2lJLGdCQUFnQixDQUFDN0gsTUFBTSxDQUFDLElBQUksQ0FBQ2xCLEtBQUssQ0FBQ3VILE1BQU0sQ0FBQztNQUN4RCxJQUFJLENBQUN2SCxLQUFLLENBQUNzSCxZQUFZLENBQUN4RyxLQUFLLEdBQUdnSSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQy9DO0VBQ0Q7O0VBRUE7QUFDRDtBQUFDRSxPQUFBLENBQUF6SixXQUFBLEdBQUFBLFdBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -51,4 +51,4 @@ exports.rangeRemovalWillDeleteCellWithoutRow = rangeRemovalWillDeleteCellWithout
|
|
|
51
51
|
function newId(prefix) {
|
|
52
52
|
return `${prefix}-${Math.random().toString(36).slice(2, 6)}`;
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJpc0luc3RhbmNlT2ZCbG90IiwiYmxvdCIsImJsb3ROYW1lIiwic3RhdGljcyIsImV4cG9ydHMiLCJpc0xpbmVJblRhYmxlQ2VsbCIsImxpbmUiLCJwYXJlbnQiLCJUQUJMRV9CTE9UX05BTUUiLCJURCIsImlzTGluZUJlZm9yZVRhYmxlIiwibmV4dCIsIlRBQkxFX0NPTlRBSU5FUiIsImlzTGluZUFmdGVyVGFibGUiLCJwcmV2IiwicmFuZ2VSZW1vdmFsV2lsbERlbGV0ZUNlbGxXaXRob3V0Um93IiwicXVpbGwiLCJyYW5nZSIsImxpbmVzIiwiZ2V0TGluZXMiLCJ3aWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3ciLCJzb21lIiwiY2VsbCIsImNlbGxPZmZzZXQiLCJvZmZzZXQiLCJzY3JvbGwiLCJjZWxsTGVuZ3RoIiwibGVuZ3RoIiwid2lsbERlbGV0ZUNlbGwiLCJpbmRleCIsInJvdyIsInJvd09mZnNldCIsInJvd0xlbmd0aCIsIndpbGxEZWxldGVSb3ciLCJnZXRMb2dnZXIiLCJkZWJ1ZyIsIm5ld0lkIiwicHJlZml4IiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic2xpY2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9RdWlsbC9UYWJsZU1vZHVsZS91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG90IH0gZnJvbSAncGFyY2htZW50L2Rpc3Qvc3JjL2Jsb3QvYWJzdHJhY3QvYmxvdCdcbmltcG9ydCB7IFJhbmdlU3RhdGljIH0gZnJvbSAncXVpbGwnXG5pbXBvcnQgeyBRdWlsbCB9IGZyb20gJ3JlYWN0LXF1aWxsJ1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbG9nZ2VyJ1xuaW1wb3J0IHsgVGFibGVDZWxsQmxvdCB9IGZyb20gJy4vQmxvdHMvVGFibGVDZWxsQmxvdCdcbmltcG9ydCB7IFRBQkxFX0JMT1RfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzJ1xuXG5leHBvcnQgY29uc3QgaXNJbnN0YW5jZU9mQmxvdCA9IChibG90OiBCbG90LCBibG90TmFtZTogc3RyaW5nKSA9PiAoYmxvdCBhcyBhbnkpLnN0YXRpY3MuYmxvdE5hbWUgPT09IGJsb3ROYW1lXG5cbmV4cG9ydCBjb25zdCBpc0xpbmVJblRhYmxlQ2VsbCA9IChsaW5lOiBCbG90KSA9PiBpc0luc3RhbmNlT2ZCbG90KGxpbmUucGFyZW50LCBUQUJMRV9CTE9UX05BTUUuVEQpXG5cbmV4cG9ydCBjb25zdCBpc0xpbmVCZWZvcmVUYWJsZSA9IChsaW5lOiBCbG90KSA9PiBpc0luc3RhbmNlT2ZCbG90KGxpbmUubmV4dCwgVEFCTEVfQkxPVF9OQU1FLlRBQkxFX0NPTlRBSU5FUilcblxuZXhwb3J0IGNvbnN0IGlzTGluZUFmdGVyVGFibGUgPSAobGluZTogQmxvdCkgPT4gaXNJbnN0YW5jZU9mQmxvdChsaW5lLnByZXYsIFRBQkxFX0JMT1RfTkFNRS5UQUJMRV9DT05UQUlORVIpXG5cbmV4cG9ydCBjb25zdCByYW5nZVJlbW92YWxXaWxsRGVsZXRlQ2VsbFdpdGhvdXRSb3cgPSAocXVpbGw6IFF1aWxsLCByYW5nZTogUmFuZ2VTdGF0aWMpID0+IHtcblx0Y29uc3QgbGluZXMgPSBxdWlsbC5nZXRMaW5lcyhyYW5nZSlcblx0Y29uc3Qgd2lsbERlbGV0ZUNlbGxXaXRob3V0Um93ID0gbGluZXMuc29tZSgobGluZTogQmxvdCkgPT4ge1xuXHRcdGlmIChpc0xpbmVJblRhYmxlQ2VsbChsaW5lKSkge1xuXHRcdFx0Y29uc3QgY2VsbCA9IGxpbmUucGFyZW50IGFzIFRhYmxlQ2VsbEJsb3Rcblx0XHRcdGNvbnN0IGNlbGxPZmZzZXQgPSBjZWxsLm9mZnNldChxdWlsbC5zY3JvbGwpXG5cdFx0XHRjb25zdCBjZWxsTGVuZ3RoID0gY2VsbC5sZW5ndGgoKVxuXHRcdFx0Y29uc3Qgd2lsbERlbGV0ZUNlbGwgPVxuXHRcdFx0XHQvLyBzdGFydHMgaW4gY2VsbCBhbmQgZ29lcyBvdXQgb2YgY2VsbCwgb3IgaXMgZXhhY3RseSB0aGUgY2VsbFxuXHRcdFx0XHQocmFuZ2UuaW5kZXggPj0gY2VsbE9mZnNldCAmJiByYW5nZS5pbmRleCArIHJhbmdlLmxlbmd0aCA+PSBjZWxsT2Zmc2V0ICsgY2VsbExlbmd0aCkgfHxcblx0XHRcdFx0Ly8gc3RhcnRzIGJlZm9yZSBjZWxsIGFuZCBzdG9wcyBpbiBjZWxsXG5cdFx0XHRcdChyYW5nZS5pbmRleCA8IGNlbGxPZmZzZXQgJiYgcmFuZ2UuaW5kZXggKyByYW5nZS5sZW5ndGggPCBjZWxsT2Zmc2V0ICsgY2VsbExlbmd0aClcblx0XHRcdGNvbnN0IHJvdyA9IGNlbGwucm93KClcblx0XHRcdGlmICghcm93KSByZXR1cm4gZmFsc2Vcblx0XHRcdGNvbnN0IHJvd09mZnNldCA9IHJvdy5vZmZzZXQocXVpbGwuc2Nyb2xsKVxuXHRcdFx0Y29uc3Qgcm93TGVuZ3RoID0gcm93Lmxlbmd0aCgpXG5cdFx0XHRjb25zdCB3aWxsRGVsZXRlUm93ID0gcmFuZ2UuaW5kZXggPD0gcm93T2Zmc2V0ICYmIHJhbmdlLmluZGV4ICsgcmFuZ2UubGVuZ3RoID49IHJvd09mZnNldCArIHJvd0xlbmd0aFxuXHRcdFx0Z2V0TG9nZ2VyKCkuZGVidWcoJ3JhbmdlUmVtb3ZhbFdpbGxEZWxldGVDZWxsV2l0aG91dFJvdyBsaW5lJywge1xuXHRcdFx0XHRyYW5nZSxcblx0XHRcdFx0bGluZSxcblx0XHRcdFx0Y2VsbE9mZnNldCxcblx0XHRcdFx0Y2VsbExlbmd0aCxcblx0XHRcdFx0d2lsbERlbGV0ZUNlbGwsXG5cdFx0XHRcdHdpbGxEZWxldGVSb3dcblx0XHRcdH0pXG5cdFx0XHRyZXR1cm4gd2lsbERlbGV0ZUNlbGwgJiYgIXdpbGxEZWxldGVSb3dcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlXG5cdH0sIHt9KVxuXHRyZXR1cm4gd2lsbERlbGV0ZUNlbGxXaXRob3V0Um93XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdJZChwcmVmaXg6IHN0cmluZykge1xuXHRyZXR1cm4gYCR7cHJlZml4fS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsIDYpfWBcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFFTyxNQUFNRSxnQkFBZ0IsR0FBR0EsQ0FBQ0MsSUFBVSxFQUFFQyxRQUFnQixLQUFNRCxJQUFJLENBQVNFLE9BQU8sQ0FBQ0QsUUFBUSxLQUFLQSxRQUFRO0FBQUFFLE9BQUEsQ0FBQUosZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFdEcsTUFBTUssaUJBQWlCLEdBQUlDLElBQVUsSUFBS04sZ0JBQWdCLENBQUNNLElBQUksQ0FBQ0MsTUFBTSxFQUFFQywwQkFBZSxDQUFDQyxFQUFFLENBQUM7QUFBQUwsT0FBQSxDQUFBQyxpQkFBQSxHQUFBQSxpQkFBQTtBQUUzRixNQUFNSyxpQkFBaUIsR0FBSUosSUFBVSxJQUFLTixnQkFBZ0IsQ0FBQ00sSUFBSSxDQUFDSyxJQUFJLEVBQUVILDBCQUFlLENBQUNJLGVBQWUsQ0FBQztBQUFBUixPQUFBLENBQUFNLGlCQUFBLEdBQUFBLGlCQUFBO0FBRXRHLE1BQU1HLGdCQUFnQixHQUFJUCxJQUFVLElBQUtOLGdCQUFnQixDQUFDTSxJQUFJLENBQUNRLElBQUksRUFBRU4sMEJBQWUsQ0FBQ0ksZUFBZSxDQUFDO0FBQUFSLE9BQUEsQ0FBQVMsZ0JBQUEsR0FBQUEsZ0JBQUE7QUFFckcsTUFBTUUsb0NBQW9DLEdBQUdBLENBQUNDLEtBQVksRUFBRUMsS0FBa0IsS0FBSztFQUN6RixNQUFNQyxLQUFLLEdBQUdGLEtBQUssQ0FBQ0csUUFBUSxDQUFDRixLQUFLLENBQUM7RUFDbkMsTUFBTUcsd0JBQXdCLEdBQUdGLEtBQUssQ0FBQ0csSUFBSSxDQUFFZixJQUFVLElBQUs7SUFDM0QsSUFBSUQsaUJBQWlCLENBQUNDLElBQUksQ0FBQyxFQUFFO01BQzVCLE1BQU1nQixJQUFJLEdBQUdoQixJQUFJLENBQUNDLE1BQXVCO01BQ3pDLE1BQU1nQixVQUFVLEdBQUdELElBQUksQ0FBQ0UsTUFBTSxDQUFDUixLQUFLLENBQUNTLE1BQU0sQ0FBQztNQUM1QyxNQUFNQyxVQUFVLEdBQUdKLElBQUksQ0FBQ0ssTUFBTSxDQUFDLENBQUM7TUFDaEMsTUFBTUMsY0FBYztNQUNuQjtNQUNDWCxLQUFLLENBQUNZLEtBQUssSUFBSU4sVUFBVSxJQUFJTixLQUFLLENBQUNZLEtBQUssR0FBR1osS0FBSyxDQUFDVSxNQUFNLElBQUlKLFVBQVUsR0FBR0csVUFBVTtNQUNuRjtNQUNDVCxLQUFLLENBQUNZLEtBQUssR0FBR04sVUFBVSxJQUFJTixLQUFLLENBQUNZLEtBQUssR0FBR1osS0FBSyxDQUFDVSxNQUFNLEdBQUdKLFVBQVUsR0FBR0csVUFBVztNQUNuRixNQUFNSSxHQUFHLEdBQUdSLElBQUksQ0FBQ1EsR0FBRyxDQUFDLENBQUM7TUFDdEIsSUFBSSxDQUFDQSxHQUFHLEVBQUUsT0FBTyxLQUFLO01BQ3RCLE1BQU1DLFNBQVMsR0FBR0QsR0FBRyxDQUFDTixNQUFNLENBQUNSLEtBQUssQ0FBQ1MsTUFBTSxDQUFDO01BQzFDLE1BQU1PLFNBQVMsR0FBR0YsR0FBRyxDQUFDSCxNQUFNLENBQUMsQ0FBQztNQUM5QixNQUFNTSxhQUFhLEdBQUdoQixLQUFLLENBQUNZLEtBQUssSUFBSUUsU0FBUyxJQUFJZCxLQUFLLENBQUNZLEtBQUssR0FBR1osS0FBSyxDQUFDVSxNQUFNLElBQUlJLFNBQVMsR0FBR0MsU0FBUztNQUNyRyxJQUFBRSxpQkFBUyxFQUFDLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLDJDQUEyQyxFQUFFO1FBQzlEbEIsS0FBSztRQUNMWCxJQUFJO1FBQ0ppQixVQUFVO1FBQ1ZHLFVBQVU7UUFDVkUsY0FBYztRQUNkSztNQUNELENBQUMsQ0FBQztNQUNGLE9BQU9MLGNBQWMsSUFBSSxDQUFDSyxhQUFhO0lBQ3hDO0lBQ0EsT0FBTyxLQUFLO0VBQ2IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ04sT0FBT2Isd0JBQXdCO0FBQ2hDLENBQUM7QUFBQWhCLE9BQUEsQ0FBQVcsb0NBQUEsR0FBQUEsb0NBQUE7QUFFTSxTQUFTcUIsS0FBS0EsQ0FBQ0MsTUFBYyxFQUFFO0VBQ3JDLE9BQU8sR0FBR0EsTUFBTSxJQUFJQyxJQUFJLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtBQUM3RCIsImlnbm9yZUxpc3QiOltdfQ==
|