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.
Files changed (137) hide show
  1. package/dist/decap-cms-core.js +9 -9
  2. package/dist/decap-cms-core.js.map +1 -1
  3. package/dist/esm/actions/auth.js +22 -37
  4. package/dist/esm/actions/collections.js +9 -17
  5. package/dist/esm/actions/config.js +58 -74
  6. package/dist/esm/actions/deploys.js +10 -17
  7. package/dist/esm/actions/editorialWorkflow.js +87 -101
  8. package/dist/esm/actions/entries.js +161 -211
  9. package/dist/esm/actions/media.js +31 -46
  10. package/dist/esm/actions/mediaLibrary.js +94 -126
  11. package/dist/esm/actions/notifications.js +5 -13
  12. package/dist/esm/actions/search.js +30 -47
  13. package/dist/esm/actions/status.js +13 -23
  14. package/dist/esm/actions/waitUntil.js +4 -11
  15. package/dist/esm/backend.js +132 -148
  16. package/dist/esm/bootstrap.js +37 -44
  17. package/dist/esm/components/App/App.js +82 -89
  18. package/dist/esm/components/App/Header.js +46 -52
  19. package/dist/esm/components/App/NotFoundPage.js +11 -18
  20. package/dist/esm/components/Collection/Collection.js +55 -63
  21. package/dist/esm/components/Collection/CollectionControls.js +15 -22
  22. package/dist/esm/components/Collection/CollectionSearch.js +35 -42
  23. package/dist/esm/components/Collection/CollectionTop.js +23 -30
  24. package/dist/esm/components/Collection/ControlButton.js +10 -16
  25. package/dist/esm/components/Collection/Entries/Entries.js +24 -31
  26. package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
  27. package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
  28. package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
  29. package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
  30. package/dist/esm/components/Collection/FilterControl.js +9 -16
  31. package/dist/esm/components/Collection/GroupControl.js +9 -16
  32. package/dist/esm/components/Collection/NestedCollection.js +54 -65
  33. package/dist/esm/components/Collection/Sidebar.js +36 -43
  34. package/dist/esm/components/Collection/SortControl.js +19 -26
  35. package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
  36. package/dist/esm/components/Editor/Editor.js +100 -108
  37. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
  38. package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
  39. package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
  40. package/dist/esm/components/Editor/EditorInterface.js +95 -98
  41. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
  42. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
  43. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
  44. package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
  45. package/dist/esm/components/Editor/EditorToolbar.js +133 -140
  46. package/dist/esm/components/Editor/withWorkflow.js +15 -22
  47. package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
  48. package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
  49. package/dist/esm/components/EditorWidgets/index.js +4 -7
  50. package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
  51. package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
  52. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
  53. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
  54. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
  55. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
  56. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
  57. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
  58. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
  59. package/dist/esm/components/UI/DragDrop.js +21 -30
  60. package/dist/esm/components/UI/ErrorBoundary.js +35 -43
  61. package/dist/esm/components/UI/FileUploadButton.js +11 -18
  62. package/dist/esm/components/UI/Modal.js +19 -26
  63. package/dist/esm/components/UI/Notifications.js +21 -28
  64. package/dist/esm/components/UI/SettingsDropdown.js +28 -34
  65. package/dist/esm/components/UI/index.js +6 -60
  66. package/dist/esm/components/Workflow/Workflow.js +52 -61
  67. package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
  68. package/dist/esm/components/Workflow/WorkflowList.js +43 -49
  69. package/dist/esm/constants/collectionTypes.js +2 -8
  70. package/dist/esm/constants/collectionViews.js +2 -8
  71. package/dist/esm/constants/commitProps.js +2 -8
  72. package/dist/esm/constants/configSchema.js +20 -27
  73. package/dist/esm/constants/fieldInference.js +8 -15
  74. package/dist/esm/constants/publishModes.js +6 -11
  75. package/dist/esm/constants/validationErrorTypes.js +1 -7
  76. package/dist/esm/formats/formats.js +32 -41
  77. package/dist/esm/formats/frontmatter.js +18 -30
  78. package/dist/esm/formats/helpers.js +1 -7
  79. package/dist/esm/formats/json.js +1 -7
  80. package/dist/esm/formats/toml.js +11 -18
  81. package/dist/esm/formats/yaml.js +7 -14
  82. package/dist/esm/index.js +5 -12
  83. package/dist/esm/integrations/index.js +8 -16
  84. package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
  85. package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
  86. package/dist/esm/lib/consoleError.js +1 -7
  87. package/dist/esm/lib/formatters.js +34 -47
  88. package/dist/esm/lib/i18n.js +37 -66
  89. package/dist/esm/lib/phrases.js +4 -11
  90. package/dist/esm/lib/registry.js +40 -75
  91. package/dist/esm/lib/serializeEntryValues.js +11 -18
  92. package/dist/esm/lib/textHelper.js +1 -7
  93. package/dist/esm/lib/urlHelper.js +28 -43
  94. package/dist/esm/mediaLibrary.js +12 -16
  95. package/dist/esm/reducers/auth.js +10 -16
  96. package/dist/esm/reducers/collections.js +70 -102
  97. package/dist/esm/reducers/combinedReducer.js +4 -11
  98. package/dist/esm/reducers/config.js +11 -19
  99. package/dist/esm/reducers/cursors.js +12 -18
  100. package/dist/esm/reducers/deploys.js +8 -15
  101. package/dist/esm/reducers/editorialWorkflow.js +37 -47
  102. package/dist/esm/reducers/entries.js +107 -132
  103. package/dist/esm/reducers/entryDraft.js +64 -72
  104. package/dist/esm/reducers/globalUI.js +5 -11
  105. package/dist/esm/reducers/index.js +43 -64
  106. package/dist/esm/reducers/integrations.js +8 -16
  107. package/dist/esm/reducers/mediaLibrary.js +43 -52
  108. package/dist/esm/reducers/medias.js +11 -18
  109. package/dist/esm/reducers/notifications.js +9 -15
  110. package/dist/esm/reducers/search.js +12 -18
  111. package/dist/esm/reducers/status.js +7 -13
  112. package/dist/esm/redux/index.js +7 -13
  113. package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
  114. package/dist/esm/routing/history.js +7 -15
  115. package/dist/esm/types/diacritics.d.js +0 -1
  116. package/dist/esm/types/global.d.js +1 -5
  117. package/dist/esm/types/immutable.js +1 -5
  118. package/dist/esm/types/redux.js +7 -8
  119. package/dist/esm/types/tomlify-j0.4.d.js +0 -1
  120. package/dist/esm/valueObjects/AssetProxy.js +2 -10
  121. package/dist/esm/valueObjects/EditorComponent.js +5 -12
  122. package/dist/esm/valueObjects/Entry.js +3 -10
  123. package/package.json +3 -2
  124. package/src/components/Collection/Entries/EntriesCollection.js +7 -8
  125. package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
  126. package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
  127. package/src/components/Collection/NestedCollection.js +2 -2
  128. package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
  129. package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
  130. package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
  131. package/src/components/Editor/EditorControlPane/Widget.js +22 -1
  132. package/src/components/Editor/EditorInterface.js +6 -1
  133. package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
  134. package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
  135. package/dist/esm/actions/editorControl.js +0 -14
  136. package/dist/esm/reducers/editorComponent.js +0 -1
  137. package/dist/esm/reducers/editorControl.js +0 -17
@@ -1,31 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.ControlHint = void 0;
7
- var _base = _interopRequireDefault(require("@emotion/styled/base"));
8
- var _uniqueId2 = _interopRequireDefault(require("lodash/uniqueId"));
9
- var _partial2 = _interopRequireDefault(require("lodash/partial"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _redux = require("redux");
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
14
- var _reactPolyglot = require("react-polyglot");
15
- var _react2 = require("@emotion/react");
16
- var _reactRedux = require("react-redux");
17
- var _decapCmsUiDefault = require("decap-cms-ui-default");
18
- var _reactMarkdown = _interopRequireDefault(require("react-markdown"));
19
- var _remarkGfm = _interopRequireDefault(require("remark-gfm"));
20
- var _registry = require("../../../lib/registry");
21
- var _entries = require("../../../actions/entries");
22
- var _media = require("../../../actions/media");
23
- var _medias = require("../../../reducers/medias");
24
- var _search = require("../../../actions/search");
25
- var _mediaLibrary = require("../../../actions/mediaLibrary");
26
- var _Widget = _interopRequireDefault(require("./Widget"));
1
+ import _styled from "@emotion/styled/base";
2
+ import _uniqueId from "lodash/uniqueId";
3
+ import _partial from "lodash/partial";
27
4
  const _excluded = ["node"];
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
31
7
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -34,25 +10,45 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
34
10
  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; }
35
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
36
12
  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); }
37
- 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)."; } /**
13
+ 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)."; }
14
+ import React from 'react';
15
+ import { bindActionCreators } from 'redux';
16
+ import PropTypes from 'prop-types';
17
+ import ImmutablePropTypes from 'react-immutable-proptypes';
18
+ import { translate } from 'react-polyglot';
19
+ import { ClassNames, Global, css as coreCss } from '@emotion/react';
20
+ import { connect } from 'react-redux';
21
+ import { FieldLabel, colors, transitions, lengths, borders } from 'decap-cms-ui-default';
22
+ import ReactMarkdown from 'react-markdown';
23
+ import gfm from 'remark-gfm';
24
+ import { resolveWidget, getEditorComponents } from '../../../lib/registry';
25
+ import { clearFieldErrors, tryLoadEntry, validateMetaField } from '../../../actions/entries';
26
+ import { addAsset, boundGetAsset } from '../../../actions/media';
27
+ import { selectIsLoadingAsset } from '../../../reducers/medias';
28
+ import { query, clearSearch } from '../../../actions/search';
29
+ import { openMediaLibrary, removeInsertedMedia, clearMediaControl, removeMediaControl, persistMedia } from '../../../actions/mediaLibrary';
30
+ import Widget from './Widget';
31
+
32
+ /**
38
33
  * This is a necessary bridge as we are still passing classnames to widgets
39
34
  * for styling. Once that changes we can stop storing raw style strings like
40
35
  * this.
41
36
  */
37
+ import { jsx as ___EmotionJSX } from "@emotion/react";
42
38
  const styleStrings = {
43
39
  widget: `
44
40
  display: block;
45
41
  width: 100%;
46
- padding: ${_decapCmsUiDefault.lengths.inputPadding};
42
+ padding: ${lengths.inputPadding};
47
43
  margin: 0;
48
- border: ${_decapCmsUiDefault.borders.textField};
49
- border-radius: ${_decapCmsUiDefault.lengths.borderRadius};
44
+ border: ${borders.textField};
45
+ border-radius: ${lengths.borderRadius};
50
46
  border-top-left-radius: 0;
51
47
  outline: 0;
52
48
  box-shadow: none;
53
- background-color: ${_decapCmsUiDefault.colors.inputBackground};
49
+ background-color: ${colors.inputBackground};
54
50
  color: #444a57;
55
- transition: border-color ${_decapCmsUiDefault.transitions.main};
51
+ transition: border-color ${transitions.main};
56
52
  position: relative;
57
53
  font-size: 15px;
58
54
  line-height: 1.5;
@@ -63,10 +59,10 @@ const styleStrings = {
63
59
  }
64
60
  `,
65
61
  widgetActive: `
66
- border-color: ${_decapCmsUiDefault.colors.active};
62
+ border-color: ${colors.active};
67
63
  `,
68
64
  widgetError: `
69
- border-color: ${_decapCmsUiDefault.colors.errorText};
65
+ border-color: ${colors.errorText};
70
66
  `,
71
67
  disabled: `
72
68
  pointer-events: none;
@@ -76,7 +72,7 @@ const styleStrings = {
76
72
  visibility: hidden;
77
73
  `
78
74
  };
79
- const ControlContainer = /*#__PURE__*/(0, _base.default)("div", {
75
+ const ControlContainer = /*#__PURE__*/_styled("div", {
80
76
  target: "ec1nk3l3",
81
77
  label: "ControlContainer"
82
78
  })(process.env.NODE_ENV === "production" ? {
@@ -85,10 +81,10 @@ const ControlContainer = /*#__PURE__*/(0, _base.default)("div", {
85
81
  } : {
86
82
  name: "gpgisz",
87
83
  styles: "margin-top:16px;&:first-of-type{margin-top:36px;}",
88
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */",
84
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */",
89
85
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
90
86
  });
91
- const ControlTopbar = /*#__PURE__*/(0, _base.default)("div", {
87
+ const ControlTopbar = /*#__PURE__*/_styled("div", {
92
88
  target: "ec1nk3l2",
93
89
  label: "ControlTopbar"
94
90
  })(process.env.NODE_ENV === "production" ? {
@@ -97,17 +93,17 @@ const ControlTopbar = /*#__PURE__*/(0, _base.default)("div", {
97
93
  } : {
98
94
  name: "hvtmtt",
99
95
  styles: "display:flex;justify-content:space-between;gap:20px;align-items:end",
100
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThFZ0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */",
96
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThFZ0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */",
101
97
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
102
98
  });
103
- const ControlErrorsList = /*#__PURE__*/(0, _base.default)("ul", {
99
+ const ControlErrorsList = /*#__PURE__*/_styled("ul", {
104
100
  target: "ec1nk3l1",
105
101
  label: "ControlErrorsList"
106
- })("list-style-type:none;font-size:12px;color:", _decapCmsUiDefault.colors.errorText, ";text-align:right;text-transform:uppercase;font-weight:600;margin:0;padding:2px 0 3px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */"));
107
- const ControlHint = exports.ControlHint = /*#__PURE__*/(0, _base.default)("p", {
102
+ })("list-style-type:none;font-size:12px;color:", colors.errorText, ";text-align:right;text-transform:uppercase;font-weight:600;margin:0;padding:2px 0 3px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */"));
103
+ export const ControlHint = /*#__PURE__*/_styled("p", {
108
104
  target: "ec1nk3l0",
109
105
  label: "ControlHint"
110
- })("margin-bottom:0;padding:6px 0 0;font-size:12px;color:", props => props.error ? _decapCmsUiDefault.colors.errorText : props.active ? _decapCmsUiDefault.colors.active : _decapCmsUiDefault.colors.controlLabel, ";transition:color ", _decapCmsUiDefault.transitions.main, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStGbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */"));
106
+ })("margin-bottom:0;padding:6px 0 0;font-size:12px;color:", props => props.error ? colors.errorText : props.active ? colors.active : colors.controlLabel, ";transition:color ", transitions.main, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStGbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */"));
111
107
  function LabelComponent({
112
108
  field,
113
109
  isActive,
@@ -117,20 +113,20 @@ function LabelComponent({
117
113
  t
118
114
  }) {
119
115
  const label = `${field.get('label', field.get('name'))}`;
120
- const labelComponent = (0, _react2.jsx)(_decapCmsUiDefault.FieldLabel, {
116
+ const labelComponent = ___EmotionJSX(FieldLabel, {
121
117
  isActive: isActive,
122
118
  hasErrors: hasErrors,
123
119
  htmlFor: uniqueFieldId
124
- }, isFieldOptional ? (0, _react2.jsx)(_react.default.Fragment, null, label, (0, _react2.jsx)("span", null, ` (${t('editor.editorControl.field.optional')})`)) : label);
120
+ }, isFieldOptional ? ___EmotionJSX(React.Fragment, null, label, ___EmotionJSX("span", null, ` (${t('editor.editorControl.field.optional')})`)) : label);
125
121
  return labelComponent;
126
122
  }
127
- class EditorControl extends _react.default.Component {
123
+ class EditorControl extends React.Component {
128
124
  constructor(...args) {
129
125
  super(...args);
130
126
  _defineProperty(this, "state", {
131
127
  activeLabel: false
132
128
  });
133
- _defineProperty(this, "uniqueFieldId", (0, _uniqueId2.default)(`${this.props.field.get('name')}-field-`));
129
+ _defineProperty(this, "uniqueFieldId", _uniqueId(`${this.props.field.get('name')}-field-`));
134
130
  _defineProperty(this, "isAncestorOfFieldError", () => {
135
131
  const {
136
132
  fieldsErrors
@@ -160,7 +156,6 @@ class EditorControl extends _react.default.Component {
160
156
  removeInsertedMedia,
161
157
  persistMedia,
162
158
  onValidate,
163
- processControlRef,
164
159
  controlRef,
165
160
  query,
166
161
  queryHits,
@@ -184,7 +179,7 @@ class EditorControl extends _react.default.Component {
184
179
  isParentListCollapsed
185
180
  } = this.props;
186
181
  const widgetName = field.get('widget');
187
- const widget = (0, _registry.resolveWidget)(widgetName);
182
+ const widget = resolveWidget(widgetName);
188
183
  const fieldName = field.get('name');
189
184
  const fieldHint = field.get('hint');
190
185
  const isFieldOptional = field.get('required') === false;
@@ -193,26 +188,26 @@ class EditorControl extends _react.default.Component {
193
188
  const errors = fieldsErrors && fieldsErrors.get(this.uniqueFieldId);
194
189
  const childErrors = this.isAncestorOfFieldError();
195
190
  const hasErrors = !!errors || childErrors;
196
- return (0, _react2.jsx)(_react2.ClassNames, null, ({
191
+ return ___EmotionJSX(ClassNames, null, ({
197
192
  css,
198
193
  cx
199
- }) => (0, _react2.jsx)(ControlContainer, {
194
+ }) => ___EmotionJSX(ControlContainer, {
200
195
  className: className,
201
196
  css: css`
202
197
  ${isHidden && styleStrings.hidden};
203
198
  `
204
- }, (0, _react2.jsx)(ControlTopbar, null, widget.globalStyles && (0, _react2.jsx)(_react2.Global, {
205
- styles: /*#__PURE__*/(0, _react2.css)(widget.globalStyles, ";;label:EditorControl;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdQNkQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */"))
206
- }), (0, _react2.jsx)(LabelComponent, {
199
+ }, ___EmotionJSX(ControlTopbar, null, widget.globalStyles && ___EmotionJSX(Global, {
200
+ styles: /*#__PURE__*/coreCss(widget.globalStyles, ";;label:EditorControl;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNQNkQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */"))
201
+ }), ___EmotionJSX(LabelComponent, {
207
202
  field: field,
208
203
  isActive: isSelected || this.state.styleActive,
209
204
  hasErrors: hasErrors,
210
205
  uniqueFieldId: this.uniqueFieldId,
211
206
  isFieldOptional: isFieldOptional,
212
207
  t: t
213
- }), errors && (0, _react2.jsx)(ControlErrorsList, null, errors.map(error => error.message && typeof error.message === 'string' && (0, _react2.jsx)("li", {
208
+ }), errors && ___EmotionJSX(ControlErrorsList, null, errors.map(error => error.message && typeof error.message === 'string' && ___EmotionJSX("li", {
214
209
  key: error.message.trim().replace(/[^a-z0-9]+/gi, '-')
215
- }, error.message)))), (0, _react2.jsx)(_Widget.default, {
210
+ }, error.message)))), ___EmotionJSX(Widget, {
216
211
  classNameWrapper: cx(css`
217
212
  ${styleStrings.widget};
218
213
  `, {
@@ -253,7 +248,7 @@ class EditorControl extends _react.default.Component {
253
248
  onChange(field, newValue, newMetadata);
254
249
  clearFieldErrors(this.uniqueFieldId); // Видаляємо помилки лише для цього поля
255
250
  },
256
- onValidate: onValidate && (0, _partial2.default)(onValidate, this.uniqueFieldId),
251
+ onValidate: onValidate && _partial(onValidate, this.uniqueFieldId),
257
252
  onOpenMediaLibrary: openMediaLibrary,
258
253
  onClearMediaControl: clearMediaControl,
259
254
  onRemoveMediaControl: removeMediaControl,
@@ -268,10 +263,9 @@ class EditorControl extends _react.default.Component {
268
263
  setInactiveStyle: () => this.setState({
269
264
  styleActive: false
270
265
  }),
271
- resolveWidget: _registry.resolveWidget,
266
+ resolveWidget: resolveWidget,
272
267
  widget: widget,
273
- getEditorComponents: _registry.getEditorComponents,
274
- ref: processControlRef && (0, _partial2.default)(processControlRef, field),
268
+ getEditorComponents: getEditorComponents,
275
269
  controlRef: controlRef,
276
270
  editorControl: ConnectedEditorControl,
277
271
  query: query,
@@ -293,11 +287,11 @@ class EditorControl extends _react.default.Component {
293
287
  isLoadingAsset: isLoadingAsset,
294
288
  locale: locale,
295
289
  isParentListCollapsed: isParentListCollapsed
296
- }), fieldHint && (0, _react2.jsx)(ControlHint, {
290
+ }), fieldHint && ___EmotionJSX(ControlHint, {
297
291
  active: isSelected || this.state.styleActive,
298
292
  error: hasErrors
299
- }, (0, _react2.jsx)(_reactMarkdown.default, {
300
- remarkPlugins: [_remarkGfm.default],
293
+ }, ___EmotionJSX(ReactMarkdown, {
294
+ remarkPlugins: [gfm],
301
295
  allowedElements: ['a', 'strong', 'em', 'del'],
302
296
  unwrapDisallowed: true,
303
297
  components: {
@@ -307,7 +301,7 @@ class EditorControl extends _react.default.Component {
307
301
  node
308
302
  } = _ref,
309
303
  props = _objectWithoutProperties(_ref, _excluded);
310
- return (0, _react2.jsx)("a", _extends({}, props, {
304
+ return ___EmotionJSX("a", _extends({}, props, {
311
305
  target: "_blank",
312
306
  rel: "noopener noreferrer",
313
307
  style: {
@@ -320,38 +314,37 @@ class EditorControl extends _react.default.Component {
320
314
  }
321
315
  }
322
316
  _defineProperty(EditorControl, "propTypes", {
323
- value: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.object, _propTypes.default.string, _propTypes.default.bool]),
324
- field: _reactImmutableProptypes.default.map.isRequired,
325
- fieldsMetaData: _reactImmutableProptypes.default.map,
326
- fieldsErrors: _reactImmutableProptypes.default.map,
327
- mediaPaths: _reactImmutableProptypes.default.map.isRequired,
328
- boundGetAsset: _propTypes.default.func.isRequired,
329
- onChange: _propTypes.default.func.isRequired,
330
- openMediaLibrary: _propTypes.default.func.isRequired,
331
- addAsset: _propTypes.default.func.isRequired,
332
- removeInsertedMedia: _propTypes.default.func.isRequired,
333
- persistMedia: _propTypes.default.func.isRequired,
334
- onValidate: _propTypes.default.func,
335
- processControlRef: _propTypes.default.func,
336
- controlRef: _propTypes.default.func,
337
- query: _propTypes.default.func.isRequired,
338
- queryHits: _propTypes.default.object,
339
- isFetching: _propTypes.default.bool,
340
- clearSearch: _propTypes.default.func.isRequired,
341
- clearFieldErrors: _propTypes.default.func.isRequired,
342
- loadEntry: _propTypes.default.func.isRequired,
343
- t: _propTypes.default.func.isRequired,
344
- isEditorComponent: _propTypes.default.bool,
345
- isNewEditorComponent: _propTypes.default.bool,
346
- parentIds: _propTypes.default.arrayOf(_propTypes.default.string),
347
- entry: _reactImmutableProptypes.default.map.isRequired,
348
- collection: _reactImmutableProptypes.default.map.isRequired,
349
- isDisabled: _propTypes.default.bool,
350
- isHidden: _propTypes.default.bool,
351
- isFieldDuplicate: _propTypes.default.func,
352
- isFieldHidden: _propTypes.default.func,
353
- locale: _propTypes.default.string,
354
- isParentListCollapsed: _propTypes.default.bool
317
+ value: PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.string, PropTypes.bool]),
318
+ field: ImmutablePropTypes.map.isRequired,
319
+ fieldsMetaData: ImmutablePropTypes.map,
320
+ fieldsErrors: ImmutablePropTypes.map,
321
+ mediaPaths: ImmutablePropTypes.map.isRequired,
322
+ boundGetAsset: PropTypes.func.isRequired,
323
+ onChange: PropTypes.func.isRequired,
324
+ openMediaLibrary: PropTypes.func.isRequired,
325
+ addAsset: PropTypes.func.isRequired,
326
+ removeInsertedMedia: PropTypes.func.isRequired,
327
+ persistMedia: PropTypes.func.isRequired,
328
+ onValidate: PropTypes.func,
329
+ controlRef: PropTypes.func,
330
+ query: PropTypes.func.isRequired,
331
+ queryHits: PropTypes.object,
332
+ isFetching: PropTypes.bool,
333
+ clearSearch: PropTypes.func.isRequired,
334
+ clearFieldErrors: PropTypes.func.isRequired,
335
+ loadEntry: PropTypes.func.isRequired,
336
+ t: PropTypes.func.isRequired,
337
+ isEditorComponent: PropTypes.bool,
338
+ isNewEditorComponent: PropTypes.bool,
339
+ parentIds: PropTypes.arrayOf(PropTypes.string),
340
+ entry: ImmutablePropTypes.map.isRequired,
341
+ collection: ImmutablePropTypes.map.isRequired,
342
+ isDisabled: PropTypes.bool,
343
+ isHidden: PropTypes.bool,
344
+ isFieldDuplicate: PropTypes.func,
345
+ isFieldHidden: PropTypes.func,
346
+ locale: PropTypes.string,
347
+ isParentListCollapsed: PropTypes.bool
355
348
  });
356
349
  _defineProperty(EditorControl, "defaultProps", {
357
350
  parentIds: []
@@ -363,11 +356,11 @@ function mapStateToProps(state) {
363
356
  } = state;
364
357
  const entry = entryDraft.get('entry');
365
358
  const collection = collections.get(entryDraft.getIn(['entry', 'collection']));
366
- const isLoadingAsset = (0, _medias.selectIsLoadingAsset)(state.medias);
359
+ const isLoadingAsset = selectIsLoadingAsset(state.medias);
367
360
  async function loadEntry(collectionName, slug) {
368
361
  const targetCollection = collections.get(collectionName);
369
362
  if (targetCollection) {
370
- const loadedEntry = await (0, _entries.tryLoadEntry)(state, targetCollection, slug);
363
+ const loadedEntry = await tryLoadEntry(state, targetCollection, slug);
371
364
  return loadedEntry;
372
365
  } else {
373
366
  throw new Error(`Can't find collection '${collectionName}'`);
@@ -382,23 +375,23 @@ function mapStateToProps(state) {
382
375
  collection,
383
376
  isLoadingAsset,
384
377
  loadEntry,
385
- validateMetaField: (field, value, t) => (0, _entries.validateMetaField)(state, collection, field, value, t)
378
+ validateMetaField: (field, value, t) => validateMetaField(state, collection, field, value, t)
386
379
  };
387
380
  }
388
381
  function mapDispatchToProps(dispatch) {
389
- const creators = (0, _redux.bindActionCreators)({
390
- openMediaLibrary: _mediaLibrary.openMediaLibrary,
391
- clearMediaControl: _mediaLibrary.clearMediaControl,
392
- removeMediaControl: _mediaLibrary.removeMediaControl,
393
- removeInsertedMedia: _mediaLibrary.removeInsertedMedia,
394
- persistMedia: _mediaLibrary.persistMedia,
395
- addAsset: _media.addAsset,
396
- query: _search.query,
397
- clearSearch: _search.clearSearch,
398
- clearFieldErrors: _entries.clearFieldErrors
382
+ const creators = bindActionCreators({
383
+ openMediaLibrary,
384
+ clearMediaControl,
385
+ removeMediaControl,
386
+ removeInsertedMedia,
387
+ persistMedia,
388
+ addAsset,
389
+ query,
390
+ clearSearch,
391
+ clearFieldErrors
399
392
  }, dispatch);
400
393
  return _objectSpread(_objectSpread({}, creators), {}, {
401
- boundGetAsset: (collection, entry) => (0, _media.boundGetAsset)(dispatch, collection, entry)
394
+ boundGetAsset: (collection, entry) => boundGetAsset(dispatch, collection, entry)
402
395
  });
403
396
  }
404
397
  function mergeProps(stateProps, dispatchProps, ownProps) {
@@ -406,5 +399,5 @@ function mergeProps(stateProps, dispatchProps, ownProps) {
406
399
  boundGetAsset: dispatchProps.boundGetAsset(stateProps.collection, stateProps.entry)
407
400
  });
408
401
  }
409
- const ConnectedEditorControl = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps, mergeProps)((0, _reactPolyglot.translate)()(EditorControl));
410
- var _default = exports.default = ConnectedEditorControl;
402
+ const ConnectedEditorControl = connect(mapStateToProps, mapDispatchToProps, mergeProps)(translate()(EditorControl));
403
+ export default ConnectedEditorControl;