decap-cms-core 3.5.0 → 3.6.0
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/dist/decap-cms-core.js +9 -9
- package/dist/decap-cms-core.js.map +1 -1
- package/dist/esm/actions/auth.js +22 -37
- package/dist/esm/actions/collections.js +9 -17
- package/dist/esm/actions/config.js +58 -74
- package/dist/esm/actions/deploys.js +10 -17
- package/dist/esm/actions/editorialWorkflow.js +87 -101
- package/dist/esm/actions/entries.js +161 -211
- package/dist/esm/actions/media.js +31 -46
- package/dist/esm/actions/mediaLibrary.js +94 -126
- package/dist/esm/actions/notifications.js +5 -13
- package/dist/esm/actions/search.js +30 -47
- package/dist/esm/actions/status.js +13 -23
- package/dist/esm/actions/waitUntil.js +4 -11
- package/dist/esm/backend.js +132 -148
- package/dist/esm/bootstrap.js +37 -44
- package/dist/esm/components/App/App.js +82 -89
- package/dist/esm/components/App/Header.js +46 -52
- package/dist/esm/components/App/NotFoundPage.js +11 -18
- package/dist/esm/components/Collection/Collection.js +55 -63
- package/dist/esm/components/Collection/CollectionControls.js +15 -22
- package/dist/esm/components/Collection/CollectionSearch.js +35 -42
- package/dist/esm/components/Collection/CollectionTop.js +23 -30
- package/dist/esm/components/Collection/ControlButton.js +10 -16
- package/dist/esm/components/Collection/Entries/Entries.js +24 -31
- package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
- package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
- package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
- package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
- package/dist/esm/components/Collection/FilterControl.js +9 -16
- package/dist/esm/components/Collection/GroupControl.js +9 -16
- package/dist/esm/components/Collection/NestedCollection.js +54 -65
- package/dist/esm/components/Collection/Sidebar.js +36 -43
- package/dist/esm/components/Collection/SortControl.js +19 -26
- package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
- package/dist/esm/components/Editor/Editor.js +100 -108
- package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
- package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
- package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
- package/dist/esm/components/Editor/EditorInterface.js +95 -98
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
- package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
- package/dist/esm/components/Editor/EditorToolbar.js +133 -140
- package/dist/esm/components/Editor/withWorkflow.js +15 -22
- package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
- package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
- package/dist/esm/components/EditorWidgets/index.js +4 -7
- package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
- package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
- package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
- package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
- package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
- package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
- package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
- package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
- package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
- package/dist/esm/components/UI/DragDrop.js +21 -30
- package/dist/esm/components/UI/ErrorBoundary.js +35 -43
- package/dist/esm/components/UI/FileUploadButton.js +11 -18
- package/dist/esm/components/UI/Modal.js +19 -26
- package/dist/esm/components/UI/Notifications.js +21 -28
- package/dist/esm/components/UI/SettingsDropdown.js +28 -34
- package/dist/esm/components/UI/index.js +6 -60
- package/dist/esm/components/Workflow/Workflow.js +52 -61
- package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
- package/dist/esm/components/Workflow/WorkflowList.js +43 -49
- package/dist/esm/constants/collectionTypes.js +2 -8
- package/dist/esm/constants/collectionViews.js +2 -8
- package/dist/esm/constants/commitProps.js +2 -8
- package/dist/esm/constants/configSchema.js +20 -27
- package/dist/esm/constants/fieldInference.js +8 -15
- package/dist/esm/constants/publishModes.js +6 -11
- package/dist/esm/constants/validationErrorTypes.js +1 -7
- package/dist/esm/formats/formats.js +32 -41
- package/dist/esm/formats/frontmatter.js +18 -30
- package/dist/esm/formats/helpers.js +1 -7
- package/dist/esm/formats/json.js +1 -7
- package/dist/esm/formats/toml.js +11 -18
- package/dist/esm/formats/yaml.js +7 -14
- package/dist/esm/index.js +5 -12
- package/dist/esm/integrations/index.js +8 -16
- package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
- package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
- package/dist/esm/lib/consoleError.js +1 -7
- package/dist/esm/lib/formatters.js +34 -47
- package/dist/esm/lib/i18n.js +37 -66
- package/dist/esm/lib/phrases.js +4 -11
- package/dist/esm/lib/registry.js +40 -75
- package/dist/esm/lib/serializeEntryValues.js +11 -18
- package/dist/esm/lib/textHelper.js +1 -7
- package/dist/esm/lib/urlHelper.js +28 -43
- package/dist/esm/mediaLibrary.js +12 -16
- package/dist/esm/reducers/auth.js +10 -16
- package/dist/esm/reducers/collections.js +70 -102
- package/dist/esm/reducers/combinedReducer.js +4 -11
- package/dist/esm/reducers/config.js +11 -19
- package/dist/esm/reducers/cursors.js +12 -18
- package/dist/esm/reducers/deploys.js +8 -15
- package/dist/esm/reducers/editorialWorkflow.js +37 -47
- package/dist/esm/reducers/entries.js +107 -132
- package/dist/esm/reducers/entryDraft.js +64 -72
- package/dist/esm/reducers/globalUI.js +5 -11
- package/dist/esm/reducers/index.js +43 -64
- package/dist/esm/reducers/integrations.js +8 -16
- package/dist/esm/reducers/mediaLibrary.js +43 -52
- package/dist/esm/reducers/medias.js +11 -18
- package/dist/esm/reducers/notifications.js +9 -15
- package/dist/esm/reducers/search.js +12 -18
- package/dist/esm/reducers/status.js +7 -13
- package/dist/esm/redux/index.js +7 -13
- package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
- package/dist/esm/routing/history.js +7 -15
- package/dist/esm/types/diacritics.d.js +0 -1
- package/dist/esm/types/global.d.js +1 -5
- package/dist/esm/types/immutable.js +1 -5
- package/dist/esm/types/redux.js +7 -8
- package/dist/esm/types/tomlify-j0.4.d.js +0 -1
- package/dist/esm/valueObjects/AssetProxy.js +2 -10
- package/dist/esm/valueObjects/EditorComponent.js +5 -12
- package/dist/esm/valueObjects/Entry.js +3 -10
- package/package.json +3 -2
- package/src/components/Collection/Entries/EntriesCollection.js +7 -8
- package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
- package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
- package/src/components/Collection/NestedCollection.js +2 -2
- package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
- package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
- package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
- package/src/components/Editor/EditorControlPane/Widget.js +22 -1
- package/src/components/Editor/EditorInterface.js +6 -1
- package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
- package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
- package/dist/esm/actions/editorControl.js +0 -14
- package/dist/esm/reducers/editorComponent.js +0 -1
- package/dist/esm/reducers/editorControl.js +0 -17
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.EditorToolbar = void 0;
|
|
7
|
-
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
11
|
-
var _react2 = require("@emotion/react");
|
|
12
|
-
var _reactPolyglot = require("react-polyglot");
|
|
13
|
-
var _reactRouterDom = require("react-router-dom");
|
|
14
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
15
|
-
var _publishModes = require("../../constants/publishModes");
|
|
16
|
-
var _UI = require("../UI");
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
18
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
20
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
5
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
9
|
+
import { css } from '@emotion/react';
|
|
10
|
+
import { translate } from 'react-polyglot';
|
|
11
|
+
import { Link } from 'react-router-dom';
|
|
12
|
+
import { Icon, Dropdown, DropdownItem, StyledDropdownButton, colorsRaw, colors, components, buttons, zIndex } from 'decap-cms-ui-default';
|
|
13
|
+
import { status } from '../../constants/publishModes';
|
|
14
|
+
import { SettingsDropdown } from '../UI';
|
|
15
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
22
16
|
const styles = {
|
|
23
17
|
noOverflow: process.env.NODE_ENV === "production" ? {
|
|
24
18
|
name: "1ctb18k-noOverflow",
|
|
@@ -38,10 +32,10 @@ const styles = {
|
|
|
38
32
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCbUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
39
33
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
40
34
|
},
|
|
41
|
-
toolbarSection: /*#__PURE__*/(0, _react2.css)("height:100%;display:flex;align-items:center;border:0 solid ", _decapCmsUiDefault.colors.textFieldBorder, ";;label:toolbarSection;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */")),
|
|
42
|
-
publishedButton: /*#__PURE__*/(0, _react2.css)("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.tealDark, ";;label:publishedButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDc0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"))
|
|
35
|
+
toolbarSection: /*#__PURE__*/css("height:100%;display:flex;align-items:center;border:0 solid ", colors.textFieldBorder, ";;label:toolbarSection;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCcUIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */")),
|
|
36
|
+
publishedButton: /*#__PURE__*/css("background-color:", colorsRaw.tealLight, ";color:", colorsRaw.tealDark, ";;label:publishedButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDc0IiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"))
|
|
43
37
|
};
|
|
44
|
-
const TooltipText = /*#__PURE__*/(
|
|
38
|
+
const TooltipText = /*#__PURE__*/_styled("div", {
|
|
45
39
|
target: "e1d2l9mo26",
|
|
46
40
|
label: "TooltipText"
|
|
47
41
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -53,11 +47,11 @@ const TooltipText = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
53
47
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJDOEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
54
48
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
55
49
|
});
|
|
56
|
-
const Tooltip = /*#__PURE__*/(
|
|
50
|
+
const Tooltip = /*#__PURE__*/_styled("div", {
|
|
57
51
|
target: "e1d2l9mo25",
|
|
58
52
|
label: "Tooltip"
|
|
59
53
|
})("position:relative;display:inline-block;&:hover+", TooltipText, "{visibility:visible;opacity:0.9;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdFMEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
60
|
-
const TooltipContainer = /*#__PURE__*/(
|
|
54
|
+
const TooltipContainer = /*#__PURE__*/_styled("div", {
|
|
61
55
|
target: "e1d2l9mo24",
|
|
62
56
|
label: "TooltipContainer"
|
|
63
57
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -69,19 +63,19 @@ const TooltipContainer = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
69
63
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
70
64
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
71
65
|
});
|
|
72
|
-
const DropdownButton = /*#__PURE__*/(
|
|
66
|
+
const DropdownButton = /*#__PURE__*/_styled(StyledDropdownButton, {
|
|
73
67
|
target: "e1d2l9mo23",
|
|
74
68
|
label: "DropdownButton"
|
|
75
69
|
})(styles.noOverflow, "@media (max-width: 1200px){padding-left:10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZFbUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
76
|
-
const ToolbarContainer = /*#__PURE__*/(
|
|
70
|
+
const ToolbarContainer = /*#__PURE__*/_styled("div", {
|
|
77
71
|
target: "e1d2l9mo22",
|
|
78
72
|
label: "ToolbarContainer"
|
|
79
|
-
})("box-shadow:0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1),0 2px 54px rgba(0, 0, 0, 0.1);position:absolute;top:0;left:0;width:100%;min-width:800px;z-index:", _decapCmsUiDefault.zIndex.zIndex300, ";background-color:#fff;height:66px;display:flex;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
80
|
-
const ToolbarSectionMain = /*#__PURE__*/(
|
|
73
|
+
})("box-shadow:0 2px 6px 0 rgba(68, 74, 87, 0.05),0 1px 3px 0 rgba(68, 74, 87, 0.1),0 2px 54px rgba(0, 0, 0, 0.1);position:absolute;top:0;left:0;width:100%;min-width:800px;z-index:", zIndex.zIndex300, ";background-color:#fff;height:66px;display:flex;justify-content:space-between;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
74
|
+
const ToolbarSectionMain = /*#__PURE__*/_styled("div", {
|
|
81
75
|
target: "e1d2l9mo21",
|
|
82
76
|
label: "ToolbarSectionMain"
|
|
83
77
|
})(styles.toolbarSection, ";flex:10;display:flex;justify-content:space-between;padding:0 10px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1HcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
84
|
-
const ToolbarSubSectionFirst = /*#__PURE__*/(
|
|
78
|
+
const ToolbarSubSectionFirst = /*#__PURE__*/_styled("div", {
|
|
85
79
|
target: "e1d2l9mo20",
|
|
86
80
|
label: "ToolbarSubSectionFirst"
|
|
87
81
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -93,7 +87,7 @@ const ToolbarSubSectionFirst = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
93
87
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJHeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
94
88
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
95
89
|
});
|
|
96
|
-
const ToolbarSubSectionLast = /*#__PURE__*/(
|
|
90
|
+
const ToolbarSubSectionLast = /*#__PURE__*/_styled(ToolbarSubSectionFirst, {
|
|
97
91
|
target: "e1d2l9mo19",
|
|
98
92
|
label: "ToolbarSubSectionLast"
|
|
99
93
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -105,27 +99,27 @@ const ToolbarSubSectionLast = /*#__PURE__*/(0, _base.default)(ToolbarSubSectionF
|
|
|
105
99
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdINEQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
106
100
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
107
101
|
});
|
|
108
|
-
const ToolbarSectionBackLink = /*#__PURE__*/(
|
|
102
|
+
const ToolbarSectionBackLink = /*#__PURE__*/_styled(Link, {
|
|
109
103
|
target: "e1d2l9mo18",
|
|
110
104
|
label: "ToolbarSectionBackLink"
|
|
111
105
|
})(styles.toolbarSection, ";border-right-width:1px;font-weight:normal;padding:0 20px;&:hover,&:focus{background-color:#f1f2f4;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
112
|
-
const ToolbarSectionMeta = /*#__PURE__*/(
|
|
106
|
+
const ToolbarSectionMeta = /*#__PURE__*/_styled("div", {
|
|
113
107
|
target: "e1d2l9mo17",
|
|
114
108
|
label: "ToolbarSectionMeta"
|
|
115
109
|
})(styles.toolbarSection, ";border-left-width:1px;padding:0 7px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdJcUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
116
|
-
const ToolbarDropdown = /*#__PURE__*/(
|
|
110
|
+
const ToolbarDropdown = /*#__PURE__*/_styled(Dropdown, {
|
|
117
111
|
target: "e1d2l9mo16",
|
|
118
112
|
label: "ToolbarDropdown"
|
|
119
|
-
})(styles.buttonMargin, ";", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.teal, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
120
|
-
const BackArrow = /*#__PURE__*/(
|
|
113
|
+
})(styles.buttonMargin, ";", Icon, "{color:", colorsRaw.teal, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
114
|
+
const BackArrow = /*#__PURE__*/_styled("div", {
|
|
121
115
|
target: "e1d2l9mo15",
|
|
122
116
|
label: "BackArrow"
|
|
123
|
-
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:21px;font-weight:600;margin-right:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThJNEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
124
|
-
const BackCollection = /*#__PURE__*/(
|
|
117
|
+
})("color:", colors.textLead, ";font-size:21px;font-weight:600;margin-right:16px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThJNEIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
118
|
+
const BackCollection = /*#__PURE__*/_styled("div", {
|
|
125
119
|
target: "e1d2l9mo14",
|
|
126
120
|
label: "BackCollection"
|
|
127
|
-
})("color:", _decapCmsUiDefault.colors.textLead, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFKaUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
128
|
-
const BackStatus = /*#__PURE__*/(
|
|
121
|
+
})("color:", colors.textLead, ";font-size:14px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFKaUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
122
|
+
const BackStatus = /*#__PURE__*/_styled("div", {
|
|
129
123
|
target: "e1d2l9mo13",
|
|
130
124
|
label: "BackStatus"
|
|
131
125
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -137,55 +131,55 @@ const BackStatus = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
137
131
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBKNkIiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
138
132
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
139
133
|
});
|
|
140
|
-
const BackStatusUnchanged = /*#__PURE__*/(
|
|
134
|
+
const BackStatusUnchanged = /*#__PURE__*/_styled(BackStatus, {
|
|
141
135
|
target: "e1d2l9mo12",
|
|
142
136
|
label: "BackStatusUnchanged"
|
|
143
|
-
})(_decapCmsUiDefault.components.textBadgeSuccess, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
144
|
-
const BackStatusChanged = /*#__PURE__*/(
|
|
137
|
+
})(components.textBadgeSuccess, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThKOEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
138
|
+
const BackStatusChanged = /*#__PURE__*/_styled(BackStatus, {
|
|
145
139
|
target: "e1d2l9mo11",
|
|
146
140
|
label: "BackStatusChanged"
|
|
147
|
-
})(_decapCmsUiDefault.components.textBadgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtLNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
148
|
-
const ToolbarButton = /*#__PURE__*/(
|
|
141
|
+
})(components.textBadgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtLNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
142
|
+
const ToolbarButton = /*#__PURE__*/_styled("button", {
|
|
149
143
|
target: "e1d2l9mo10",
|
|
150
144
|
label: "ToolbarButton"
|
|
151
|
-
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.buttons.default, ";", styles.buttonMargin, ";", styles.noOverflow, ";display:block;@media (max-width: 1200px){padding:0 10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
152
|
-
const DeleteButton = /*#__PURE__*/(
|
|
145
|
+
})(buttons.button, ";", buttons.default, ";", styles.buttonMargin, ";", styles.noOverflow, ";display:block;@media (max-width: 1200px){padding:0 10px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
146
|
+
const DeleteButton = /*#__PURE__*/_styled(ToolbarButton, {
|
|
153
147
|
target: "e1d2l9mo9",
|
|
154
148
|
label: "DeleteButton"
|
|
155
|
-
})(_decapCmsUiDefault.buttons.lightRed, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtMMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
156
|
-
const SaveButton = /*#__PURE__*/(
|
|
149
|
+
})(buttons.lightRed, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtMMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
150
|
+
const SaveButton = /*#__PURE__*/_styled(ToolbarButton, {
|
|
157
151
|
target: "e1d2l9mo8",
|
|
158
152
|
label: "SaveButton"
|
|
159
|
-
})(_decapCmsUiDefault.buttons.lightBlue, ";&[disabled]{", _decapCmsUiDefault.buttons.disabled, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNMd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
160
|
-
const PublishedToolbarButton = /*#__PURE__*/(
|
|
153
|
+
})(buttons.lightBlue, ";&[disabled]{", buttons.disabled, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNMd0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
154
|
+
const PublishedToolbarButton = /*#__PURE__*/_styled(DropdownButton, {
|
|
161
155
|
target: "e1d2l9mo7",
|
|
162
156
|
label: "PublishedToolbarButton"
|
|
163
157
|
})(styles.publishedButton, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZMcUQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
164
|
-
const PublishedButton = /*#__PURE__*/(
|
|
158
|
+
const PublishedButton = /*#__PURE__*/_styled(ToolbarButton, {
|
|
165
159
|
target: "e1d2l9mo6",
|
|
166
160
|
label: "PublishedButton"
|
|
167
161
|
})(styles.publishedButton, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlNNkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
168
|
-
const PublishButton = /*#__PURE__*/(
|
|
162
|
+
const PublishButton = /*#__PURE__*/_styled(DropdownButton, {
|
|
169
163
|
target: "e1d2l9mo5",
|
|
170
164
|
label: "PublishButton"
|
|
171
|
-
})("background-color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFNNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
172
|
-
const StatusButton = /*#__PURE__*/(
|
|
165
|
+
})("background-color:", colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFNNEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
166
|
+
const StatusButton = /*#__PURE__*/_styled(DropdownButton, {
|
|
173
167
|
target: "e1d2l9mo4",
|
|
174
168
|
label: "StatusButton"
|
|
175
|
-
})("background-color:", _decapCmsUiDefault.colorsRaw.tealLight, ";color:", _decapCmsUiDefault.colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
176
|
-
const PreviewButtonContainer = /*#__PURE__*/(
|
|
169
|
+
})("background-color:", colorsRaw.tealLight, ";color:", colorsRaw.teal, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlNMkMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
170
|
+
const PreviewButtonContainer = /*#__PURE__*/_styled("div", {
|
|
177
171
|
target: "e1d2l9mo3",
|
|
178
172
|
label: "PreviewButtonContainer"
|
|
179
|
-
})("margin-right:12px;color:", _decapCmsUiDefault.colorsRaw.blue, ";display:flex;align-items:center;a,", _decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colorsRaw.blue, ";}", _decapCmsUiDefault.Icon, "{position:relative;top:1px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
180
|
-
const RefreshPreviewButton = /*#__PURE__*/(
|
|
173
|
+
})("margin-right:12px;color:", colorsRaw.blue, ";display:flex;align-items:center;a,", Icon, "{color:", colorsRaw.blue, ";}", Icon, "{position:relative;top:1px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThNeUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
174
|
+
const RefreshPreviewButton = /*#__PURE__*/_styled("button", {
|
|
181
175
|
target: "e1d2l9mo2",
|
|
182
176
|
label: "RefreshPreviewButton"
|
|
183
|
-
})("background:none;border:0;cursor:pointer;color:", _decapCmsUiDefault.colorsRaw.blue, ";span{margin-right:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStOMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
177
|
+
})("background:none;border:0;cursor:pointer;color:", colorsRaw.blue, ";span{margin-right:6px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStOMEMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
184
178
|
const PreviewLink = RefreshPreviewButton.withComponent('a', {
|
|
185
179
|
target: "e1d2l9mo27",
|
|
186
180
|
label: "PreviewLink"
|
|
187
181
|
});
|
|
188
|
-
const PublishDropDownItem = /*#__PURE__*/(
|
|
182
|
+
const PublishDropDownItem = /*#__PURE__*/_styled(DropdownItem, {
|
|
189
183
|
target: "e1d2l9mo1",
|
|
190
184
|
label: "PublishDropDownItem"
|
|
191
185
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -197,11 +191,11 @@ const PublishDropDownItem = /*#__PURE__*/(0, _base.default)(_decapCmsUiDefault.D
|
|
|
197
191
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRPZ0QiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */",
|
|
198
192
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
199
193
|
});
|
|
200
|
-
const StatusDropdownItem = /*#__PURE__*/(
|
|
194
|
+
const StatusDropdownItem = /*#__PURE__*/_styled(DropdownItem, {
|
|
201
195
|
target: "e1d2l9mo0",
|
|
202
196
|
label: "StatusDropdownItem"
|
|
203
|
-
})(_decapCmsUiDefault.Icon, "{color:", _decapCmsUiDefault.colors.infoText, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdQK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
204
|
-
class EditorToolbar extends
|
|
197
|
+
})(Icon, "{color:", colors.infoText, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JUb29sYmFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdQK0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvclRvb2xiYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBMaW5rIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQge1xuICBJY29uLFxuICBEcm9wZG93bixcbiAgRHJvcGRvd25JdGVtLFxuICBTdHlsZWREcm9wZG93bkJ1dHRvbixcbiAgY29sb3JzUmF3LFxuICBjb2xvcnMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIHpJbmRleCxcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuXG5pbXBvcnQgeyBzdGF0dXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcHVibGlzaE1vZGVzJztcbmltcG9ydCB7IFNldHRpbmdzRHJvcGRvd24gfSBmcm9tICcuLi9VSSc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgbm9PdmVyZmxvdzogY3NzYFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgYCxcbiAgYnV0dG9uTWFyZ2luOiBjc3NgXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIGAsXG4gIHRvb2xiYXJTZWN0aW9uOiBjc3NgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDAgc29saWQgJHtjb2xvcnMudGV4dEZpZWxkQm9yZGVyfTtcbiAgYCxcbiAgcHVibGlzaGVkQnV0dG9uOiBjc3NgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbExpZ2h0fTtcbiAgICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbERhcmt9O1xuICBgLFxufTtcblxuY29uc3QgVG9vbHRpcFRleHQgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IHVuc2V0O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDVweDtcblxuICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCB0ZXh0ICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxNDUlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzIwcHg7XG5cbiAgLyogRmFkZSBpbiB0b29sdGlwICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbmA7XG5cbmNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgJjpob3ZlciArICR7VG9vbHRpcFRleHR9IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgfVxuYDtcblxuY29uc3QgVG9vbHRpcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IERyb3Bkb3duQnV0dG9uID0gc3R5bGVkKFN0eWxlZERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMubm9PdmVyZmxvd31cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4wNSksIDAgMXB4IDNweCAwIHJnYmEoNjgsIDc0LCA4NywgMC4xKSxcbiAgICAwIDJweCA1NHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDgwMHB4O1xuICB6LWluZGV4OiAke3pJbmRleC56SW5kZXgzMDB9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDY2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFRvb2xiYXJTZWN0aW9uTWFpbiA9IHN0eWxlZC5kaXZgXG4gICR7c3R5bGVzLnRvb2xiYXJTZWN0aW9ufTtcbiAgZmxleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclN1YlNlY3Rpb25GaXJzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBUb29sYmFyU3ViU2VjdGlvbkxhc3QgPSBzdHlsZWQoVG9vbGJhclN1YlNlY3Rpb25GaXJzdClgXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VjdGlvbkJhY2tMaW5rID0gc3R5bGVkKExpbmspYFxuICAke3N0eWxlcy50b29sYmFyU2VjdGlvbn07XG4gIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmNDtcbiAgfVxuYDtcblxuY29uc3QgVG9vbGJhclNlY3Rpb25NZXRhID0gc3R5bGVkLmRpdmBcbiAgJHtzdHlsZXMudG9vbGJhclNlY3Rpb259O1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBwYWRkaW5nOiAwIDdweDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEcm9wZG93biA9IHN0eWxlZChEcm9wZG93bilgXG4gICR7c3R5bGVzLmJ1dHRvbk1hcmdpbn07XG5cbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LnRlYWx9O1xuICB9XG5gO1xuXG5jb25zdCBCYWNrQXJyb3cgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtjb2xvcnMudGV4dExlYWR9O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbmA7XG5cbmNvbnN0IEJhY2tDb2xsZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7Y29sb3JzLnRleHRMZWFkfTtcbiAgZm9udC1zaXplOiAxNHB4O1xuYDtcblxuY29uc3QgQmFja1N0YXR1cyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDZweDtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNVbmNoYW5nZWQgPSBzdHlsZWQoQmFja1N0YXR1cylgXG4gICR7Y29tcG9uZW50cy50ZXh0QmFkZ2VTdWNjZXNzfTtcbmA7XG5cbmNvbnN0IEJhY2tTdGF0dXNDaGFuZ2VkID0gc3R5bGVkKEJhY2tTdGF0dXMpYFxuICAke2NvbXBvbmVudHMudGV4dEJhZGdlRGFuZ2VyfTtcbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtidXR0b25zLmRlZmF1bHR9O1xuICAke3N0eWxlcy5idXR0b25NYXJnaW59O1xuICAke3N0eWxlcy5ub092ZXJmbG93fTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuYDtcblxuY29uc3QgRGVsZXRlQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke2J1dHRvbnMubGlnaHRSZWR9O1xuYDtcblxuY29uc3QgU2F2ZUJ1dHRvbiA9IHN0eWxlZChUb29sYmFyQnV0dG9uKWBcbiAgJHtidXR0b25zLmxpZ2h0Qmx1ZX07XG4gICZbZGlzYWJsZWRdIHtcbiAgICAke2J1dHRvbnMuZGlzYWJsZWR9O1xuICB9XG5gO1xuXG5jb25zdCBQdWJsaXNoZWRUb29sYmFyQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgJHtzdHlsZXMucHVibGlzaGVkQnV0dG9ufVxuYDtcblxuY29uc3QgUHVibGlzaGVkQnV0dG9uID0gc3R5bGVkKFRvb2xiYXJCdXR0b24pYFxuICAke3N0eWxlcy5wdWJsaXNoZWRCdXR0b259XG5gO1xuXG5jb25zdCBQdWJsaXNoQnV0dG9uID0gc3R5bGVkKERyb3Bkb3duQnV0dG9uKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBTdGF0dXNCdXR0b24gPSBzdHlsZWQoRHJvcGRvd25CdXR0b24pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2NvbG9yc1Jhdy50ZWFsTGlnaHR9O1xuICBjb2xvcjogJHtjb2xvcnNSYXcudGVhbH07XG5gO1xuXG5jb25zdCBQcmV2aWV3QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYSxcbiAgJHtJY29ufSB7XG4gICAgY29sb3I6ICR7Y29sb3JzUmF3LmJsdWV9O1xuICB9XG5cbiAgJHtJY29ufSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICB9XG5gO1xuXG5jb25zdCBSZWZyZXNoUHJldmlld0J1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogJHtjb2xvcnNSYXcuYmx1ZX07XG5cbiAgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFByZXZpZXdMaW5rID0gUmVmcmVzaFByZXZpZXdCdXR0b24ud2l0aENvbXBvbmVudCgnYScpO1xuXG5jb25zdCBQdWJsaXNoRHJvcERvd25JdGVtID0gc3R5bGVkKERyb3Bkb3duSXRlbSlgXG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbmA7XG5cbmNvbnN0IFN0YXR1c0Ryb3Bkb3duSXRlbSA9IHN0eWxlZChEcm9wZG93bkl0ZW0pYFxuICAke0ljb259IHtcbiAgICBjb2xvcjogJHtjb2xvcnMuaW5mb1RleHR9O1xuICB9XG5gO1xuXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgaXNQZXJzaXN0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc1B1Ymxpc2hpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzVXBkYXRpbmdTdGF0dXM6IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRGVsZXRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uUGVyc2lzdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBlcnNpc3RBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QZXJzaXN0QW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHNob3dEZWxldGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EZWxldGVVbnB1Ymxpc2hlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2VTdGF0dXM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVuUHVibGlzaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkR1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblB1Ymxpc2hBbmROZXc6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25QdWJsaXNoQW5kRHVwbGljYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGFzQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzcGxheVVybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaGFzV29ya2Zsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIHVzZU9wZW5BdXRob3Jpbmc6IFByb3BUeXBlcy5ib29sLFxuICAgIGhhc1VucHVibGlzaGVkQ2hhbmdlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFbnRyeTogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNNb2RpZmljYXRpb246IFByb3BUeXBlcy5ib29sLFxuICAgIGN1cnJlbnRTdGF0dXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb25Mb2dvdXRDbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvYWREZXBsb3lQcmV2aWV3OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZWRpdG9yQmFja0xpbms6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IGlzTmV3RW50cnksIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSkge1xuICAgICAgbG9hZERlcGxveVByZXZpZXcoeyBtYXhBdHRlbXB0czogMyB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBpc05ld0VudHJ5LCBpc1BlcnNpc3RpbmcsIGxvYWREZXBsb3lQcmV2aWV3IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICghaXNOZXdFbnRyeSAmJiBwcmV2UHJvcHMuaXNQZXJzaXN0aW5nICYmICFpc1BlcnNpc3RpbmcpIHtcbiAgICAgIGxvYWREZXBsb3lQcmV2aWV3KHsgbWF4QXR0ZW1wdHM6IDMgfSk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyU2ltcGxlQ29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9uLCBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCBzaG93RGVsZXRlLCBvbkRlbGV0ZSwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkXG4gICAgICAgICAgPyB0aGlzLnJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSlcbiAgICAgICAgICA6IHRoaXMucmVuZGVyTmV3RW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUgfSl9XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIG9uQ2xpY2s9e29uRGVsZXRlfT57dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlRW50cnknKX08L0RlbGV0ZUJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyA9IGxhYmVsID0+IHtcbiAgICBjb25zdCB7IGRlcGxveVByZXZpZXcgPSB7fSwgbG9hZERlcGxveVByZXZpZXcsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyB1cmwsIHN0YXR1cywgaXNGZXRjaGluZyB9ID0gZGVwbG95UHJldmlldztcblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGVwbG95UHJldmlld1JlYWR5ID0gc3RhdHVzID09PSAnU1VDQ0VTUycgJiYgIWlzRmV0Y2hpbmc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxQcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICB7ZGVwbG95UHJldmlld1JlYWR5ID8gKFxuICAgICAgICAgIDxQcmV2aWV3TGluayByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj17dXJsfT5cbiAgICAgICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8SWNvbiB0eXBlPVwibmV3LXRhYlwiIHNpemU9XCJ4c21hbGxcIiAvPlxuICAgICAgICAgIDwvUHJldmlld0xpbms+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFJlZnJlc2hQcmV2aWV3QnV0dG9uIG9uQ2xpY2s9e2xvYWREZXBsb3lQcmV2aWV3fT5cbiAgICAgICAgICAgIDxzcGFuPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3UGVuZGluZ0J1dHRvbkxhYmVsJyl9PC9zcGFuPlxuICAgICAgICAgICAgPEljb24gdHlwZT1cInJlZnJlc2hcIiBzaXplPVwieHNtYWxsXCIgLz5cbiAgICAgICAgICA8L1JlZnJlc2hQcmV2aWV3QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgPC9QcmV2aWV3QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAgPSAoKSA9PiB7XG4gICAgY29uc3QgeyB0LCBjdXJyZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3Qgc3RhdHVzVG9Mb2NhbGVLZXkgPSB7XG4gICAgICBbc3RhdHVzLmdldCgnRFJBRlQnKV06ICdzdGF0dXNJbmZvVG9vbHRpcERyYWZ0JyxcbiAgICAgIFtzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpXTogJ3N0YXR1c0luZm9Ub29sdGlwSW5SZXZpZXcnLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0dXNLZXkgPSBPYmplY3Qua2V5cyhzdGF0dXNUb0xvY2FsZUtleSkuZmluZChrZXkgPT4ga2V5ID09PSBjdXJyZW50U3RhdHVzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb250YWluZXI+XG4gICAgICAgIDxUb29sdGlwPlxuICAgICAgICAgIDxJY29uIHR5cGU9XCJpbmZvLWNpcmNsZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cInRvb2x0aXBcIiAvPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIHtzdGF0dXNLZXkgJiYgKFxuICAgICAgICAgIDxUb29sdGlwVGV4dD57dChgZWRpdG9yLmVkaXRvclRvb2xiYXIuJHtzdGF0dXNUb0xvY2FsZUtleVtzdGF0dXNLZXldfWApfTwvVG9vbHRpcFRleHQ+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2x0aXBDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaXNVcGRhdGluZ1N0YXR1cywgb25DaGFuZ2VTdGF0dXMsIGN1cnJlbnRTdGF0dXMsIHQsIHVzZU9wZW5BdXRob3JpbmcgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzdGF0dXNUb1RyYW5zbGF0aW9uID0ge1xuICAgICAgW3N0YXR1cy5nZXQoJ0RSQUZUJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kcmFmdCcpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUkVWSUVXJyldOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpLFxuICAgICAgW3N0YXR1cy5nZXQoJ1BFTkRJTkdfUFVCTElTSCcpXTogdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucmVhZHknKSxcbiAgICB9O1xuXG4gICAgY29uc3QgYnV0dG9uVGV4dCA9IGlzVXBkYXRpbmdTdGF0dXNcbiAgICAgID8gdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudXBkYXRpbmcnKVxuICAgICAgOiB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zdGF0dXMnLCB7IHN0YXR1czogc3RhdHVzVG9UcmFuc2xhdGlvbltjdXJyZW50U3RhdHVzXSB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjEyMHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IDxTdGF0dXNCdXR0b24+e2J1dHRvblRleHR9PC9TdGF0dXNCdXR0b24+fVxuICAgICAgICA+XG4gICAgICAgICAgPFN0YXR1c0Ryb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRyYWZ0Jyl9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZVN0YXR1cygnRFJBRlQnKX1cbiAgICAgICAgICAgIGljb249e2N1cnJlbnRTdGF0dXMgPT09IHN0YXR1cy5nZXQoJ0RSQUZUJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5pblJldmlldycpfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2VTdGF0dXMoJ1BFTkRJTkdfUkVWSUVXJyl9XG4gICAgICAgICAgICBpY29uPXtjdXJyZW50U3RhdHVzID09PSBzdGF0dXMuZ2V0KCdQRU5ESU5HX1JFVklFVycpID8gJ2NoZWNrJyA6IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7dXNlT3BlbkF1dGhvcmluZyA/IChcbiAgICAgICAgICAgICcnXG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxTdGF0dXNEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnJlYWR5Jyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2hhbmdlU3RhdHVzKCdQRU5ESU5HX1BVQkxJU0gnKX1cbiAgICAgICAgICAgICAgaWNvbj17Y3VycmVudFN0YXR1cyA9PT0gc3RhdHVzLmdldCgnUEVORElOR19QVUJMSVNIJykgPyAnY2hlY2snIDogbnVsbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Ub29sYmFyRHJvcGRvd24+XG4gICAgICAgIHt1c2VPcGVuQXV0aG9yaW5nICYmIHRoaXMucmVuZGVyU3RhdHVzSW5mb1Rvb2x0aXAoKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyTmV3RW50cnlXb3JrZmxvd1B1Ymxpc2hDb250cm9scyA9ICh7IGNhbkNyZWF0ZSwgY2FuUHVibGlzaCB9KSA9PiB7XG4gICAgY29uc3QgeyBpc1B1Ymxpc2hpbmcsIG9uUHVibGlzaCwgb25QdWJsaXNoQW5kTmV3LCBvblB1Ymxpc2hBbmREdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gY2FuUHVibGlzaCA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIyMDBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAge2lzUHVibGlzaGluZ1xuICAgICAgICAgICAgICA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICA8L1B1Ymxpc2hCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgIGljb25EaXJlY3Rpb249XCJyaWdodFwiXG4gICAgICAgICAgb25DbGljaz17b25QdWJsaXNofVxuICAgICAgICAvPlxuICAgICAgICB7Y2FuQ3JlYXRlID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8UHVibGlzaERyb3BEb3duSXRlbVxuICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25QdWJsaXNoQW5kTmV3fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxQdWJsaXNoRHJvcERvd25JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblB1Ymxpc2hBbmREdXBsaWNhdGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgICk7XG4gIH07XG5cbiAgcmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlLCBjYW5QdWJsaXNoLCBjYW5EZWxldGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgdW5QdWJsaXNoLCBvbkR1cGxpY2F0ZSwgaXNQZXJzaXN0aW5nLCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIGNhblB1Ymxpc2ggfHwgY2FuQ3JlYXRlID8gKFxuICAgICAgPFRvb2xiYXJEcm9wZG93blxuICAgICAgICBkcm9wZG93blRvcE92ZXJsYXA9XCI0MHB4XCJcbiAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAga2V5PVwidGQtcHVibGlzaC1jcmVhdGVcIlxuICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICA8UHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgICAgIHtpc1BlcnNpc3RpbmdcbiAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci51bnB1Ymxpc2hpbmcnKVxuICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hlZCcpfVxuICAgICAgICAgIDwvUHVibGlzaGVkVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge2NhbkRlbGV0ZSAmJiBjYW5QdWJsaXNoICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIudW5wdWJsaXNoJyl9XG4gICAgICAgICAgICBpY29uPVwiYXJyb3dcIlxuICAgICAgICAgICAgaWNvbkRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3VuUHVibGlzaH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7Y2FuQ3JlYXRlICYmIChcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1Rvb2xiYXJEcm9wZG93bj5cbiAgICApIDogKFxuICAgICAgJydcbiAgICApO1xuICB9O1xuXG4gIHJlbmRlckV4aXN0aW5nRW50cnlTaW1wbGVQdWJsaXNoQ29udHJvbHMgPSAoeyBjYW5DcmVhdGUgfSkgPT4ge1xuICAgIGNvbnN0IHsgb25EdXBsaWNhdGUsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIGNhbkNyZWF0ZSA/IChcbiAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgIGRyb3Bkb3duV2lkdGg9XCIxNTBweFwiXG4gICAgICAgIHJlbmRlckJ1dHRvbj17KCkgPT4gKFxuICAgICAgICAgIDxQdWJsaXNoZWRUb29sYmFyQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZFRvb2xiYXJCdXR0b24+XG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtcbiAgICAgICAgICA8RHJvcGRvd25JdGVtXG4gICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZHVwbGljYXRlJyl9XG4gICAgICAgICAgICBpY29uPVwiYWRkXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICkgOiAoXG4gICAgICA8UHVibGlzaGVkQnV0dG9uPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoZWQnKX08L1B1Ymxpc2hlZEJ1dHRvbj5cbiAgICApO1xuICB9O1xuXG4gIHJlbmRlck5ld0VudHJ5U2ltcGxlUHVibGlzaENvbnRyb2xzID0gKHsgY2FuQ3JlYXRlIH0pID0+IHtcbiAgICBjb25zdCB7IG9uUGVyc2lzdCwgb25QZXJzaXN0QW5kTmV3LCBvblBlcnNpc3RBbmREdXBsaWNhdGUsIGlzUGVyc2lzdGluZywgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgZHJvcGRvd25Ub3BPdmVybGFwPVwiNDBweFwiXG4gICAgICAgICAgZHJvcGRvd25XaWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICByZW5kZXJCdXR0b249eygpID0+IChcbiAgICAgICAgICAgIDxQdWJsaXNoQnV0dG9uPlxuICAgICAgICAgICAgICB7aXNQZXJzaXN0aW5nXG4gICAgICAgICAgICAgICAgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoaW5nJylcbiAgICAgICAgICAgICAgICA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2gnKX1cbiAgICAgICAgICAgIDwvUHVibGlzaEJ1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnB1Ymxpc2hOb3cnKX1cbiAgICAgICAgICAgIGljb249XCJhcnJvd1wiXG4gICAgICAgICAgICBpY29uRGlyZWN0aW9uPVwicmlnaHRcIlxuICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2NhbkNyZWF0ZSA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1cbiAgICAgICAgICAgICAgICBsYWJlbD17dCgnZWRpdG9yLmVkaXRvclRvb2xiYXIucHVibGlzaEFuZENyZWF0ZU5ldycpfVxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uUGVyc2lzdEFuZE5ld31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPERyb3Bkb3duSXRlbVxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5wdWJsaXNoQW5kRHVwbGljYXRlJyl9XG4gICAgICAgICAgICAgICAgaWNvbj1cImFkZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17b25QZXJzaXN0QW5kRHVwbGljYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvVG9vbGJhckRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXJTaW1wbGVEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBoYXNDaGFuZ2VkLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFpc05ld0VudHJ5ICYmICFoYXNDaGFuZ2VkKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcldvcmtmbG93Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb25QZXJzaXN0LFxuICAgICAgb25EZWxldGUsXG4gICAgICBvbkRlbGV0ZVVucHVibGlzaGVkQ2hhbmdlcyxcbiAgICAgIHNob3dEZWxldGUsXG4gICAgICBoYXNDaGFuZ2VkLFxuICAgICAgaGFzVW5wdWJsaXNoZWRDaGFuZ2VzLFxuICAgICAgdXNlT3BlbkF1dGhvcmluZyxcbiAgICAgIGlzUGVyc2lzdGluZyxcbiAgICAgIGlzRGVsZXRpbmcsXG4gICAgICBpc05ld0VudHJ5LFxuICAgICAgaXNNb2RpZmljYXRpb24sXG4gICAgICBjdXJyZW50U3RhdHVzLFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIHQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBjYW5DcmVhdGUgPSBjb2xsZWN0aW9uLmdldCgnY3JlYXRlJyk7XG4gICAgY29uc3QgY2FuUHVibGlzaCA9IGNvbGxlY3Rpb24uZ2V0KCdwdWJsaXNoJykgJiYgIXVzZU9wZW5BdXRob3Jpbmc7XG4gICAgY29uc3QgY2FuRGVsZXRlID0gY29sbGVjdGlvbi5nZXQoJ2RlbGV0ZScsIHRydWUpO1xuXG4gICAgY29uc3QgZGVsZXRlTGFiZWwgPVxuICAgICAgKGhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJlxuICAgICAgICBpc01vZGlmaWNhdGlvbiAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZENoYW5nZXMnKSkgfHxcbiAgICAgIChoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiZcbiAgICAgICAgKGlzTmV3RW50cnkgfHwgIWlzTW9kaWZpY2F0aW9uKSAmJlxuICAgICAgICB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZWxldGVVbnB1Ymxpc2hlZEVudHJ5JykpIHx8XG4gICAgICAoIWhhc1VucHVibGlzaGVkQ2hhbmdlcyAmJiAhaXNNb2RpZmljYXRpb24gJiYgdCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVsZXRlUHVibGlzaGVkRW50cnknKSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgPFNhdmVCdXR0b25cbiAgICAgICAgZGlzYWJsZWQ9eyFoYXNDaGFuZ2VkfVxuICAgICAgICBrZXk9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhc0NoYW5nZWQgJiYgb25QZXJzaXN0KCl9XG4gICAgICA+XG4gICAgICAgIHtpc1BlcnNpc3RpbmcgPyB0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5zYXZpbmcnKSA6IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnNhdmUnKX1cbiAgICAgIDwvU2F2ZUJ1dHRvbj4sXG4gICAgICBjdXJyZW50U3RhdHVzXG4gICAgICAgID8gW1xuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cIndvcmtmbG93LXN0YXR1cy1jb250cm9sc1wiPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJXb3JrZmxvd1N0YXR1c0NvbnRyb2xzKCl9XG4gICAgICAgICAgICAgIHshaGFzQ2hhbmdlZCAmJiB0aGlzLnJlbmRlck5ld0VudHJ5V29ya2Zsb3dQdWJsaXNoQ29udHJvbHMoeyBjYW5DcmVhdGUsIGNhblB1Ymxpc2ggfSl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PixcbiAgICAgICAgICBdXG4gICAgICAgIDogIWlzTmV3RW50cnkgJiYgKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT1cImV4aXN0aW5nLWVudHJ5LXdvcmtmbG93LXB1Ymxpc2gtY29udHJvbHNcIj5cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXhpc3RpbmdFbnRyeVdvcmtmbG93UHVibGlzaENvbnRyb2xzKHtcbiAgICAgICAgICAgICAgICBjYW5DcmVhdGUsXG4gICAgICAgICAgICAgICAgY2FuUHVibGlzaCxcbiAgICAgICAgICAgICAgICBjYW5EZWxldGUsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApLFxuICAgICAgKCFzaG93RGVsZXRlIHx8IHVzZU9wZW5BdXRob3JpbmcpICYmICFoYXNVbnB1Ymxpc2hlZENoYW5nZXMgJiYgIWlzTW9kaWZpY2F0aW9uID8gbnVsbCA6IChcbiAgICAgICAgPERlbGV0ZUJ1dHRvblxuICAgICAgICAgIGtleT1cImRlbGV0ZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e2hhc1VucHVibGlzaGVkQ2hhbmdlcyA/IG9uRGVsZXRlVW5wdWJsaXNoZWRDaGFuZ2VzIDogb25EZWxldGV9XG4gICAgICAgID5cbiAgICAgICAgICB7aXNEZWxldGluZyA/IHQoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmRlbGV0aW5nJykgOiBkZWxldGVMYWJlbH1cbiAgICAgICAgPC9EZWxldGVCdXR0b24+XG4gICAgICApLFxuICAgIF07XG4gIH07XG5cbiAgcmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50U3RhdHVzLCBpc05ld0VudHJ5LCB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlckRlcGxveVByZXZpZXdDb250cm9scyh0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5kZXBsb3lQcmV2aWV3QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHVibGlzaCBjb250cm9sIGZvciBwdWJsaXNoZWQgd29ya2Zsb3cgZW50cnkuXG4gICAgICovXG4gICAgaWYgKCFpc05ld0VudHJ5KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJEZXBsb3lQcmV2aWV3Q29udHJvbHModCgnZWRpdG9yLmVkaXRvclRvb2xiYXIuZGVwbG95QnV0dG9uTGFiZWwnKSk7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB1c2VyLFxuICAgICAgaGFzQ2hhbmdlZCxcbiAgICAgIGRpc3BsYXlVcmwsXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgaGFzV29ya2Zsb3csXG4gICAgICBvbkxvZ291dENsaWNrLFxuICAgICAgdCxcbiAgICAgIGVkaXRvckJhY2tMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sYmFyQ29udGFpbmVyPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25CYWNrTGluayB0bz17ZWRpdG9yQmFja0xpbmt9PlxuICAgICAgICAgIDxCYWNrQXJyb3c+4oaQPC9CYWNrQXJyb3c+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxCYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgICAge3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLmJhY2tDb2xsZWN0aW9uJywge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25MYWJlbDogY29sbGVjdGlvbi5nZXQoJ2xhYmVsJyksXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9CYWNrQ29sbGVjdGlvbj5cbiAgICAgICAgICAgIHtoYXNDaGFuZ2VkID8gKFxuICAgICAgICAgICAgICA8QmFja1N0YXR1c0NoYW5nZWQ+e3QoJ2VkaXRvci5lZGl0b3JUb29sYmFyLnVuc2F2ZWRDaGFuZ2VzJyl9PC9CYWNrU3RhdHVzQ2hhbmdlZD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxCYWNrU3RhdHVzVW5jaGFuZ2VkPnt0KCdlZGl0b3IuZWRpdG9yVG9vbGJhci5jaGFuZ2VzU2F2ZWQnKX08L0JhY2tTdGF0dXNVbmNoYW5nZWQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Rvb2xiYXJTZWN0aW9uQmFja0xpbms+XG4gICAgICAgIDxUb29sYmFyU2VjdGlvbk1haW4+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgICB7aGFzV29ya2Zsb3cgPyB0aGlzLnJlbmRlcldvcmtmbG93Q29udHJvbHMoKSA6IHRoaXMucmVuZGVyU2ltcGxlQ29udHJvbHMoKX1cbiAgICAgICAgICA8L1Rvb2xiYXJTdWJTZWN0aW9uRmlyc3Q+XG4gICAgICAgICAgPFRvb2xiYXJTdWJTZWN0aW9uTGFzdD5cbiAgICAgICAgICAgIHtoYXNXb3JrZmxvd1xuICAgICAgICAgICAgICA/IHRoaXMucmVuZGVyV29ya2Zsb3dEZXBsb3lQcmV2aWV3Q29udHJvbHMoKVxuICAgICAgICAgICAgICA6IHRoaXMucmVuZGVyU2ltcGxlRGVwbG95UHJldmlld0NvbnRyb2xzKCl9XG4gICAgICAgICAgPC9Ub29sYmFyU3ViU2VjdGlvbkxhc3Q+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NYWluPlxuICAgICAgICA8VG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgICAgIDxTZXR0aW5nc0Ryb3Bkb3duXG4gICAgICAgICAgICBkaXNwbGF5VXJsPXtkaXNwbGF5VXJsfVxuICAgICAgICAgICAgaW1hZ2VVcmw9e3VzZXI/LmF2YXRhcl91cmx9XG4gICAgICAgICAgICBvbkxvZ291dENsaWNrPXtvbkxvZ291dENsaWNrfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVG9vbGJhclNlY3Rpb25NZXRhPlxuICAgICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdHJhbnNsYXRlKCkoRWRpdG9yVG9vbGJhcik7XG4iXX0= */"));
|
|
198
|
+
export class EditorToolbar extends React.Component {
|
|
205
199
|
constructor(...args) {
|
|
206
200
|
super(...args);
|
|
207
201
|
_defineProperty(this, "renderSimpleControls", () => {
|
|
@@ -214,11 +208,11 @@ class EditorToolbar extends _react.default.Component {
|
|
|
214
208
|
t
|
|
215
209
|
} = this.props;
|
|
216
210
|
const canCreate = collection.get('create');
|
|
217
|
-
return (
|
|
211
|
+
return ___EmotionJSX(React.Fragment, null, !isNewEntry && !hasChanged ? this.renderExistingEntrySimplePublishControls({
|
|
218
212
|
canCreate
|
|
219
213
|
}) : this.renderNewEntrySimplePublishControls({
|
|
220
214
|
canCreate
|
|
221
|
-
}), (
|
|
215
|
+
}), ___EmotionJSX("div", null, showDelete ? ___EmotionJSX(DeleteButton, {
|
|
222
216
|
onClick: onDelete
|
|
223
217
|
}, t('editor.editorToolbar.deleteEntry')) : null));
|
|
224
218
|
});
|
|
@@ -237,16 +231,16 @@ class EditorToolbar extends _react.default.Component {
|
|
|
237
231
|
return;
|
|
238
232
|
}
|
|
239
233
|
const deployPreviewReady = status === 'SUCCESS' && !isFetching;
|
|
240
|
-
return (
|
|
234
|
+
return ___EmotionJSX(PreviewButtonContainer, null, deployPreviewReady ? ___EmotionJSX(PreviewLink, {
|
|
241
235
|
rel: "noopener noreferrer",
|
|
242
236
|
target: "_blank",
|
|
243
237
|
href: url
|
|
244
|
-
}, (
|
|
238
|
+
}, ___EmotionJSX("span", null, label), ___EmotionJSX(Icon, {
|
|
245
239
|
type: "new-tab",
|
|
246
240
|
size: "xsmall"
|
|
247
|
-
})) : (
|
|
241
|
+
})) : ___EmotionJSX(RefreshPreviewButton, {
|
|
248
242
|
onClick: loadDeployPreview
|
|
249
|
-
}, (
|
|
243
|
+
}, ___EmotionJSX("span", null, t('editor.editorToolbar.deployPreviewPendingButtonLabel')), ___EmotionJSX(Icon, {
|
|
250
244
|
type: "refresh",
|
|
251
245
|
size: "xsmall"
|
|
252
246
|
})));
|
|
@@ -257,15 +251,15 @@ class EditorToolbar extends _react.default.Component {
|
|
|
257
251
|
currentStatus
|
|
258
252
|
} = this.props;
|
|
259
253
|
const statusToLocaleKey = {
|
|
260
|
-
[
|
|
261
|
-
[
|
|
254
|
+
[status.get('DRAFT')]: 'statusInfoTooltipDraft',
|
|
255
|
+
[status.get('PENDING_REVIEW')]: 'statusInfoTooltipInReview'
|
|
262
256
|
};
|
|
263
257
|
const statusKey = Object.keys(statusToLocaleKey).find(key => key === currentStatus);
|
|
264
|
-
return (
|
|
258
|
+
return ___EmotionJSX(TooltipContainer, null, ___EmotionJSX(Tooltip, null, ___EmotionJSX(Icon, {
|
|
265
259
|
type: "info-circle",
|
|
266
260
|
size: "small",
|
|
267
261
|
className: "tooltip"
|
|
268
|
-
})), statusKey && (
|
|
262
|
+
})), statusKey && ___EmotionJSX(TooltipText, null, t(`editor.editorToolbar.${statusToLocaleKey[statusKey]}`)));
|
|
269
263
|
});
|
|
270
264
|
_defineProperty(this, "renderWorkflowStatusControls", () => {
|
|
271
265
|
const {
|
|
@@ -276,29 +270,29 @@ class EditorToolbar extends _react.default.Component {
|
|
|
276
270
|
useOpenAuthoring
|
|
277
271
|
} = this.props;
|
|
278
272
|
const statusToTranslation = {
|
|
279
|
-
[
|
|
280
|
-
[
|
|
281
|
-
[
|
|
273
|
+
[status.get('DRAFT')]: t('editor.editorToolbar.draft'),
|
|
274
|
+
[status.get('PENDING_REVIEW')]: t('editor.editorToolbar.inReview'),
|
|
275
|
+
[status.get('PENDING_PUBLISH')]: t('editor.editorToolbar.ready')
|
|
282
276
|
};
|
|
283
277
|
const buttonText = isUpdatingStatus ? t('editor.editorToolbar.updating') : t('editor.editorToolbar.status', {
|
|
284
278
|
status: statusToTranslation[currentStatus]
|
|
285
279
|
});
|
|
286
|
-
return (
|
|
280
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(ToolbarDropdown, {
|
|
287
281
|
dropdownTopOverlap: "40px",
|
|
288
282
|
dropdownWidth: "120px",
|
|
289
|
-
renderButton: () => (
|
|
290
|
-
}, (
|
|
283
|
+
renderButton: () => ___EmotionJSX(StatusButton, null, buttonText)
|
|
284
|
+
}, ___EmotionJSX(StatusDropdownItem, {
|
|
291
285
|
label: t('editor.editorToolbar.draft'),
|
|
292
286
|
onClick: () => onChangeStatus('DRAFT'),
|
|
293
|
-
icon: currentStatus ===
|
|
294
|
-
}), (
|
|
287
|
+
icon: currentStatus === status.get('DRAFT') ? 'check' : null
|
|
288
|
+
}), ___EmotionJSX(StatusDropdownItem, {
|
|
295
289
|
label: t('editor.editorToolbar.inReview'),
|
|
296
290
|
onClick: () => onChangeStatus('PENDING_REVIEW'),
|
|
297
|
-
icon: currentStatus ===
|
|
298
|
-
}), useOpenAuthoring ? '' : (
|
|
291
|
+
icon: currentStatus === status.get('PENDING_REVIEW') ? 'check' : null
|
|
292
|
+
}), useOpenAuthoring ? '' : ___EmotionJSX(StatusDropdownItem, {
|
|
299
293
|
label: t('editor.editorToolbar.ready'),
|
|
300
294
|
onClick: () => onChangeStatus('PENDING_PUBLISH'),
|
|
301
|
-
icon: currentStatus ===
|
|
295
|
+
icon: currentStatus === status.get('PENDING_PUBLISH') ? 'check' : null
|
|
302
296
|
})), useOpenAuthoring && this.renderStatusInfoTooltip());
|
|
303
297
|
});
|
|
304
298
|
_defineProperty(this, "renderNewEntryWorkflowPublishControls", ({
|
|
@@ -312,20 +306,20 @@ class EditorToolbar extends _react.default.Component {
|
|
|
312
306
|
onPublishAndDuplicate,
|
|
313
307
|
t
|
|
314
308
|
} = this.props;
|
|
315
|
-
return canPublish ? (
|
|
309
|
+
return canPublish ? ___EmotionJSX(ToolbarDropdown, {
|
|
316
310
|
dropdownTopOverlap: "40px",
|
|
317
311
|
dropdownWidth: "200px",
|
|
318
|
-
renderButton: () => (
|
|
319
|
-
}, (
|
|
312
|
+
renderButton: () => ___EmotionJSX(PublishButton, null, isPublishing ? t('editor.editorToolbar.publishing') : t('editor.editorToolbar.publish'))
|
|
313
|
+
}, ___EmotionJSX(PublishDropDownItem, {
|
|
320
314
|
label: t('editor.editorToolbar.publishNow'),
|
|
321
315
|
icon: "arrow",
|
|
322
316
|
iconDirection: "right",
|
|
323
317
|
onClick: onPublish
|
|
324
|
-
}), canCreate ? (
|
|
318
|
+
}), canCreate ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(PublishDropDownItem, {
|
|
325
319
|
label: t('editor.editorToolbar.publishAndCreateNew'),
|
|
326
320
|
icon: "add",
|
|
327
321
|
onClick: onPublishAndNew
|
|
328
|
-
}), (
|
|
322
|
+
}), ___EmotionJSX(PublishDropDownItem, {
|
|
329
323
|
label: t('editor.editorToolbar.publishAndDuplicate'),
|
|
330
324
|
icon: "add",
|
|
331
325
|
onClick: onPublishAndDuplicate
|
|
@@ -342,17 +336,17 @@ class EditorToolbar extends _react.default.Component {
|
|
|
342
336
|
isPersisting,
|
|
343
337
|
t
|
|
344
338
|
} = this.props;
|
|
345
|
-
return canPublish || canCreate ? (
|
|
339
|
+
return canPublish || canCreate ? ___EmotionJSX(ToolbarDropdown, {
|
|
346
340
|
dropdownTopOverlap: "40px",
|
|
347
341
|
dropdownWidth: "150px",
|
|
348
342
|
key: "td-publish-create",
|
|
349
|
-
renderButton: () => (
|
|
350
|
-
}, canDelete && canPublish && (
|
|
343
|
+
renderButton: () => ___EmotionJSX(PublishedToolbarButton, null, isPersisting ? t('editor.editorToolbar.unpublishing') : t('editor.editorToolbar.published'))
|
|
344
|
+
}, canDelete && canPublish && ___EmotionJSX(DropdownItem, {
|
|
351
345
|
label: t('editor.editorToolbar.unpublish'),
|
|
352
346
|
icon: "arrow",
|
|
353
347
|
iconDirection: "right",
|
|
354
348
|
onClick: unPublish
|
|
355
|
-
}), canCreate && (
|
|
349
|
+
}), canCreate && ___EmotionJSX(DropdownItem, {
|
|
356
350
|
label: t('editor.editorToolbar.duplicate'),
|
|
357
351
|
icon: "add",
|
|
358
352
|
onClick: onDuplicate
|
|
@@ -365,15 +359,15 @@ class EditorToolbar extends _react.default.Component {
|
|
|
365
359
|
onDuplicate,
|
|
366
360
|
t
|
|
367
361
|
} = this.props;
|
|
368
|
-
return canCreate ? (
|
|
362
|
+
return canCreate ? ___EmotionJSX(ToolbarDropdown, {
|
|
369
363
|
dropdownTopOverlap: "40px",
|
|
370
364
|
dropdownWidth: "150px",
|
|
371
|
-
renderButton: () => (
|
|
372
|
-
}, (
|
|
365
|
+
renderButton: () => ___EmotionJSX(PublishedToolbarButton, null, t('editor.editorToolbar.published'))
|
|
366
|
+
}, ___EmotionJSX(DropdownItem, {
|
|
373
367
|
label: t('editor.editorToolbar.duplicate'),
|
|
374
368
|
icon: "add",
|
|
375
369
|
onClick: onDuplicate
|
|
376
|
-
})) : (
|
|
370
|
+
})) : ___EmotionJSX(PublishedButton, null, t('editor.editorToolbar.published'));
|
|
377
371
|
});
|
|
378
372
|
_defineProperty(this, "renderNewEntrySimplePublishControls", ({
|
|
379
373
|
canCreate
|
|
@@ -385,20 +379,20 @@ class EditorToolbar extends _react.default.Component {
|
|
|
385
379
|
isPersisting,
|
|
386
380
|
t
|
|
387
381
|
} = this.props;
|
|
388
|
-
return (
|
|
382
|
+
return ___EmotionJSX("div", null, ___EmotionJSX(ToolbarDropdown, {
|
|
389
383
|
dropdownTopOverlap: "40px",
|
|
390
384
|
dropdownWidth: "150px",
|
|
391
|
-
renderButton: () => (
|
|
392
|
-
}, (
|
|
385
|
+
renderButton: () => ___EmotionJSX(PublishButton, null, isPersisting ? t('editor.editorToolbar.publishing') : t('editor.editorToolbar.publish'))
|
|
386
|
+
}, ___EmotionJSX(DropdownItem, {
|
|
393
387
|
label: t('editor.editorToolbar.publishNow'),
|
|
394
388
|
icon: "arrow",
|
|
395
389
|
iconDirection: "right",
|
|
396
390
|
onClick: onPersist
|
|
397
|
-
}), canCreate ? (
|
|
391
|
+
}), canCreate ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(DropdownItem, {
|
|
398
392
|
label: t('editor.editorToolbar.publishAndCreateNew'),
|
|
399
393
|
icon: "add",
|
|
400
394
|
onClick: onPersistAndNew
|
|
401
|
-
}), (
|
|
395
|
+
}), ___EmotionJSX(DropdownItem, {
|
|
402
396
|
label: t('editor.editorToolbar.publishAndDuplicate'),
|
|
403
397
|
icon: "add",
|
|
404
398
|
onClick: onPersistAndDuplicate
|
|
@@ -435,22 +429,22 @@ class EditorToolbar extends _react.default.Component {
|
|
|
435
429
|
const canPublish = collection.get('publish') && !useOpenAuthoring;
|
|
436
430
|
const canDelete = collection.get('delete', true);
|
|
437
431
|
const deleteLabel = hasUnpublishedChanges && isModification && t('editor.editorToolbar.deleteUnpublishedChanges') || hasUnpublishedChanges && (isNewEntry || !isModification) && t('editor.editorToolbar.deleteUnpublishedEntry') || !hasUnpublishedChanges && !isModification && t('editor.editorToolbar.deletePublishedEntry');
|
|
438
|
-
return [(
|
|
432
|
+
return [___EmotionJSX(SaveButton, {
|
|
439
433
|
disabled: !hasChanged,
|
|
440
434
|
key: "save-button",
|
|
441
435
|
onClick: () => hasChanged && onPersist()
|
|
442
|
-
}, isPersisting ? t('editor.editorToolbar.saving') : t('editor.editorToolbar.save')), currentStatus ? [(
|
|
436
|
+
}, isPersisting ? t('editor.editorToolbar.saving') : t('editor.editorToolbar.save')), currentStatus ? [___EmotionJSX(React.Fragment, {
|
|
443
437
|
key: "workflow-status-controls"
|
|
444
438
|
}, this.renderWorkflowStatusControls(), !hasChanged && this.renderNewEntryWorkflowPublishControls({
|
|
445
439
|
canCreate,
|
|
446
440
|
canPublish
|
|
447
|
-
}))] : !isNewEntry && (
|
|
441
|
+
}))] : !isNewEntry && ___EmotionJSX(React.Fragment, {
|
|
448
442
|
key: "existing-entry-workflow-publish-controls"
|
|
449
443
|
}, this.renderExistingEntryWorkflowPublishControls({
|
|
450
444
|
canCreate,
|
|
451
445
|
canPublish,
|
|
452
446
|
canDelete
|
|
453
|
-
})), (!showDelete || useOpenAuthoring) && !hasUnpublishedChanges && !isModification ? null : (
|
|
447
|
+
})), (!showDelete || useOpenAuthoring) && !hasUnpublishedChanges && !isModification ? null : ___EmotionJSX(DeleteButton, {
|
|
454
448
|
key: "delete-button",
|
|
455
449
|
onClick: hasUnpublishedChanges ? onDeleteUnpublishedChanges : onDelete
|
|
456
450
|
}, isDeleting ? t('editor.editorToolbar.deleting') : deleteLabel)];
|
|
@@ -507,49 +501,48 @@ class EditorToolbar extends _react.default.Component {
|
|
|
507
501
|
t,
|
|
508
502
|
editorBackLink
|
|
509
503
|
} = this.props;
|
|
510
|
-
return (
|
|
504
|
+
return ___EmotionJSX(ToolbarContainer, null, ___EmotionJSX(ToolbarSectionBackLink, {
|
|
511
505
|
to: editorBackLink
|
|
512
|
-
}, (
|
|
506
|
+
}, ___EmotionJSX(BackArrow, null, "\u2190"), ___EmotionJSX("div", null, ___EmotionJSX(BackCollection, null, t('editor.editorToolbar.backCollection', {
|
|
513
507
|
collectionLabel: collection.get('label')
|
|
514
|
-
})), hasChanged ? (
|
|
508
|
+
})), hasChanged ? ___EmotionJSX(BackStatusChanged, null, t('editor.editorToolbar.unsavedChanges')) : ___EmotionJSX(BackStatusUnchanged, null, t('editor.editorToolbar.changesSaved')))), ___EmotionJSX(ToolbarSectionMain, null, ___EmotionJSX(ToolbarSubSectionFirst, null, hasWorkflow ? this.renderWorkflowControls() : this.renderSimpleControls()), ___EmotionJSX(ToolbarSubSectionLast, null, hasWorkflow ? this.renderWorkflowDeployPreviewControls() : this.renderSimpleDeployPreviewControls())), ___EmotionJSX(ToolbarSectionMeta, null, ___EmotionJSX(SettingsDropdown, {
|
|
515
509
|
displayUrl: displayUrl,
|
|
516
510
|
imageUrl: user === null || user === void 0 ? void 0 : user.avatar_url,
|
|
517
511
|
onLogoutClick: onLogoutClick
|
|
518
512
|
})));
|
|
519
513
|
}
|
|
520
514
|
}
|
|
521
|
-
exports.EditorToolbar = EditorToolbar;
|
|
522
515
|
_defineProperty(EditorToolbar, "propTypes", {
|
|
523
|
-
isPersisting:
|
|
524
|
-
isPublishing:
|
|
525
|
-
isUpdatingStatus:
|
|
526
|
-
isDeleting:
|
|
527
|
-
onPersist:
|
|
528
|
-
onPersistAndNew:
|
|
529
|
-
onPersistAndDuplicate:
|
|
530
|
-
showDelete:
|
|
531
|
-
onDelete:
|
|
532
|
-
onDeleteUnpublishedChanges:
|
|
533
|
-
onChangeStatus:
|
|
534
|
-
onPublish:
|
|
535
|
-
unPublish:
|
|
536
|
-
onDuplicate:
|
|
537
|
-
onPublishAndNew:
|
|
538
|
-
onPublishAndDuplicate:
|
|
539
|
-
user:
|
|
540
|
-
hasChanged:
|
|
541
|
-
displayUrl:
|
|
542
|
-
collection:
|
|
543
|
-
hasWorkflow:
|
|
544
|
-
useOpenAuthoring:
|
|
545
|
-
hasUnpublishedChanges:
|
|
546
|
-
isNewEntry:
|
|
547
|
-
isModification:
|
|
548
|
-
currentStatus:
|
|
549
|
-
onLogoutClick:
|
|
550
|
-
deployPreview:
|
|
551
|
-
loadDeployPreview:
|
|
552
|
-
t:
|
|
553
|
-
editorBackLink:
|
|
516
|
+
isPersisting: PropTypes.bool,
|
|
517
|
+
isPublishing: PropTypes.bool,
|
|
518
|
+
isUpdatingStatus: PropTypes.bool,
|
|
519
|
+
isDeleting: PropTypes.bool,
|
|
520
|
+
onPersist: PropTypes.func.isRequired,
|
|
521
|
+
onPersistAndNew: PropTypes.func.isRequired,
|
|
522
|
+
onPersistAndDuplicate: PropTypes.func.isRequired,
|
|
523
|
+
showDelete: PropTypes.bool.isRequired,
|
|
524
|
+
onDelete: PropTypes.func.isRequired,
|
|
525
|
+
onDeleteUnpublishedChanges: PropTypes.func.isRequired,
|
|
526
|
+
onChangeStatus: PropTypes.func.isRequired,
|
|
527
|
+
onPublish: PropTypes.func.isRequired,
|
|
528
|
+
unPublish: PropTypes.func.isRequired,
|
|
529
|
+
onDuplicate: PropTypes.func.isRequired,
|
|
530
|
+
onPublishAndNew: PropTypes.func.isRequired,
|
|
531
|
+
onPublishAndDuplicate: PropTypes.func.isRequired,
|
|
532
|
+
user: PropTypes.object,
|
|
533
|
+
hasChanged: PropTypes.bool,
|
|
534
|
+
displayUrl: PropTypes.string,
|
|
535
|
+
collection: ImmutablePropTypes.map.isRequired,
|
|
536
|
+
hasWorkflow: PropTypes.bool,
|
|
537
|
+
useOpenAuthoring: PropTypes.bool,
|
|
538
|
+
hasUnpublishedChanges: PropTypes.bool,
|
|
539
|
+
isNewEntry: PropTypes.bool,
|
|
540
|
+
isModification: PropTypes.bool,
|
|
541
|
+
currentStatus: PropTypes.string,
|
|
542
|
+
onLogoutClick: PropTypes.func.isRequired,
|
|
543
|
+
deployPreview: PropTypes.object,
|
|
544
|
+
loadDeployPreview: PropTypes.func.isRequired,
|
|
545
|
+
t: PropTypes.func.isRequired,
|
|
546
|
+
editorBackLink: PropTypes.string.isRequired
|
|
554
547
|
});
|
|
555
|
-
|
|
548
|
+
export default translate()(EditorToolbar);
|