@comet/cms-admin 8.0.0-beta.4 → 8.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/blocks/DamVideoBlock.d.ts.map +1 -1
- package/lib/blocks/DamVideoBlock.js +9 -118
- package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
- package/lib/blocks/PixelImageBlock.js +49 -162
- package/lib/blocks/SvgImageBlock.d.ts.map +1 -1
- package/lib/blocks/SvgImageBlock.js +12 -119
- package/lib/blocks/clipboard/CannotPasteBlockDialog.d.ts.map +1 -1
- package/lib/blocks/common/BlockAdminComponentButton.d.ts.map +1 -1
- package/lib/blocks/common/BlockAdminComponentButton.js +1 -1
- package/lib/blocks/common/BlockAdminComponentRoot.js +4 -4
- package/lib/blocks/config/BlocksConfigContext.d.ts +2 -2
- package/lib/blocks/config/BlocksConfigContext.d.ts.map +1 -1
- package/lib/blocks/image/EditImageDialog.d.ts.map +1 -1
- package/lib/blocks/image/EditImageDialog.js +2 -2
- package/lib/blocks.generated.d.ts +6 -0
- package/lib/blocks.generated.d.ts.map +1 -1
- package/lib/builds/PublisherPage.d.ts.map +1 -1
- package/lib/builds/PublisherPage.js +11 -1
- package/lib/common/MasterMenu.d.ts +1 -1
- package/lib/common/MasterMenu.d.ts.map +1 -1
- package/lib/common/MasterMenu.js +4 -1
- package/lib/common/MasterMenuRoutes.d.ts.map +1 -1
- package/lib/common/MasterMenuRoutes.js +47 -9
- package/lib/common/header/UserHeaderItem.d.ts.map +1 -1
- package/lib/common/header/UserHeaderItem.js +27 -59
- package/lib/common/signOutButton/SignOutButton.d.ts +6 -0
- package/lib/common/signOutButton/SignOutButton.d.ts.map +1 -0
- package/lib/common/signOutButton/SignOutButton.gql.d.ts +2 -0
- package/lib/common/signOutButton/SignOutButton.gql.d.ts.map +1 -0
- package/lib/common/{header/UserHeaderItem.generated.d.ts → signOutButton/SignOutButton.gql.generated.d.ts} +1 -1
- package/lib/common/signOutButton/SignOutButton.gql.generated.d.ts.map +1 -0
- package/lib/common/signOutButton/SignOutButton.gql.js +10 -0
- package/lib/common/signOutButton/SignOutButton.js +64 -0
- package/lib/config/CometConfigContext.d.ts +2 -0
- package/lib/config/CometConfigContext.d.ts.map +1 -1
- package/lib/contentLanguage/contentLanguageConfig.d.ts +2 -2
- package/lib/contentLanguage/contentLanguageConfig.d.ts.map +1 -1
- package/lib/contentLanguage/useContentLanguage.d.ts +2 -2
- package/lib/contentLanguage/useContentLanguage.d.ts.map +1 -1
- package/lib/contentScope/ContentScopeIndicator.d.ts +2 -2
- package/lib/contentScope/ContentScopeIndicator.d.ts.map +1 -1
- package/lib/contentScope/ContentScopeIndicator.js +4 -4
- package/lib/contentScope/ContentScopeSelect.d.ts +12 -12
- package/lib/contentScope/ContentScopeSelect.d.ts.map +1 -1
- package/lib/contentScope/ContentScopeSelect.js +0 -1
- package/lib/contentScope/Controls.d.ts +4 -4
- package/lib/contentScope/Controls.d.ts.map +1 -1
- package/lib/contentScope/Provider.d.ts +20 -19
- package/lib/contentScope/Provider.d.ts.map +1 -1
- package/lib/contentScope/Provider.js +20 -14
- package/lib/dam/DamPage.d.ts +2 -2
- package/lib/dam/DamPage.d.ts.map +1 -1
- package/lib/dam/DamPage.js +13 -21
- package/lib/dam/DamTable.d.ts +4 -2
- package/lib/dam/DamTable.d.ts.map +1 -1
- package/lib/dam/DamTable.js +23 -43
- package/lib/dam/DataGrid/FolderDataGrid.d.ts +2 -1
- package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.js +99 -53
- package/lib/dam/DataGrid/FolderDataGrid.sc.d.ts.map +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.sc.js +2 -2
- package/lib/dam/DataGrid/fileUpload/UploadFilesButton.d.ts.map +1 -1
- package/lib/dam/DataGrid/fileUpload/UploadFilesButton.js +1 -0
- package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts +1 -1
- package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts.map +1 -1
- package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
- package/lib/dam/FileForm/EditFile.js +41 -6
- package/lib/dam/FileForm/FileSettingsFields.d.ts.map +1 -1
- package/lib/dam/FileForm/FileSettingsFields.js +3 -2
- package/lib/dam/FileForm/previews/VideoPreview.d.ts +1 -0
- package/lib/dam/FileForm/previews/VideoPreview.d.ts.map +1 -1
- package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts +28 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.js +11 -0
- package/lib/dam/FileForm/previews/VideoPreview.js +26 -6
- package/lib/dam/blocks/DamFileDownloadLinkBlock.d.ts.map +1 -1
- package/lib/dam/blocks/DamFileDownloadLinkBlock.js +1 -27
- package/lib/dam/config/damDefaultAcceptedMimeTypes.d.ts.map +1 -1
- package/lib/dam/config/damDefaultAcceptedMimeTypes.js +2 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.d.ts +1 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.d.ts.map +1 -1
- package/lib/dam/config/useDamAcceptedMimeTypes.js +9 -2
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts +14 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts +57 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.js +15 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.js +153 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts +14 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts +72 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.js +17 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +204 -0
- package/lib/dependencies/createDocumentDependencyMethods.d.ts.map +1 -1
- package/lib/dependencies/createDocumentDependencyMethods.js +5 -2
- package/lib/form/file/FileField.d.ts +10 -2
- package/lib/form/file/FileField.d.ts.map +1 -1
- package/lib/form/file/FileField.js +139 -9
- package/lib/form/file/FileUploadField.d.ts +3 -2
- package/lib/form/file/FileUploadField.d.ts.map +1 -1
- package/lib/form/file/FinalFormFileUpload.d.ts +4 -2
- package/lib/form/file/FinalFormFileUpload.d.ts.map +1 -1
- package/lib/form/file/FinalFormFileUpload.js +3 -2
- package/lib/form/file/chooseFile/ChooseFileDialog.d.ts.map +1 -1
- package/lib/form/file/chooseFile/ChooseFileDialog.js +11 -11
- package/lib/graphql.generated.d.ts +154 -2
- package/lib/graphql.generated.d.ts.map +1 -1
- package/lib/index.d.ts +5 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +27 -7
- package/lib/pages/config/usePageTreeScope.d.ts +3 -0
- package/lib/pages/config/usePageTreeScope.d.ts.map +1 -0
- package/lib/pages/config/usePageTreeScope.js +24 -0
- package/lib/pages/createEditPageNode.d.ts.map +1 -1
- package/lib/pages/createEditPageNode.js +2 -3
- package/lib/pages/pageTree/MovePageMenuItem.js +2 -3
- package/lib/pages/pageTree/PageDeleteDialog.d.ts.map +1 -1
- package/lib/pages/pageTree/PageTree.js +4 -5
- package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts +2 -2
- package/lib/pages/pageTree/useCopyPastePages/sendPages.d.ts.map +1 -1
- package/lib/pages/pageTree/useCopyPastePages.d.ts +2 -2
- package/lib/pages/pageTree/useCopyPastePages.d.ts.map +1 -1
- package/lib/pages/pageTree/useCopyPastePages.js +2 -3
- package/lib/pages/pageTreeConfig.d.ts +1 -0
- package/lib/pages/pageTreeConfig.d.ts.map +1 -1
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts +3 -3
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts.map +1 -1
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.js +8 -8
- package/lib/pages/pagesPage/PagesPage.d.ts +4 -3
- package/lib/pages/pagesPage/PagesPage.d.ts.map +1 -1
- package/lib/pages/pagesPage/PagesPage.js +20 -6
- package/lib/preview/site/SitePreview.d.ts +2 -2
- package/lib/preview/site/SitePreview.d.ts.map +1 -1
- package/lib/preview/site/SitePreview.js +2 -2
- package/lib/preview/site/SitePreview.sc.d.ts +1 -1
- package/lib/redirects/RedirectActiveness.d.ts.map +1 -1
- package/lib/redirects/RedirectActiveness.generated.d.ts +1 -0
- package/lib/redirects/RedirectActiveness.generated.d.ts.map +1 -1
- package/lib/redirects/RedirectActiveness.js +11 -15
- package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.generated.d.ts +2 -0
- package/lib/redirects/RedirectsGrid.gql.generated.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.gql.js +1 -1
- package/lib/redirects/RedirectsGrid.js +16 -6
- package/lib/redirects/createRedirectsPage.d.ts +5 -1
- package/lib/redirects/createRedirectsPage.d.ts.map +1 -1
- package/lib/redirects/createRedirectsPage.js +16 -7
- package/lib/siteConfigs/siteConfigsConfig.d.ts +2 -2
- package/lib/siteConfigs/siteConfigsConfig.d.ts.map +1 -1
- package/lib/siteConfigs/useSiteConfig.d.ts +2 -2
- package/lib/siteConfigs/useSiteConfig.d.ts.map +1 -1
- package/lib/testing/stub-file.js +1 -1
- package/lib/userPermissions/UserGrid.d.ts.map +1 -1
- package/lib/userPermissions/UserGrid.generated.d.ts +13 -2
- package/lib/userPermissions/UserGrid.generated.d.ts.map +1 -1
- package/lib/userPermissions/UserGrid.generated.js +2 -1
- package/lib/userPermissions/UserGrid.js +103 -120
- package/lib/userPermissions/UserPermissionsPage.d.ts.map +1 -1
- package/lib/userPermissions/UserPermissionsPage.js +13 -1
- package/lib/userPermissions/hooks/currentUser.d.ts +13 -6
- package/lib/userPermissions/hooks/currentUser.d.ts.map +1 -1
- package/lib/userPermissions/hooks/currentUser.generated.d.ts +5 -0
- package/lib/userPermissions/hooks/currentUser.generated.d.ts.map +1 -1
- package/lib/userPermissions/hooks/currentUser.js +16 -14
- package/lib/userPermissions/user/ImpersonationButtons.d.ts.map +1 -1
- package/lib/userPermissions/user/ImpersonationButtons.js +1 -1
- package/lib/userPermissions/user/UserPageToolbar.d.ts.map +1 -1
- package/lib/userPermissions/user/UserPageToolbar.generated.d.ts +1 -0
- package/lib/userPermissions/user/UserPageToolbar.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/UserPageToolbar.js +5 -5
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts +1 -2
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts +5 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/ContentScopeGrid.js +16 -11
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts +5 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +5 -3
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts +5 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +5 -4
- package/lib/warnings/LatestWarningsDashboardWidget.d.ts +2 -0
- package/lib/warnings/LatestWarningsDashboardWidget.d.ts.map +1 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts +47 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts.map +1 -0
- package/lib/{dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.generated.js → warnings/LatestWarningsDashboardWidget.generated.js} +2 -2
- package/lib/warnings/LatestWarningsDashboardWidget.js +111 -0
- package/lib/warnings/WarningActions.d.ts +13 -0
- package/lib/warnings/WarningActions.d.ts.map +1 -0
- package/lib/warnings/WarningActions.js +123 -0
- package/lib/warnings/WarningMessage.d.ts +8 -0
- package/lib/warnings/WarningMessage.d.ts.map +1 -0
- package/lib/warnings/WarningMessage.js +17 -0
- package/lib/warnings/WarningSeverity.d.ts +7 -0
- package/lib/warnings/WarningSeverity.d.ts.map +1 -0
- package/lib/warnings/WarningSeverity.js +43 -0
- package/lib/warnings/WarningsGrid.d.ts +2 -0
- package/lib/warnings/WarningsGrid.d.ts.map +1 -0
- package/lib/warnings/WarningsGrid.generated.d.ts +67 -0
- package/lib/warnings/WarningsGrid.generated.d.ts.map +1 -0
- package/lib/{dam/DataGrid/FolderHead.gql.generated.js → warnings/WarningsGrid.generated.js} +2 -2
- package/lib/warnings/WarningsGrid.js +267 -0
- package/lib/warnings/WarningsPage.d.ts +2 -0
- package/lib/warnings/WarningsPage.d.ts.map +1 -0
- package/lib/warnings/WarningsPage.js +25 -0
- package/lib/warnings/warningMessages.d.ts +10 -0
- package/lib/warnings/warningMessages.d.ts.map +1 -0
- package/lib/warnings/warningMessages.js +38 -0
- package/lib/warnings/warningsConfig.d.ts +6 -0
- package/lib/warnings/warningsConfig.d.ts.map +1 -0
- package/lib/{common/useOptimisticQuery.js → warnings/warningsConfig.js} +9 -13
- package/package.json +25 -23
- package/lib/common/header/UserHeaderItem.generated.d.ts.map +0 -1
- package/lib/common/useOptimisticQuery.d.ts +0 -9
- package/lib/common/useOptimisticQuery.d.ts.map +0 -1
- package/lib/dam/DataGrid/FolderHead.d.ts +0 -10
- package/lib/dam/DataGrid/FolderHead.d.ts.map +0 -1
- package/lib/dam/DataGrid/FolderHead.gql.d.ts +0 -3
- package/lib/dam/DataGrid/FolderHead.gql.d.ts.map +0 -1
- package/lib/dam/DataGrid/FolderHead.gql.generated.d.ts +0 -26
- package/lib/dam/DataGrid/FolderHead.gql.generated.d.ts.map +0 -1
- package/lib/dam/DataGrid/FolderHead.gql.js +0 -11
- package/lib/dam/DataGrid/FolderHead.js +0 -120
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.d.ts +0 -9
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.d.ts.map +0 -1
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.d.ts +0 -3
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.d.ts.map +0 -1
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.generated.d.ts +0 -26
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.generated.d.ts.map +0 -1
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.gql.js +0 -11
- package/lib/dam/DataGrid/breadcrumbs/FolderBreadcrumbs.js +0 -187
- package/lib/dam/DataGrid/footer/SelectionFooter.d.ts +0 -6
- package/lib/dam/DataGrid/footer/SelectionFooter.d.ts.map +0 -1
- package/lib/dam/DataGrid/footer/SelectionFooter.js +0 -147
- package/lib/form/FinalFormToggleButtonGroup.d.ts +0 -12
- package/lib/form/FinalFormToggleButtonGroup.d.ts.map +0 -1
- package/lib/form/FinalFormToggleButtonGroup.js +0 -76
- /package/lib/common/{header/UserHeaderItem.generated.js → signOutButton/SignOutButton.gql.generated.js} +0 -0
|
@@ -15,7 +15,7 @@ var _reactIntl = require("react-intl");
|
|
|
15
15
|
var _reactVirtualizedAutoSizer = _interopRequireDefault(require("react-virtualized-auto-sizer"));
|
|
16
16
|
var _reactWindow = require("react-window");
|
|
17
17
|
var _useDebounce = require("use-debounce");
|
|
18
|
-
var
|
|
18
|
+
var _usePageTreeScope = require("../config/usePageTreeScope");
|
|
19
19
|
var _PageTreeDragLayer = _interopRequireDefault(require("./PageTreeDragLayer"));
|
|
20
20
|
var _PageTreeRow = _interopRequireDefault(require("./PageTreeRow"));
|
|
21
21
|
var _PageTreeService = require("./PageTreeService");
|
|
@@ -105,8 +105,7 @@ var PageTree = function PageTree(_ref, ref) {
|
|
|
105
105
|
var pageTreeService = (0, _react.useMemo)(function () {
|
|
106
106
|
return new _PageTreeService.PageTreeService(levelOffsetPx, pages);
|
|
107
107
|
}, [pages]);
|
|
108
|
-
var
|
|
109
|
-
scope = _useContentScope.scope;
|
|
108
|
+
var scope = (0, _usePageTreeScope.usePageTreeScope)();
|
|
110
109
|
var snackbarApi = (0, _admin.useSnackbarApi)();
|
|
111
110
|
var debouncedSetHoverState = (0, _useDebounce.useDebouncedCallback)(function (setHoverState, newHoverState) {
|
|
112
111
|
setHoverState(function (prevState) {
|
|
@@ -471,7 +470,7 @@ var Root = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "pro
|
|
|
471
470
|
styles: "height:100%;display:flex;flex-direction:column"
|
|
472
471
|
} : {
|
|
473
472
|
name: "kdbhus",
|
|
474
|
-
styles: "height:100%;display:flex;flex-direction:column/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbVowQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VDb250ZW50U2NvcGUgfSBmcm9tIFwiLi4vLi4vY29udGVudFNjb3BlL1Byb3ZpZGVyXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB1c2VDb250ZW50U2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
473
|
+
styles: "height:100%;display:flex;flex-direction:column/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbVowQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VQYWdlVHJlZVNjb3BlIH0gZnJvbSBcIi4uL2NvbmZpZy91c2VQYWdlVHJlZVNjb3BlXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCBzY29wZSA9IHVzZVBhZ2VUcmVlU2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
475
474
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
476
475
|
});
|
|
477
476
|
var Table = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "production" ? {
|
|
@@ -484,6 +483,6 @@ var Table = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "pr
|
|
|
484
483
|
styles: "flex:1"
|
|
485
484
|
} : {
|
|
486
485
|
name: "82a6rk",
|
|
487
|
-
styles: "flex:1/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeVoyQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VDb250ZW50U2NvcGUgfSBmcm9tIFwiLi4vLi4vY29udGVudFNjb3BlL1Byb3ZpZGVyXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB1c2VDb250ZW50U2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
486
|
+
styles: "flex:1/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeVoyQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VQYWdlVHJlZVNjb3BlIH0gZnJvbSBcIi4uL2NvbmZpZy91c2VQYWdlVHJlZVNjb3BlXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCBzY29wZSA9IHVzZVBhZ2VUcmVlU2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
488
487
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
489
488
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ApolloClient } from "@apollo/client";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import { type
|
|
3
|
+
import { type ContentScope } from "../../../contentScope/Provider";
|
|
4
4
|
import { type PageTreeConfig } from "../../pageTreeConfig";
|
|
5
5
|
import { type PagesClipboard } from "../useCopyPastePages";
|
|
6
6
|
export interface SendPagesOptions {
|
|
@@ -13,7 +13,7 @@ export interface SendPagesOptions {
|
|
|
13
13
|
}
|
|
14
14
|
interface SendPagesDependencies {
|
|
15
15
|
client: ApolloClient<unknown>;
|
|
16
|
-
scope:
|
|
16
|
+
scope: ContentScope;
|
|
17
17
|
documentTypes: PageTreeConfig["documentTypes"];
|
|
18
18
|
apiUrl: string;
|
|
19
19
|
damScope: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendPages.d.ts","sourceRoot":"","sources":["../../../../src/pages/pageTree/useCopyPastePages/sendPages.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"sendPages.d.ts","sourceRoot":"","sources":["../../../../src/pages/pageTree/useCopyPastePages/sendPages.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAInE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4C/E,MAAM,WAAW,gBAAgB;IAC7B;;;SAGK;IACL,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;CACnE;AAED,UAAU,qBAAqB;IAC3B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;IAcI;AACJ,wBAAsB,SAAS,CAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,cAAc,EACpD,OAAO,EAAE,gBAAgB,EACzB,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,qBAAqB,EAC9H,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,GAC/D,OAAO,CAAC,IAAI,CAAC,CAySf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import { type
|
|
2
|
+
import { type ContentScope } from "../../contentScope/Provider";
|
|
3
3
|
import { type GQLDocument } from "../../documents/types";
|
|
4
4
|
import { type SendPagesOptions } from "./useCopyPastePages/sendPages";
|
|
5
5
|
import { type GQLPageTreePageFragment } from "./usePageTree";
|
|
@@ -8,7 +8,7 @@ export type PageClipboard = GQLPageTreePageFragment & {
|
|
|
8
8
|
};
|
|
9
9
|
export interface PagesClipboard {
|
|
10
10
|
pages: PageClipboard[];
|
|
11
|
-
scope:
|
|
11
|
+
scope: ContentScope;
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Union return type from `getFromClipboard` function.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCopyPastePages.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTree/useCopyPastePages.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"useCopyPastePages.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTree/useCopyPastePages.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,KAAK,WAAW,EAAiD,MAAM,uBAAuB,CAAC;AAIxG,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAG7D,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;CACvB;AAUD;;;GAGG;AACH,KAAK,wBAAwB,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpH,UAAU,oBAAoB;IAC1B;;;OAGG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnF;;;OAGG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAE1D;;;;OAIG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExG,cAAc,EAAE,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,iBAAS,iBAAiB,IAAI,oBAAoB,CAoIjD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -10,8 +10,8 @@ var _admin = require("@comet/admin");
|
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _reactIntl = require("react-intl");
|
|
12
12
|
var _CometConfigContext = require("../../config/CometConfigContext");
|
|
13
|
-
var _Provider = require("../../contentScope/Provider");
|
|
14
13
|
var _useDamScope = require("../../dam/config/useDamScope");
|
|
14
|
+
var _usePageTreeScope = require("../config/usePageTreeScope");
|
|
15
15
|
var _pageTreeConfig = require("../pageTreeConfig");
|
|
16
16
|
var _ProgressDialog = require("./useCopyPastePages/ProgressDialog");
|
|
17
17
|
var _sendPages = require("./useCopyPastePages/sendPages");
|
|
@@ -49,8 +49,7 @@ function useCopyPastePages() {
|
|
|
49
49
|
var _usePageTreeContext = (0, _usePageTreeContext2.usePageTreeContext)(),
|
|
50
50
|
currentCategory = _usePageTreeContext.currentCategory;
|
|
51
51
|
var client = (0, _client.useApolloClient)();
|
|
52
|
-
var
|
|
53
|
-
scope = _useContentScope.scope;
|
|
52
|
+
var scope = (0, _usePageTreeScope.usePageTreeScope)();
|
|
54
53
|
var damScope = (0, _useDamScope.useDamScope)();
|
|
55
54
|
var progress = (0, _ProgressDialog.useProgressDialog)({
|
|
56
55
|
title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageTreeConfig.d.ts","sourceRoot":"","sources":["../../src/pages/pageTreeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACvD,8BAA8B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"pageTreeConfig.d.ts","sourceRoot":"","sources":["../../src/pages/pageTreeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACvD,8BAA8B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAQlD"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ContentScope } from "../../contentScope/Provider";
|
|
2
2
|
import { GQLSelectedPageFragment } from "./PageTreeSelectDialog.generated";
|
|
3
3
|
export { GQLSelectedPageFragment };
|
|
4
4
|
export declare const selectedPageFragment: import("@apollo/client").DocumentNode;
|
|
5
5
|
interface PageTreeSelectProps {
|
|
6
6
|
value: (GQLSelectedPageFragment & {
|
|
7
|
-
scope?:
|
|
7
|
+
scope?: ContentScope;
|
|
8
8
|
}) | undefined | null;
|
|
9
9
|
onChange: (newValue: (GQLSelectedPageFragment & {
|
|
10
|
-
scope?:
|
|
10
|
+
scope?: ContentScope;
|
|
11
11
|
}) | null) => void;
|
|
12
12
|
open: boolean;
|
|
13
13
|
onClose: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageTreeSelectDialog.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTreeSelect/PageTreeSelectDialog.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"PageTreeSelectDialog.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTreeSelect/PageTreeSelectDialog.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAchE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,eAAO,MAAM,oBAAoB,uCAOhC,CAAC;AA2BF,UAAU,mBAAmB;IACzB,KAAK,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1F,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA4LlI"}
|