@kepler.gl/components 3.2.0 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/color-legend.js +8 -8
- package/dist/common/data-table/index.js +13 -9
- package/dist/map/map-legend-panel.js +10 -4
- package/dist/map/map-legend.js +2 -2
- package/dist/plot-container.js +4 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +2 -2
- package/dist/side-panel/layer-panel/color-breaks-panel.js +11 -2
- package/dist/side-panel/layer-panel/color-scale-selector.js +65 -12
- package/dist/side-panel/layer-panel/custom-palette.js +18 -7
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +3 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +18 -4
- package/package.json +15 -15
|
@@ -26,7 +26,7 @@ var _mapControlPanel = _interopRequireDefault(require("./map-control-panel"));
|
|
|
26
26
|
var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
|
|
27
27
|
var _mapLegend = _interopRequireDefault(require("./map-legend"));
|
|
28
28
|
var _modifiers = require("@dnd-kit/modifiers");
|
|
29
|
-
var _templateObject, _templateObject2, _templateObject3; // SPDX-License-Identifier: MIT
|
|
29
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4; // SPDX-License-Identifier: MIT
|
|
30
30
|
// Copyright contributors to the kepler.gl project
|
|
31
31
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
32
32
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -43,6 +43,9 @@ var StyledMoveHandle = _styledComponents["default"].div(_templateObject2 || (_te
|
|
|
43
43
|
return props.theme.activeColor;
|
|
44
44
|
});
|
|
45
45
|
var StyledResizeHandle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n color: #f7f8fa;\n z-index: 2;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 16px;\n border-radius: 4px;\n cursor: ns-resize;\n"])));
|
|
46
|
+
var StyledFixedLegendContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n .map-control__panel-content {\n max-height: calc(100vh - 100px);\n ", ";\n }\n\n /* Hide scrollbars in export to avoid OS default styling differences */\n .styled-color-legend {\n -ms-overflow-style: none; /* IE and old Edge */\n scrollbar-width: none; /* Firefox */\n }\n .styled-color-legend::-webkit-scrollbar {\n width: 0 !important; /* Chrome, Safari, new Edge */\n height: 0 !important;\n }\n"])), function (props) {
|
|
47
|
+
return props.contentHeight ? "height: ".concat(props.contentHeight, "px;") : '';
|
|
48
|
+
});
|
|
46
49
|
var DraggableLegendContent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
47
50
|
var positionStyles = props.positionStyles,
|
|
48
51
|
children = props.children;
|
|
@@ -145,7 +148,8 @@ var ImageExportLegend = (0, _styledComponents.withTheme)(function (_ref2) {
|
|
|
145
148
|
// do nothing by default
|
|
146
149
|
}
|
|
147
150
|
}),
|
|
148
|
-
positionStyles = _useLegendPosition2.positionStyles
|
|
151
|
+
positionStyles = _useLegendPosition2.positionStyles,
|
|
152
|
+
contentHeight = _useLegendPosition2.contentHeight;
|
|
149
153
|
var portalRoot = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 || (_containerRef$current = _containerRef$current.closest('.export-map-instance')) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.querySelector('#default-deckgl-overlay-wrapper');
|
|
150
154
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
155
|
ref: containerRef
|
|
@@ -155,7 +159,9 @@ var ImageExportLegend = (0, _styledComponents.withTheme)(function (_ref2) {
|
|
|
155
159
|
style: _objectSpread(_objectSpread({}, positionStyles), {}, {
|
|
156
160
|
position: 'absolute'
|
|
157
161
|
})
|
|
158
|
-
},
|
|
162
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledFixedLegendContent, {
|
|
163
|
+
contentHeight: contentHeight
|
|
164
|
+
}, children)), portalRoot) : null);
|
|
159
165
|
});
|
|
160
166
|
MapLegendPanelFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"], _mapLegend["default"]];
|
|
161
167
|
var defaultActionIcons = {
|
|
@@ -255,4 +261,4 @@ function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
|
|
|
255
261
|
};
|
|
256
262
|
}
|
|
257
263
|
var _default = exports["default"] = MapLegendPanelFactory;
|
|
258
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0RG9tIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb3JlIiwiX3V0aWxpdGllcyIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX3V0aWxzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2NvbnRleHQiLCJfdXNlTGVnZW5kUG9zaXRpb24zIiwiX21hcENvbnRyb2xQYW5lbCIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBMZWdlbmQiLCJfbW9kaWZpZXJzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJEUkFHX1JFU0laRV9JRCIsIkRSQUdfTU9WRV9JRCIsIlN0eWxlZERyYWdnYWJsZUxlZ2VuZENvbnRlbnQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJhY3RpdmVDb2xvciIsImNvbnRlbnRIZWlnaHQiLCJjb25jYXQiLCJTdHlsZWRNb3ZlSGFuZGxlIiwiU3R5bGVkUmVzaXplSGFuZGxlIiwiRHJhZ2dhYmxlTGVnZW5kQ29udGVudCIsImZvcndhcmRSZWYiLCJyZWYiLCJwb3NpdGlvblN0eWxlcyIsImNoaWxkcmVuIiwiZHJhZ2dhYmxlTW92ZSIsInVzZURyYWdnYWJsZSIsImlkIiwiZHJhZ2dhYmxlUmVzaXplIiwicmVmcyIsInVzZU1lcmdlUmVmcyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJzdHlsZSIsInRyYW5zZm9ybSIsIkNTUyIsIlRyYW5zbGF0ZSIsInRvU3RyaW5nIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsIkRyYWdnYWJsZURvdHMiLCJoZWlnaHQiLCJIb3Jpem9udGFsUmVzaXplSGFuZGxlIiwiRHJhZ2dhYmxlTGVnZW5kIiwid2l0aFRoZW1lIiwiX3JlZiIsIl9tYXBDb250cm9scyRtYXBMZWdlbiIsImlzU2lkZVBhbmVsU2hvd24iLCJtYXBDb250cm9scyIsInNldE1hcENvbnRyb2xTZXR0aW5ncyIsInNldHRpbmdzIiwibWFwTGVnZW5kIiwibGVnZW5kQ29udGVudFJlZiIsInVzZVJlZiIsIm9uQ2hhbmdlU2V0dGluZ3MiLCJ1c2VDYWxsYmFjayIsIm5ld1NldHRpbmdzIiwiX3VzZUxlZ2VuZFBvc2l0aW9uIiwidXNlTGVnZW5kUG9zaXRpb24iLCJ1cGRhdGVQb3NpdGlvbiIsInN0YXJ0UmVzaXplIiwicmVzaXplIiwiaGFuZGxlRHJhZ1N0YXJ0IiwiZXZlbnQiLCJhY3RpdmUiLCJoYW5kbGVEcmFnRW5kIiwiaGFuZGxlRHJhZ01vdmUiLCJkZWx0YSIsInkiLCJEbmRDb250ZXh0Iiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwibW9kaWZpZXJzIiwicmVzdHJpY3RUb1dpbmRvd0VkZ2VzIiwiSW1hZ2VFeHBvcnRMZWdlbmQiLCJfcmVmMiIsIl9jb250YWluZXJSZWYkY3VycmVudCIsImNvbnRhaW5lclJlZiIsIl91c2VMZWdlbmRQb3NpdGlvbjIiLCJwb3J0YWxSb290IiwiY3VycmVudCIsImNsb3Nlc3QiLCJxdWVyeVNlbGVjdG9yIiwiY3JlYXRlUG9ydGFsIiwicG9zaXRpb24iLCJNYXBMZWdlbmRQYW5lbEZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5IiwiTWFwQ29udHJvbFBhbmVsRmFjdG9yeSIsIk1hcExlZ2VuZEZhY3RvcnkiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJsZWdlbmQiLCJMZWdlbmQiLCJNYXBMZWdlbmRQYW5lbENvbXBvbmVudCIsIl9yZWYzIiwiX21hcENvbnRyb2xzJG1hcExlZ2VuMiIsIl9yb290Q29udGV4dCRjdXJyZW50IiwibGF5ZXJzIiwic2NhbGUiLCJvblRvZ2dsZU1hcENvbnRyb2wiLCJpc0V4cG9ydCIsImxvZ29Db21wb25lbnQiLCJfcmVmMyRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwibWFwU3RhdGUiLCJvbkxheWVyVmlzQ29uZmlnQ2hhbmdlIiwib25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0Iiwib25DbGlja0NvbnRyb2xCdG4iLCJhY3RpdmVTaWRlUGFuZWwiLCJfcmVmMyRpc1ZpZXdwb3J0VW5zeW4iLCJpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCIsIk1hcENvbnRyb2xUb29sdGlwIiwiTWFwQ29udHJvbFBhbmVsIiwiTWFwTGVnZW5kIiwiQm9vbGVhbiIsIl9yZWY0IiwiZGlzYWJsZUVkaXQiLCJyb290Q29udGV4dCIsInVzZUNvbnRleHQiLCJSb290Q29udGV4dCIsIm9uQ2xpY2siLCJfbWFwQ29udHJvbHMkbWFwRHJhdyIsIm1hcERyYXciLCJvbkNsb3NlQ2xpY2siLCJwcmV2ZW50RGVmYXVsdCIsInNob3ciLCJsZWdlbmRQYW5lbCIsImhlYWRlciIsInBpbm5hYmxlIiwiZGlzYWJsZUNsb3NlIiwiRnJhZ21lbnQiLCJoYXNQb3J0YWJsZVdpZHRoIiwiYnJlYWtQb2ludFZhbHVlcyIsImRvY3VtZW50IiwiYm9keSIsIm1lc3NhZ2UiLCJNYXBDb250cm9sQnV0dG9uIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtbGVnZW5kLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Y3JlYXRlUG9ydGFsfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENvbXBvbmVudFR5cGUsXG4gIEZDLFxuICBmb3J3YXJkUmVmLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlUmVmLFxuICBQcm9wc1dpdGhDaGlsZHJlblxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7d2l0aFRoZW1lfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7RG5kQ29udGV4dCwgdXNlRHJhZ2dhYmxlfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHt1c2VNZXJnZVJlZnN9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5cbmltcG9ydCB7QWN0aW9uSGFuZGxlciwgc2V0TWFwQ29udHJvbFNldHRpbmdzLCB0b2dnbGVTcGxpdE1hcFZpZXdwb3J0fSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHticmVha1BvaW50VmFsdWVzfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0xheWVyVmlzQ29uZmlnLCBNYXBDb250cm9sTWFwTGVnZW5kLCBNYXBDb250cm9scywgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtoYXNQb3J0YWJsZVdpZHRofSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7TWFwTGVnZW5kQ29udHJvbFNldHRpbmdzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHtMZWdlbmQsIERyYWdnYWJsZURvdHMsIEhvcml6b250YWxSZXNpemVIYW5kbGV9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1Jvb3RDb250ZXh0fSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB1c2VMZWdlbmRQb3NpdGlvbiBmcm9tICcuLi9ob29rcy91c2UtbGVnZW5kLXBvc2l0aW9uJztcbmltcG9ydCBNYXBDb250cm9sUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtcGFuZWwnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcExlZ2VuZEZhY3RvcnkgZnJvbSAnLi9tYXAtbGVnZW5kJztcbmltcG9ydCB7cmVzdHJpY3RUb1dpbmRvd0VkZ2VzfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBEUkFHX1JFU0laRV9JRCA9ICdtYXAtbGVnZW5kLXJlc2l6ZSc7XG5jb25zdCBEUkFHX01PVkVfSUQgPSAnbWFwLWxlZ2VuZC1tb3ZlJztcblxuY29uc3QgU3R5bGVkRHJhZ2dhYmxlTGVnZW5kQ29udGVudCA9IHN0eWxlZC5kaXY8e2NvbnRlbnRIZWlnaHQ/OiBudW1iZXJ9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIC5sZWdlbmQtaW5wdXQtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5pcy1kcmFnZ2luZyAubGVnZW5kLWlucHV0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIC5sZWdlbmQtbW92ZS1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICAubGVnZW5kLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuICB9XG4gIC5tYXAtY29udHJvbF9fcGFuZWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwMHB4KTtcbiAgICAke3Byb3BzID0+IChwcm9wcy5jb250ZW50SGVpZ2h0ID8gYGhlaWdodDogJHtwcm9wcy5jb250ZW50SGVpZ2h0fXB4O2AgOiAnJyl9O1xuICB9XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgei1pbmRleDogMjtcbiAgLm1hcC1jb250cm9sLXBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZE1vdmVIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogbW92ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5hY3RpdmVDb2xvcn07XG5gO1xuXG5jb25zdCBTdHlsZWRSZXNpemVIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZjdmOGZhO1xuICB6LWluZGV4OiAyO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG5gO1xuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQYW5lbEZhY3RvcnlEZXBzID0gW1xuICB0eXBlb2YgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LFxuICB0eXBlb2YgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSxcbiAgdHlwZW9mIE1hcExlZ2VuZEZhY3Rvcnlcbl07XG5cbnR5cGUgRHJhZ2dhYmxlTGVnZW5kQ29udGVudFByb3BzID0ge1xuICBjb250ZW50SGVpZ2h0PzogbnVtYmVyO1xuICBwb3NpdGlvblN0eWxlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBEcmFnZ2FibGVMZWdlbmRDb250ZW50ID0gZm9yd2FyZFJlZigocHJvcHM6IERyYWdnYWJsZUxlZ2VuZENvbnRlbnRQcm9wcywgcmVmKSA9PiB7XG4gIGNvbnN0IHtwb3NpdGlvblN0eWxlcywgY2hpbGRyZW59ID0gcHJvcHM7XG4gIGNvbnN0IGRyYWdnYWJsZU1vdmUgPSB1c2VEcmFnZ2FibGUoe2lkOiBEUkFHX01PVkVfSUR9KTtcbiAgY29uc3QgZHJhZ2dhYmxlUmVzaXplID0gdXNlRHJhZ2dhYmxlKHtpZDogRFJBR19SRVNJWkVfSUR9KTtcbiAgY29uc3QgcmVmcyA9IHVzZU1lcmdlUmVmcyhbZHJhZ2dhYmxlTW92ZS5zZXROb2RlUmVmLCByZWZdKTtcbiAgY29uc3QgaXNEcmFnZ2luZyA9IGRyYWdnYWJsZU1vdmUuaXNEcmFnZ2luZyB8fCBkcmFnZ2FibGVSZXNpemUuaXNEcmFnZ2luZztcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRHJhZ2dhYmxlTGVnZW5kQ29udGVudFxuICAgICAgcmVmPXtyZWZzfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdkcmFnZ2FibGUtbGVnZW5kJywgeydpcy1kcmFnZ2luZyc6IGlzRHJhZ2dpbmd9KX1cbiAgICAgIHN0eWxlPXt7Li4ucG9zaXRpb25TdHlsZXMsIHRyYW5zZm9ybTogQ1NTLlRyYW5zbGF0ZS50b1N0cmluZyhkcmFnZ2FibGVNb3ZlLnRyYW5zZm9ybSl9fVxuICAgICAgY29udGVudEhlaWdodD17cHJvcHMuY29udGVudEhlaWdodH1cbiAgICAgIHsuLi5kcmFnZ2FibGVNb3ZlLmF0dHJpYnV0ZXN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgICAge2lzRHJhZ2dpbmcgPyA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC1pbnB1dC1ibG9ja1wiIC8+IDogbnVsbH1cbiAgICAgIDxTdHlsZWRNb3ZlSGFuZGxlIGNsYXNzTmFtZT1cImxlZ2VuZC1tb3ZlLWhhbmRsZVwiIHsuLi5kcmFnZ2FibGVNb3ZlLmxpc3RlbmVyc30+XG4gICAgICAgIDxEcmFnZ2FibGVEb3RzIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgPC9TdHlsZWRNb3ZlSGFuZGxlPlxuICAgICAgPFN0eWxlZFJlc2l6ZUhhbmRsZVxuICAgICAgICBjbGFzc05hbWU9XCJsZWdlbmQtcmVzaXplLWhhbmRsZVwiXG4gICAgICAgIHJlZj17ZHJhZ2dhYmxlUmVzaXplLnNldE5vZGVSZWZ9XG4gICAgICAgIHsuLi5kcmFnZ2FibGVSZXNpemUubGlzdGVuZXJzfVxuICAgICAgPlxuICAgICAgICA8SG9yaXpvbnRhbFJlc2l6ZUhhbmRsZSBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICAgIDwvU3R5bGVkUmVzaXplSGFuZGxlPlxuICAgIDwvU3R5bGVkRHJhZ2dhYmxlTGVnZW5kQ29udGVudD5cbiAgKTtcbn0pO1xuXG50eXBlIERyYWdnYWJsZUxlZ2VuZFByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e1xuICBpc1NpZGVQYW5lbFNob3duOiBib29sZWFuO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogdHlwZW9mIHNldE1hcENvbnRyb2xTZXR0aW5ncztcbn0+O1xuXG5jb25zdCBEcmFnZ2FibGVMZWdlbmQgPSB3aXRoVGhlbWUoXG4gICh7XG4gICAgaXNTaWRlUGFuZWxTaG93bixcbiAgICBjaGlsZHJlbixcbiAgICBtYXBDb250cm9scyxcbiAgICBzZXRNYXBDb250cm9sU2V0dGluZ3MsXG4gICAgdGhlbWVcbiAgfTogRHJhZ2dhYmxlTGVnZW5kUHJvcHMgJiB7dGhlbWU6IGFueX0pID0+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNldHRpbmdzO1xuXG4gICAgY29uc3QgbGVnZW5kQ29udGVudFJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3Qgb25DaGFuZ2VTZXR0aW5ncyA9IHVzZUNhbGxiYWNrKFxuICAgICAgbmV3U2V0dGluZ3MgPT4gc2V0TWFwQ29udHJvbFNldHRpbmdzKCdtYXBMZWdlbmQnLCBuZXdTZXR0aW5ncyksXG4gICAgICBbc2V0TWFwQ29udHJvbFNldHRpbmdzXVxuICAgICk7XG4gICAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzLCB1cGRhdGVQb3NpdGlvbiwgc3RhcnRSZXNpemUsIHJlc2l6ZSwgY29udGVudEhlaWdodH0gPSB1c2VMZWdlbmRQb3NpdGlvbih7XG4gICAgICBsZWdlbmRDb250ZW50UmVmLFxuICAgICAgaXNTaWRlUGFuZWxTaG93bixcbiAgICAgIHRoZW1lLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBvbkNoYW5nZVNldHRpbmdzXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC5hY3RpdmUuaWQpIHtcbiAgICAgICAgICBjYXNlIERSQUdfUkVTSVpFX0lEOlxuICAgICAgICAgICAgc3RhcnRSZXNpemUoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB1cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW3VwZGF0ZVBvc2l0aW9uLCBzdGFydFJlc2l6ZV1cbiAgICApO1xuICAgIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayh1cGRhdGVQb3NpdGlvbiwgW3VwZGF0ZVBvc2l0aW9uXSk7XG4gICAgY29uc3QgaGFuZGxlRHJhZ01vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC5hY3RpdmUuaWQpIHtcbiAgICAgICAgICBjYXNlIERSQUdfUkVTSVpFX0lEOlxuICAgICAgICAgICAgcmVzaXplKGV2ZW50LmRlbHRhLnkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbcmVzaXplXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgb25EcmFnU3RhcnQ9e2hhbmRsZURyYWdTdGFydH1cbiAgICAgICAgb25EcmFnTW92ZT17aGFuZGxlRHJhZ01vdmV9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlRHJhZ0VuZH1cbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1dpbmRvd0VkZ2VzXX1cbiAgICAgID5cbiAgICAgICAgPERyYWdnYWJsZUxlZ2VuZENvbnRlbnRcbiAgICAgICAgICByZWY9e2xlZ2VuZENvbnRlbnRSZWZ9XG4gICAgICAgICAgcG9zaXRpb25TdHlsZXM9e3Bvc2l0aW9uU3R5bGVzfVxuICAgICAgICAgIGNvbnRlbnRIZWlnaHQ9e2NvbnRlbnRIZWlnaHR9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvRHJhZ2dhYmxlTGVnZW5kQ29udGVudD5cbiAgICAgIDwvRG5kQ29udGV4dD5cbiAgICApO1xuICB9XG4pIGFzIEZDPERyYWdnYWJsZUxlZ2VuZFByb3BzPjtcblxudHlwZSBJbWFnZUV4cG9ydExlZ2VuZFByb3BzID0ge1xuICBzZXR0aW5ncz86IE1hcExlZ2VuZENvbnRyb2xTZXR0aW5ncztcbiAgaXNTaWRlUGFuZWxTaG93bjogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmNvbnN0IEltYWdlRXhwb3J0TGVnZW5kID0gd2l0aFRoZW1lKCh7c2V0dGluZ3MsIGlzU2lkZVBhbmVsU2hvd24sIHRoZW1lLCBjaGlsZHJlbn0pID0+IHtcbiAgY29uc3QgY29udGFpbmVyUmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD4gPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGxlZ2VuZENvbnRlbnRSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPiA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCB7cG9zaXRpb25TdHlsZXN9ID0gdXNlTGVnZW5kUG9zaXRpb24oe1xuICAgIGxlZ2VuZENvbnRlbnRSZWYsXG4gICAgaXNTaWRlUGFuZWxTaG93bixcbiAgICB0aGVtZSxcbiAgICBzZXR0aW5ncyxcbiAgICBvbkNoYW5nZVNldHRpbmdzOiAoKSA9PiB7XG4gICAgICAvLyBkbyBub3RoaW5nIGJ5IGRlZmF1bHRcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHBvcnRhbFJvb3QgPSBjb250YWluZXJSZWYuY3VycmVudFxuICAgID8uY2xvc2VzdCgnLmV4cG9ydC1tYXAtaW5zdGFuY2UnKVxuICAgID8ucXVlcnlTZWxlY3RvcignI2RlZmF1bHQtZGVja2dsLW92ZXJsYXktd3JhcHBlcicpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e2NvbnRhaW5lclJlZn0+XG4gICAgICB7cG9ydGFsUm9vdFxuICAgICAgICA/IGNyZWF0ZVBvcnRhbChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZml4ZWQtbGVnZW5kXCJcbiAgICAgICAgICAgICAgcmVmPXtsZWdlbmRDb250ZW50UmVmfVxuICAgICAgICAgICAgICBzdHlsZT17ey4uLnBvc2l0aW9uU3R5bGVzLCBwb3NpdGlvbjogJ2Fic29sdXRlJ319XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvZGl2PixcbiAgICAgICAgICAgIHBvcnRhbFJvb3RcbiAgICAgICAgICApXG4gICAgICAgIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn0pIGFzIFJlYWN0LkZDPEltYWdlRXhwb3J0TGVnZW5kUHJvcHM+O1xuXG5NYXBMZWdlbmRQYW5lbEZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xQYW5lbEZhY3RvcnksIE1hcExlZ2VuZEZhY3RvcnldO1xuXG5pbnRlcmZhY2UgTWFwTGVnZW5kUGFuZWxJY29ucyB7XG4gIGxlZ2VuZDogQ29tcG9uZW50VHlwZTxhbnk+O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQYW5lbFByb3BzID0ge1xuICB0aGVtZTogYW55O1xuICBsYXllcnM6IFJlYWRvbmx5QXJyYXk8TGF5ZXI+O1xuICBzY2FsZTogbnVtYmVyO1xuICBvblRvZ2dsZU1hcENvbnRyb2w6IChjb250cm9sOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGlzRXhwb3J0OiBib29sZWFuO1xuICBsb2dvQ29tcG9uZW50OiBFbGVtZW50O1xuICBhY3Rpb25JY29uczogTWFwTGVnZW5kUGFuZWxJY29ucztcbiAgbWFwQ29udHJvbHM6IE1hcENvbnRyb2xzO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPzogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PzogQWN0aW9uSGFuZGxlcjx0eXBlb2YgdG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD47XG4gIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkPzogYm9vbGVhbjtcbiAgb25DbGlja0NvbnRyb2xCdG4/OiAoZT86IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBzZXR0aW5nczogTWFwTGVnZW5kQ29udHJvbFNldHRpbmdzO1xuICBpc1NpZGVQYW5lbFNob3duOiBib29sZWFuO1xuICBhY3RpdmVTaWRlUGFuZWw6IHN0cmluZyB8IG51bGw7XG4gIHNldE1hcENvbnRyb2xTZXR0aW5nczogYW55O1xufTtcblxudHlwZSBNYXBMZWdlbmRQYW5lbENvbXBvbmVudHMgPSB7XG4gIE1hcENvbnRyb2xUb29sdGlwOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3Rvcnk+O1xuICBNYXBDb250cm9sUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xQYW5lbEZhY3Rvcnk+O1xuICBNYXBMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIE1hcExlZ2VuZEZhY3Rvcnk+O1xufTtcblxudHlwZSBNYXBMZWdlbmRQYW5lbENvbXBvbmVudFR5cGUgPSBSZWFjdC5GQzxNYXBMZWdlbmRQYW5lbFByb3BzPjtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICBsZWdlbmQ6IHByb3BzID0+IDxMZWdlbmQgey4uLnByb3BzfSBoZWlnaHQ9XCIxOHB4XCIgLz5cbn07XG5cbmNvbnN0IE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50ID0gKHtcbiAgbGF5ZXJzLFxuICBtYXBDb250cm9scyxcbiAgc2NhbGUsXG4gIG9uVG9nZ2xlTWFwQ29udHJvbCxcbiAgaXNFeHBvcnQsXG4gIGxvZ29Db21wb25lbnQsXG4gIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICBtYXBTdGF0ZSxcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0LFxuICBvbkNsaWNrQ29udHJvbEJ0bixcbiAgYWN0aXZlU2lkZVBhbmVsLFxuICBzZXRNYXBDb250cm9sU2V0dGluZ3MsXG4gIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkID0gdHJ1ZSxcbiAgY2xhc3NOYW1lLFxuICBNYXBDb250cm9sVG9vbHRpcCxcbiAgTWFwQ29udHJvbFBhbmVsLFxuICBNYXBMZWdlbmRcbn06IE1hcExlZ2VuZFBhbmVsUHJvcHMgJiBNYXBMZWdlbmRQYW5lbENvbXBvbmVudHMpID0+IHtcbiAgY29uc3QgaXNTaWRlUGFuZWxTaG93biA9IEJvb2xlYW4oYWN0aXZlU2lkZVBhbmVsKTtcbiAgY29uc3Qgc2V0dGluZ3MgPSBtYXBDb250cm9scz8ubWFwTGVnZW5kPy5zZXR0aW5ncztcblxuICBjb25zdCBtYXBMZWdlbmQgPSBtYXBDb250cm9scz8ubWFwTGVnZW5kIHx8ICh7fSBhcyBNYXBDb250cm9sTWFwTGVnZW5kKTtcbiAgY29uc3Qge2FjdGl2ZSwgZGlzYWJsZUVkaXR9ID0gbWFwTGVnZW5kIHx8IHt9O1xuICBjb25zdCByb290Q29udGV4dCA9IHVzZUNvbnRleHQoUm9vdENvbnRleHQpO1xuXG4gIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgb25DbGlja0NvbnRyb2xCdG4/LigpO1xuICAgIGlmIChtYXBDb250cm9scz8ubWFwRHJhdz8uYWN0aXZlKSB7XG4gICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcERyYXcnKTtcbiAgICB9XG4gICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBMZWdlbmQnKTtcbiAgfSwgW29uQ2xpY2tDb250cm9sQnRuLCBvblRvZ2dsZU1hcENvbnRyb2wsIG1hcENvbnRyb2xzXSk7XG4gIGNvbnN0IG9uQ2xvc2VDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBMZWdlbmQnKTtcbiAgICB9LFxuICAgIFtvblRvZ2dsZU1hcENvbnRyb2xdXG4gICk7XG5cbiAgaWYgKCFtYXBMZWdlbmQuc2hvdykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgbGVnZW5kUGFuZWwgPSBhY3RpdmUgPyAoXG4gICAgPE1hcENvbnRyb2xQYW5lbFxuICAgICAgc2NhbGU9e3NjYWxlfVxuICAgICAgaGVhZGVyPVwiaGVhZGVyLmxheWVyTGVnZW5kXCJcbiAgICAgIHsuLi57b25DbGljazogb25DbG9zZUNsaWNrLCBwaW5uYWJsZTogZmFsc2UsIGRpc2FibGVDbG9zZTogZmFsc2V9fVxuICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgbG9nb0NvbXBvbmVudD17bG9nb0NvbXBvbmVudH1cbiAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD17b25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0fVxuICAgICAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQ9e2lzVmlld3BvcnRVbnN5bmNBbGxvd2VkfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgPlxuICAgICAgPE1hcExlZ2VuZFxuICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICBkaXNhYmxlRWRpdD17ZGlzYWJsZUVkaXR9XG4gICAgICAgIGlzRXhwb3J0PXtpc0V4cG9ydH1cbiAgICAgICAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT17b25MYXllclZpc0NvbmZpZ0NoYW5nZX1cbiAgICAgIC8+XG4gICAgPC9NYXBDb250cm9sUGFuZWw+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHthY3RpdmUgPyAoXG4gICAgICAgIGhhc1BvcnRhYmxlV2lkdGgoYnJlYWtQb2ludFZhbHVlcykgPyAoXG4gICAgICAgICAgbGVnZW5kUGFuZWxcbiAgICAgICAgKSA6IGlzRXhwb3J0ID8gKFxuICAgICAgICAgIDxJbWFnZUV4cG9ydExlZ2VuZCBpc1NpZGVQYW5lbFNob3duPXtpc1NpZGVQYW5lbFNob3dufSBzZXR0aW5ncz17c2V0dGluZ3N9PlxuICAgICAgICAgICAge2xlZ2VuZFBhbmVsfVxuICAgICAgICAgIDwvSW1hZ2VFeHBvcnRMZWdlbmQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgPERyYWdnYWJsZUxlZ2VuZFxuICAgICAgICAgICAgICBpc1NpZGVQYW5lbFNob3duPXtpc1NpZGVQYW5lbFNob3dufVxuICAgICAgICAgICAgICBtYXBDb250cm9scz17bWFwQ29udHJvbHN9XG4gICAgICAgICAgICAgIHNldE1hcENvbnRyb2xTZXR0aW5ncz17c2V0TWFwQ29udHJvbFNldHRpbmdzfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGVnZW5kUGFuZWx9XG4gICAgICAgICAgICA8L0RyYWdnYWJsZUxlZ2VuZD4sXG4gICAgICAgICAgICByb290Q29udGV4dD8uY3VycmVudCA/PyBkb2N1bWVudC5ib2R5XG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApIDogbnVsbH1cbiAgICAgIHshaXNFeHBvcnQgPyAoXG4gICAgICAgIDxNYXBDb250cm9sVG9vbHRpcCBpZD1cInNob3ctbGVnZW5kXCIgbWVzc2FnZT1cInRvb2x0aXAuc2hvd0xlZ2VuZFwiPlxuICAgICAgICAgIDxNYXBDb250cm9sQnV0dG9uIGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWJ1dHRvbiBzaG93LWxlZ2VuZFwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgICAgICAgPGFjdGlvbkljb25zLmxlZ2VuZCBoZWlnaHQ9XCIyMnB4XCIgLz5cbiAgICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgICApIDogbnVsbH1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmZ1bmN0aW9uIE1hcExlZ2VuZFBhbmVsRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT4sXG4gIE1hcENvbnRyb2xQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFBhbmVsRmFjdG9yeT4sXG4gIE1hcExlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeT5cbik6IE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50VHlwZSB7XG4gIHJldHVybiAocHJvcHM6IE1hcExlZ2VuZFBhbmVsUHJvcHMpID0+IChcbiAgICA8TWFwTGVnZW5kUGFuZWxDb21wb25lbnRcbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIE1hcENvbnRyb2xUb29sdGlwPXtNYXBDb250cm9sVG9vbHRpcH1cbiAgICAgIE1hcENvbnRyb2xQYW5lbD17TWFwQ29udHJvbFBhbmVsfVxuICAgICAgTWFwTGVnZW5kPXtNYXBMZWdlbmR9XG4gICAgLz5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTGVnZW5kUGFuZWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQVNBLElBQUFJLGlCQUFBLEdBQUFELHVCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFJQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxNQUFBLEdBQUFULE9BQUE7QUFHQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxrQkFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksUUFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsbUJBQUEsR0FBQWQsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFjLGdCQUFBLEdBQUFmLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBZSxrQkFBQSxHQUFBaEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFnQixVQUFBLEdBQUFqQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWlCLFVBQUEsR0FBQWpCLE9BQUE7QUFBeUQsSUFBQWtCLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFsQ3pEO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQW5CLHdCQUFBbUIsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQUFBLFNBQUFXLFFBQUFuQixDQUFBLEVBQUFFLENBQUEsUUFBQUMsQ0FBQSxHQUFBUSxNQUFBLENBQUFTLElBQUEsQ0FBQXBCLENBQUEsT0FBQVcsTUFBQSxDQUFBVSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFYLE1BQUEsQ0FBQVUscUJBQUEsQ0FBQXJCLENBQUEsR0FBQUUsQ0FBQSxLQUFBb0IsQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQXJCLENBQUEsV0FBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFFLENBQUEsRUFBQXNCLFVBQUEsT0FBQXJCLENBQUEsQ0FBQXNCLElBQUEsQ0FBQUMsS0FBQSxDQUFBdkIsQ0FBQSxFQUFBbUIsQ0FBQSxZQUFBbkIsQ0FBQTtBQUFBLFNBQUF3QixjQUFBM0IsQ0FBQSxhQUFBRSxDQUFBLE1BQUFBLENBQUEsR0FBQTBCLFNBQUEsQ0FBQUMsTUFBQSxFQUFBM0IsQ0FBQSxVQUFBQyxDQUFBLFdBQUF5QixTQUFBLENBQUExQixDQUFBLElBQUEwQixTQUFBLENBQUExQixDQUFBLFFBQUFBLENBQUEsT0FBQWlCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLE9BQUEyQixPQUFBLFdBQUE1QixDQUFBLFFBQUE2QixnQkFBQSxhQUFBL0IsQ0FBQSxFQUFBRSxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBUyxNQUFBLENBQUFxQix5QkFBQSxHQUFBckIsTUFBQSxDQUFBc0IsZ0JBQUEsQ0FBQWpDLENBQUEsRUFBQVcsTUFBQSxDQUFBcUIseUJBQUEsQ0FBQTdCLENBQUEsS0FBQWdCLE9BQUEsQ0FBQVIsTUFBQSxDQUFBUixDQUFBLEdBQUEyQixPQUFBLFdBQUE1QixDQUFBLElBQUFTLE1BQUEsQ0FBQUMsY0FBQSxDQUFBWixDQUFBLEVBQUFFLENBQUEsRUFBQVMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixDQUFBLEVBQUFELENBQUEsaUJBQUFGLENBQUE7QUFtQ0EsSUFBTWtDLGNBQWMsR0FBRyxtQkFBbUI7QUFDMUMsSUFBTUMsWUFBWSxHQUFHLGlCQUFpQjtBQUV0QyxJQUFNQyw0QkFBNEIsR0FBR0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBMUMsZUFBQSxLQUFBQSxlQUFBLE9BQUEyQyx1QkFBQSwreEJBMkIzQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFdBQVc7QUFBQSxHQUk5QyxVQUFBRixLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDRyxhQUFhLGNBQUFDLE1BQUEsQ0FBY0osS0FBSyxDQUFDRyxhQUFhLFdBQVEsRUFBRTtBQUFBLENBQUMsQ0FPOUU7QUFFRCxJQUFNRSxnQkFBZ0IsR0FBR1IsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBekMsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQTBDLHVCQUFBLHNZQWlCYixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFdBQVc7QUFBQSxFQUNyRDtBQUVELElBQU1JLGtCQUFrQixHQUFHVCw0QkFBTSxDQUFDQyxHQUFHLENBQUF4QyxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBeUMsdUJBQUEsb1hBaUJwQztBQWNELElBQU1RLHNCQUFzQixnQkFBRyxJQUFBQyxpQkFBVSxFQUFDLFVBQUNSLEtBQWtDLEVBQUVTLEdBQUcsRUFBSztFQUNyRixJQUFPQyxjQUFjLEdBQWNWLEtBQUssQ0FBakNVLGNBQWM7SUFBRUMsUUFBUSxHQUFJWCxLQUFLLENBQWpCVyxRQUFRO0VBQy9CLElBQU1DLGFBQWEsR0FBRyxJQUFBQyxrQkFBWSxFQUFDO0lBQUNDLEVBQUUsRUFBRW5CO0VBQVksQ0FBQyxDQUFDO0VBQ3RELElBQU1vQixlQUFlLEdBQUcsSUFBQUYsa0JBQVksRUFBQztJQUFDQyxFQUFFLEVBQUVwQjtFQUFjLENBQUMsQ0FBQztFQUMxRCxJQUFNc0IsSUFBSSxHQUFHLElBQUFDLG9CQUFZLEVBQUMsQ0FBQ0wsYUFBYSxDQUFDTSxVQUFVLEVBQUVULEdBQUcsQ0FBQyxDQUFDO0VBQzFELElBQU1VLFVBQVUsR0FBR1AsYUFBYSxDQUFDTyxVQUFVLElBQUlKLGVBQWUsQ0FBQ0ksVUFBVTtFQUN6RSxvQkFDRS9FLE1BQUEsWUFBQWdGLGFBQUEsQ0FBQ3hCLDRCQUE0QixNQUFBeUIsU0FBQTtJQUMzQlosR0FBRyxFQUFFTyxJQUFLO0lBQ1ZNLFNBQVMsRUFBRSxJQUFBQyxzQkFBVSxFQUFDLGtCQUFrQixFQUFFO01BQUMsYUFBYSxFQUFFSjtJQUFVLENBQUMsQ0FBRTtJQUN2RUssS0FBSyxFQUFBckMsYUFBQSxDQUFBQSxhQUFBLEtBQU11QixjQUFjO01BQUVlLFNBQVMsRUFBRUMsY0FBRyxDQUFDQyxTQUFTLENBQUNDLFFBQVEsQ0FBQ2hCLGFBQWEsQ0FBQ2EsU0FBUztJQUFDLEVBQUU7SUFDdkZ0QixhQUFhLEVBQUVILEtBQUssQ0FBQ0c7RUFBYyxHQUMvQlMsYUFBYSxDQUFDaUIsVUFBVSxHQUUzQmxCLFFBQVEsRUFDUlEsVUFBVSxnQkFBRy9FLE1BQUEsWUFBQWdGLGFBQUE7SUFBS0UsU0FBUyxFQUFDO0VBQW9CLENBQUUsQ0FBQyxHQUFHLElBQUksZUFDM0RsRixNQUFBLFlBQUFnRixhQUFBLENBQUNmLGdCQUFnQixNQUFBZ0IsU0FBQTtJQUFDQyxTQUFTLEVBQUM7RUFBb0IsR0FBS1YsYUFBYSxDQUFDa0IsU0FBUyxnQkFDMUUxRixNQUFBLFlBQUFnRixhQUFBLENBQUN4RSxNQUFBLENBQUFtRixhQUFhO0lBQUNDLE1BQU0sRUFBQztFQUFNLENBQUUsQ0FDZCxDQUFDLGVBQ25CNUYsTUFBQSxZQUFBZ0YsYUFBQSxDQUFDZCxrQkFBa0IsTUFBQWUsU0FBQTtJQUNqQkMsU0FBUyxFQUFDLHNCQUFzQjtJQUNoQ2IsR0FBRyxFQUFFTSxlQUFlLENBQUNHO0VBQVcsR0FDNUJILGVBQWUsQ0FBQ2UsU0FBUyxnQkFFN0IxRixNQUFBLFlBQUFnRixhQUFBLENBQUN4RSxNQUFBLENBQUFxRixzQkFBc0I7SUFBQ0QsTUFBTSxFQUFDO0VBQU0sQ0FBRSxDQUNyQixDQUNRLENBQUM7QUFFbkMsQ0FBQyxDQUFDO0FBUUYsSUFBTUUsZUFBZSxHQUFHLElBQUFDLDJCQUFTLEVBQy9CLFVBQUFDLElBQUEsRUFNMkM7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLElBTHpDQyxnQkFBZ0IsR0FBQUYsSUFBQSxDQUFoQkUsZ0JBQWdCO0lBQ2hCM0IsUUFBUSxHQUFBeUIsSUFBQSxDQUFSekIsUUFBUTtJQUNSNEIsV0FBVyxHQUFBSCxJQUFBLENBQVhHLFdBQVc7SUFDWEMscUJBQXFCLEdBQUFKLElBQUEsQ0FBckJJLHFCQUFxQjtJQUNyQnZDLEtBQUssR0FBQW1DLElBQUEsQ0FBTG5DLEtBQUs7RUFFTCxJQUFNd0MsUUFBUSxHQUFHRixXQUFXLGFBQVhBLFdBQVcsZ0JBQUFGLHFCQUFBLEdBQVhFLFdBQVcsQ0FBRUcsU0FBUyxjQUFBTCxxQkFBQSx1QkFBdEJBLHFCQUFBLENBQXdCSSxRQUFRO0VBRWpELElBQU1FLGdCQUFnQixHQUFHLElBQUFDLGFBQU0sRUFBYyxJQUFJLENBQUM7RUFDbEQsSUFBTUMsZ0JBQWdCLEdBQUcsSUFBQUMsa0JBQVcsRUFDbEMsVUFBQUMsV0FBVztJQUFBLE9BQUlQLHFCQUFxQixDQUFDLFdBQVcsRUFBRU8sV0FBVyxDQUFDO0VBQUEsR0FDOUQsQ0FBQ1AscUJBQXFCLENBQ3hCLENBQUM7RUFDRCxJQUFBUSxrQkFBQSxHQUE2RSxJQUFBQyw4QkFBaUIsRUFBQztNQUM3Rk4sZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7TUFDaEJMLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCckMsS0FBSyxFQUFMQSxLQUFLO01BQ0x3QyxRQUFRLEVBQVJBLFFBQVE7TUFDUkksZ0JBQWdCLEVBQWhCQTtJQUNGLENBQUMsQ0FBQztJQU5LbkMsY0FBYyxHQUFBc0Msa0JBQUEsQ0FBZHRDLGNBQWM7SUFBRXdDLGNBQWMsR0FBQUYsa0JBQUEsQ0FBZEUsY0FBYztJQUFFQyxXQUFXLEdBQUFILGtCQUFBLENBQVhHLFdBQVc7SUFBRUMsTUFBTSxHQUFBSixrQkFBQSxDQUFOSSxNQUFNO0lBQUVqRCxhQUFhLEdBQUE2QyxrQkFBQSxDQUFiN0MsYUFBYTtFQVF6RSxJQUFNa0QsZUFBZSxHQUFHLElBQUFQLGtCQUFXLEVBQ2pDLFVBQUFRLEtBQUssRUFBSTtJQUNQLFFBQVFBLEtBQUssQ0FBQ0MsTUFBTSxDQUFDekMsRUFBRTtNQUNyQixLQUFLcEIsY0FBYztRQUNqQnlELFdBQVcsQ0FBQyxDQUFDO1FBQ2I7TUFDRjtRQUNFRCxjQUFjLENBQUMsQ0FBQztJQUNwQjtFQUNGLENBQUMsRUFDRCxDQUFDQSxjQUFjLEVBQUVDLFdBQVcsQ0FDOUIsQ0FBQztFQUNELElBQU1LLGFBQWEsR0FBRyxJQUFBVixrQkFBVyxFQUFDSSxjQUFjLEVBQUUsQ0FBQ0EsY0FBYyxDQUFDLENBQUM7RUFDbkUsSUFBTU8sY0FBYyxHQUFHLElBQUFYLGtCQUFXLEVBQ2hDLFVBQUFRLEtBQUssRUFBSTtJQUNQLFFBQVFBLEtBQUssQ0FBQ0MsTUFBTSxDQUFDekMsRUFBRTtNQUNyQixLQUFLcEIsY0FBYztRQUNqQjBELE1BQU0sQ0FBQ0UsS0FBSyxDQUFDSSxLQUFLLENBQUNDLENBQUMsQ0FBQztRQUNyQjtJQUNKO0VBQ0YsQ0FBQyxFQUNELENBQUNQLE1BQU0sQ0FDVCxDQUFDO0VBRUQsb0JBQ0VoSCxNQUFBLFlBQUFnRixhQUFBLENBQUM3RSxLQUFBLENBQUFxSCxVQUFVO0lBQ1RDLFdBQVcsRUFBRVIsZUFBZ0I7SUFDN0JTLFVBQVUsRUFBRUwsY0FBZTtJQUMzQk0sU0FBUyxFQUFFUCxhQUFjO0lBQ3pCUSxTQUFTLEVBQUUsQ0FBQ0MsZ0NBQXFCO0VBQUUsZ0JBRW5DN0gsTUFBQSxZQUFBZ0YsYUFBQSxDQUFDYixzQkFBc0I7SUFDckJFLEdBQUcsRUFBRWtDLGdCQUFpQjtJQUN0QmpDLGNBQWMsRUFBRUEsY0FBZTtJQUMvQlAsYUFBYSxFQUFFQTtFQUFjLEdBRTVCUSxRQUNxQixDQUNkLENBQUM7QUFFakIsQ0FDRixDQUE2QjtBQVE3QixJQUFNdUQsaUJBQWlCLEdBQUcsSUFBQS9CLDJCQUFTLEVBQUMsVUFBQWdDLEtBQUEsRUFBbUQ7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLElBQWpEM0IsUUFBUSxHQUFBMEIsS0FBQSxDQUFSMUIsUUFBUTtJQUFFSCxnQkFBZ0IsR0FBQTZCLEtBQUEsQ0FBaEI3QixnQkFBZ0I7SUFBRXJDLEtBQUssR0FBQWtFLEtBQUEsQ0FBTGxFLEtBQUs7SUFBRVUsUUFBUSxHQUFBd0QsS0FBQSxDQUFSeEQsUUFBUTtFQUMvRSxJQUFNMEQsWUFBMkQsR0FBRyxJQUFBekIsYUFBTSxFQUFDLElBQUksQ0FBQztFQUNoRixJQUFNRCxnQkFBK0QsR0FBRyxJQUFBQyxhQUFNLEVBQUMsSUFBSSxDQUFDO0VBRXBGLElBQUEwQixtQkFBQSxHQUF5QixJQUFBckIsOEJBQWlCLEVBQUM7TUFDekNOLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCTCxnQkFBZ0IsRUFBaEJBLGdCQUFnQjtNQUNoQnJDLEtBQUssRUFBTEEsS0FBSztNQUNMd0MsUUFBUSxFQUFSQSxRQUFRO01BQ1JJLGdCQUFnQixFQUFFLFNBQWxCQSxnQkFBZ0JBLENBQUEsRUFBUTtRQUN0QjtNQUFBO0lBRUosQ0FBQyxDQUFDO0lBUktuQyxjQUFjLEdBQUE0RCxtQkFBQSxDQUFkNUQsY0FBYztFQVVyQixJQUFNNkQsVUFBVSxJQUFBSCxxQkFBQSxHQUFHQyxZQUFZLENBQUNHLE9BQU8sY0FBQUoscUJBQUEsZ0JBQUFBLHFCQUFBLEdBQXBCQSxxQkFBQSxDQUNmSyxPQUFPLENBQUMsc0JBQXNCLENBQUMsY0FBQUwscUJBQUEsdUJBRGhCQSxxQkFBQSxDQUVmTSxhQUFhLENBQUMsaUNBQWlDLENBQUM7RUFFcEQsb0JBQ0V0SSxNQUFBLFlBQUFnRixhQUFBO0lBQUtYLEdBQUcsRUFBRTREO0VBQWEsR0FDcEJFLFVBQVUsZ0JBQ1AsSUFBQUksc0JBQVksZ0JBQ1Z2SSxNQUFBLFlBQUFnRixhQUFBO0lBQ0VFLFNBQVMsRUFBQyxjQUFjO0lBQ3hCYixHQUFHLEVBQUVrQyxnQkFBaUI7SUFDdEJuQixLQUFLLEVBQUFyQyxhQUFBLENBQUFBLGFBQUEsS0FBTXVCLGNBQWM7TUFBRWtFLFFBQVEsRUFBRTtJQUFVO0VBQUUsR0FFaERqRSxRQUNFLENBQUMsRUFDTjRELFVBQ0YsQ0FBQyxHQUNELElBQ0QsQ0FBQztBQUVWLENBQUMsQ0FBcUM7QUFFdENNLHFCQUFxQixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0MsNkJBQXdCLEVBQUVDLDJCQUFzQixFQUFFQyxxQkFBZ0IsQ0FBQztBQW1DakcsSUFBTUMsa0JBQWtCLEdBQUc7RUFDekJDLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFFbkYsS0FBSztJQUFBLG9CQUFJNUQsTUFBQSxZQUFBZ0YsYUFBQSxDQUFDeEUsTUFBQSxDQUFBd0ksTUFBTSxNQUFBL0QsU0FBQSxpQkFBS3JCLEtBQUs7TUFBRWdDLE1BQU0sRUFBQztJQUFNLEVBQUUsQ0FBQztFQUFBO0FBQ3RELENBQUM7QUFFRCxJQUFNcUQsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBQUMsS0FBQSxFQW1CeUI7RUFBQSxJQUFBQyxzQkFBQSxFQUFBQyxvQkFBQTtFQUFBLElBbEJwREMsTUFBTSxHQUFBSCxLQUFBLENBQU5HLE1BQU07SUFDTmxELFdBQVcsR0FBQStDLEtBQUEsQ0FBWC9DLFdBQVc7SUFDWG1ELEtBQUssR0FBQUosS0FBQSxDQUFMSSxLQUFLO0lBQ0xDLGtCQUFrQixHQUFBTCxLQUFBLENBQWxCSyxrQkFBa0I7SUFDbEJDLFFBQVEsR0FBQU4sS0FBQSxDQUFSTSxRQUFRO0lBQ1JDLGFBQWEsR0FBQVAsS0FBQSxDQUFiTyxhQUFhO0lBQUFDLGlCQUFBLEdBQUFSLEtBQUEsQ0FDYlMsV0FBVztJQUFYQSxXQUFXLEdBQUFELGlCQUFBLGNBQUdaLGtCQUFrQixHQUFBWSxpQkFBQTtJQUNoQ0UsUUFBUSxHQUFBVixLQUFBLENBQVJVLFFBQVE7SUFDUkMsc0JBQXNCLEdBQUFYLEtBQUEsQ0FBdEJXLHNCQUFzQjtJQUN0QkMsd0JBQXdCLEdBQUFaLEtBQUEsQ0FBeEJZLHdCQUF3QjtJQUN4QkMsaUJBQWlCLEdBQUFiLEtBQUEsQ0FBakJhLGlCQUFpQjtJQUNqQkMsZUFBZSxHQUFBZCxLQUFBLENBQWZjLGVBQWU7SUFDZjVELHFCQUFxQixHQUFBOEMsS0FBQSxDQUFyQjlDLHFCQUFxQjtJQUFBNkQscUJBQUEsR0FBQWYsS0FBQSxDQUNyQmdCLHVCQUF1QjtJQUF2QkEsdUJBQXVCLEdBQUFELHFCQUFBLGNBQUcsSUFBSSxHQUFBQSxxQkFBQTtJQUM5Qi9FLFNBQVMsR0FBQWdFLEtBQUEsQ0FBVGhFLFNBQVM7SUFDVGlGLGlCQUFpQixHQUFBakIsS0FBQSxDQUFqQmlCLGlCQUFpQjtJQUNqQkMsZUFBZSxHQUFBbEIsS0FBQSxDQUFma0IsZUFBZTtJQUNmQyxTQUFTLEdBQUFuQixLQUFBLENBQVRtQixTQUFTO0VBRVQsSUFBTW5FLGdCQUFnQixHQUFHb0UsT0FBTyxDQUFDTixlQUFlLENBQUM7RUFDakQsSUFBTTNELFFBQVEsR0FBR0YsV0FBVyxhQUFYQSxXQUFXLGdCQUFBZ0Qsc0JBQUEsR0FBWGhELFdBQVcsQ0FBRUcsU0FBUyxjQUFBNkMsc0JBQUEsdUJBQXRCQSxzQkFBQSxDQUF3QjlDLFFBQVE7RUFFakQsSUFBTUMsU0FBUyxHQUFHLENBQUFILFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFRyxTQUFTLEtBQUssQ0FBQyxDQUF5QjtFQUN2RSxJQUFBaUUsS0FBQSxHQUE4QmpFLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFBdENhLE1BQU0sR0FBQW9ELEtBQUEsQ0FBTnBELE1BQU07SUFBRXFELFdBQVcsR0FBQUQsS0FBQSxDQUFYQyxXQUFXO0VBQzFCLElBQU1DLFdBQVcsR0FBRyxJQUFBQyxpQkFBVSxFQUFDQyxvQkFBVyxDQUFDO0VBRTNDLElBQU1DLE9BQU8sR0FBRyxJQUFBbEUsa0JBQVcsRUFBQyxZQUFNO0lBQUEsSUFBQW1FLG9CQUFBO0lBQ2hDZCxpQkFBaUIsYUFBakJBLGlCQUFpQixlQUFqQkEsaUJBQWlCLENBQUcsQ0FBQztJQUNyQixJQUFJNUQsV0FBVyxhQUFYQSxXQUFXLGdCQUFBMEUsb0JBQUEsR0FBWDFFLFdBQVcsQ0FBRTJFLE9BQU8sY0FBQUQsb0JBQUEsZUFBcEJBLG9CQUFBLENBQXNCMUQsTUFBTSxFQUFFO01BQ2hDb0Msa0JBQWtCLENBQUMsU0FBUyxDQUFDO0lBQy9CO0lBQ0FBLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztFQUNqQyxDQUFDLEVBQUUsQ0FBQ1EsaUJBQWlCLEVBQUVSLGtCQUFrQixFQUFFcEQsV0FBVyxDQUFDLENBQUM7RUFDeEQsSUFBTTRFLFlBQVksR0FBRyxJQUFBckUsa0JBQVcsRUFDOUIsVUFBQXRGLENBQUMsRUFBSTtJQUNIQSxDQUFDLENBQUM0SixjQUFjLENBQUMsQ0FBQztJQUNsQnpCLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztFQUNqQyxDQUFDLEVBQ0QsQ0FBQ0Esa0JBQWtCLENBQ3JCLENBQUM7RUFFRCxJQUFJLENBQUNqRCxTQUFTLENBQUMyRSxJQUFJLEVBQUU7SUFDbkIsT0FBTyxJQUFJO0VBQ2I7RUFFQSxJQUFNQyxXQUFXLEdBQUcvRCxNQUFNLGdCQUN4Qm5ILE1BQUEsWUFBQWdGLGFBQUEsQ0FBQ29GLGVBQWU7SUFDZGQsS0FBSyxFQUFFQSxLQUFNO0lBQ2I2QixNQUFNLEVBQUMsb0JBQW9CO0lBQ3RCUCxPQUFPLEVBQUVHLFlBQVk7SUFBRUssUUFBUSxFQUFFLEtBQUs7SUFBRUMsWUFBWSxFQUFFLEtBQUs7SUFDaEU3QixRQUFRLEVBQUVBLFFBQVM7SUFDbkJDLGFBQWEsRUFBRUEsYUFBYztJQUM3QkcsUUFBUSxFQUFFQSxRQUFTO0lBQ25CRSx3QkFBd0IsRUFBRUEsd0JBQXlCO0lBQ25ESSx1QkFBdUIsRUFBRUEsdUJBQXdCO0lBQ2pEaEYsU0FBUyxFQUFFQTtFQUFVLGdCQUVyQmxGLE1BQUEsWUFBQWdGLGFBQUEsQ0FBQ3FGLFNBQVM7SUFDUmhCLE1BQU0sRUFBRUEsTUFBTztJQUNmTyxRQUFRLEVBQUVBLFFBQVM7SUFDbkJZLFdBQVcsRUFBRUEsV0FBWTtJQUN6QmhCLFFBQVEsRUFBRUEsUUFBUztJQUNuQkssc0JBQXNCLEVBQUVBO0VBQXVCLENBQ2hELENBQ2MsQ0FBQyxHQUNoQixJQUFJO0VBRVIsb0JBQ0U3SixNQUFBLFlBQUFnRixhQUFBLENBQUFoRixNQUFBLFlBQUFzTCxRQUFBLFFBQ0duRSxNQUFNLEdBQ0wsSUFBQW9FLHVCQUFnQixFQUFDQyx3QkFBZ0IsQ0FBQyxHQUNoQ04sV0FBVyxHQUNUMUIsUUFBUSxnQkFDVnhKLE1BQUEsWUFBQWdGLGFBQUEsQ0FBQzhDLGlCQUFpQjtJQUFDNUIsZ0JBQWdCLEVBQUVBLGdCQUFpQjtJQUFDRyxRQUFRLEVBQUVBO0VBQVMsR0FDdkU2RSxXQUNnQixDQUFDLGtCQUVwQixJQUFBM0Msc0JBQVksZ0JBQ1Z2SSxNQUFBLFlBQUFnRixhQUFBLENBQUNjLGVBQWU7SUFDZEksZ0JBQWdCLEVBQUVBLGdCQUFpQjtJQUNuQ0MsV0FBVyxFQUFFQSxXQUFZO0lBQ3pCQyxxQkFBcUIsRUFBRUE7RUFBc0IsR0FFNUM4RSxXQUNjLENBQUMsR0FBQTlCLG9CQUFBLEdBQ2xCcUIsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVyQyxPQUFPLGNBQUFnQixvQkFBQSxjQUFBQSxvQkFBQSxHQUFJcUMsUUFBUSxDQUFDQyxJQUNuQyxDQUFDLENBQ0YsR0FDQyxJQUFJLEVBQ1AsQ0FBQ2xDLFFBQVEsZ0JBQ1J4SixNQUFBLFlBQUFnRixhQUFBLENBQUNtRixpQkFBaUI7SUFBQ3pGLEVBQUUsRUFBQyxhQUFhO0lBQUNpSCxPQUFPLEVBQUM7RUFBb0IsZ0JBQzlEM0wsTUFBQSxZQUFBZ0YsYUFBQSxDQUFDdkUsa0JBQUEsQ0FBQW1MLGdCQUFnQjtJQUFDMUcsU0FBUyxFQUFDLGdDQUFnQztJQUFDMEYsT0FBTyxFQUFFQTtFQUFRLGdCQUM1RTVLLE1BQUEsWUFBQWdGLGFBQUEsQ0FBQzJFLFdBQVcsQ0FBQ1osTUFBTTtJQUFDbkQsTUFBTSxFQUFDO0VBQU0sQ0FBRSxDQUNuQixDQUNELENBQUMsR0FDbEIsSUFDSixDQUFDO0FBRVAsQ0FBQztBQUVELFNBQVM2QyxxQkFBcUJBLENBQzVCMEIsaUJBQThELEVBQzlEQyxlQUEwRCxFQUMxREMsU0FBOEMsRUFDakI7RUFDN0IsT0FBTyxVQUFDekcsS0FBMEI7SUFBQSxvQkFDaEM1RCxNQUFBLFlBQUFnRixhQUFBLENBQUNpRSx1QkFBdUIsTUFBQWhFLFNBQUEsaUJBQ2xCckIsS0FBSztNQUNUdUcsaUJBQWlCLEVBQUVBLGlCQUFrQjtNQUNyQ0MsZUFBZSxFQUFFQSxlQUFnQjtNQUNqQ0MsU0FBUyxFQUFFQTtJQUFVLEVBQ3RCLENBQUM7RUFBQSxDQUNIO0FBQ0g7QUFBQyxJQUFBd0IsUUFBQSxHQUFBQyxPQUFBLGNBRWNyRCxxQkFBcUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
264
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0RG9tIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb3JlIiwiX3V0aWxpdGllcyIsIl9yZWFjdDIiLCJfc3R5bGVzIiwiX3V0aWxzIiwiX2ljb25zIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2NvbnRleHQiLCJfdXNlTGVnZW5kUG9zaXRpb24zIiwiX21hcENvbnRyb2xQYW5lbCIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9tYXBMZWdlbmQiLCJfbW9kaWZpZXJzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiRFJBR19SRVNJWkVfSUQiLCJEUkFHX01PVkVfSUQiLCJTdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50Iiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiYWN0aXZlQ29sb3IiLCJjb250ZW50SGVpZ2h0IiwiY29uY2F0IiwiU3R5bGVkTW92ZUhhbmRsZSIsIlN0eWxlZFJlc2l6ZUhhbmRsZSIsIlN0eWxlZEZpeGVkTGVnZW5kQ29udGVudCIsIkRyYWdnYWJsZUxlZ2VuZENvbnRlbnQiLCJmb3J3YXJkUmVmIiwicmVmIiwicG9zaXRpb25TdHlsZXMiLCJjaGlsZHJlbiIsImRyYWdnYWJsZU1vdmUiLCJ1c2VEcmFnZ2FibGUiLCJpZCIsImRyYWdnYWJsZVJlc2l6ZSIsInJlZnMiLCJ1c2VNZXJnZVJlZnMiLCJzZXROb2RlUmVmIiwiaXNEcmFnZ2luZyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwic3R5bGUiLCJ0cmFuc2Zvcm0iLCJDU1MiLCJUcmFuc2xhdGUiLCJ0b1N0cmluZyIsImF0dHJpYnV0ZXMiLCJsaXN0ZW5lcnMiLCJEcmFnZ2FibGVEb3RzIiwiaGVpZ2h0IiwiSG9yaXpvbnRhbFJlc2l6ZUhhbmRsZSIsIkRyYWdnYWJsZUxlZ2VuZCIsIndpdGhUaGVtZSIsIl9yZWYiLCJfbWFwQ29udHJvbHMkbWFwTGVnZW4iLCJpc1NpZGVQYW5lbFNob3duIiwibWFwQ29udHJvbHMiLCJzZXRNYXBDb250cm9sU2V0dGluZ3MiLCJzZXR0aW5ncyIsIm1hcExlZ2VuZCIsImxlZ2VuZENvbnRlbnRSZWYiLCJ1c2VSZWYiLCJvbkNoYW5nZVNldHRpbmdzIiwidXNlQ2FsbGJhY2siLCJuZXdTZXR0aW5ncyIsIl91c2VMZWdlbmRQb3NpdGlvbiIsInVzZUxlZ2VuZFBvc2l0aW9uIiwidXBkYXRlUG9zaXRpb24iLCJzdGFydFJlc2l6ZSIsInJlc2l6ZSIsImhhbmRsZURyYWdTdGFydCIsImV2ZW50IiwiYWN0aXZlIiwiaGFuZGxlRHJhZ0VuZCIsImhhbmRsZURyYWdNb3ZlIiwiZGVsdGEiLCJ5IiwiRG5kQ29udGV4dCIsIm9uRHJhZ1N0YXJ0Iiwib25EcmFnTW92ZSIsIm9uRHJhZ0VuZCIsIm1vZGlmaWVycyIsInJlc3RyaWN0VG9XaW5kb3dFZGdlcyIsIkltYWdlRXhwb3J0TGVnZW5kIiwiX3JlZjIiLCJfY29udGFpbmVyUmVmJGN1cnJlbnQiLCJjb250YWluZXJSZWYiLCJfdXNlTGVnZW5kUG9zaXRpb24yIiwicG9ydGFsUm9vdCIsImN1cnJlbnQiLCJjbG9zZXN0IiwicXVlcnlTZWxlY3RvciIsImNyZWF0ZVBvcnRhbCIsInBvc2l0aW9uIiwiTWFwTGVnZW5kUGFuZWxGYWN0b3J5IiwiZGVwcyIsIk1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSIsIk1hcENvbnRyb2xQYW5lbEZhY3RvcnkiLCJNYXBMZWdlbmRGYWN0b3J5IiwiZGVmYXVsdEFjdGlvbkljb25zIiwibGVnZW5kIiwiTGVnZW5kIiwiTWFwTGVnZW5kUGFuZWxDb21wb25lbnQiLCJfcmVmMyIsIl9tYXBDb250cm9scyRtYXBMZWdlbjIiLCJfcm9vdENvbnRleHQkY3VycmVudCIsImxheWVycyIsInNjYWxlIiwib25Ub2dnbGVNYXBDb250cm9sIiwiaXNFeHBvcnQiLCJsb2dvQ29tcG9uZW50IiwiX3JlZjMkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsIm1hcFN0YXRlIiwib25MYXllclZpc0NvbmZpZ0NoYW5nZSIsIm9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCIsIm9uQ2xpY2tDb250cm9sQnRuIiwiYWN0aXZlU2lkZVBhbmVsIiwiX3JlZjMkaXNWaWV3cG9ydFVuc3luIiwiaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQiLCJNYXBDb250cm9sVG9vbHRpcCIsIk1hcENvbnRyb2xQYW5lbCIsIk1hcExlZ2VuZCIsIkJvb2xlYW4iLCJfcmVmNCIsImRpc2FibGVFZGl0Iiwicm9vdENvbnRleHQiLCJ1c2VDb250ZXh0IiwiUm9vdENvbnRleHQiLCJvbkNsaWNrIiwiX21hcENvbnRyb2xzJG1hcERyYXciLCJtYXBEcmF3Iiwib25DbG9zZUNsaWNrIiwicHJldmVudERlZmF1bHQiLCJzaG93IiwibGVnZW5kUGFuZWwiLCJoZWFkZXIiLCJwaW5uYWJsZSIsImRpc2FibGVDbG9zZSIsIkZyYWdtZW50IiwiaGFzUG9ydGFibGVXaWR0aCIsImJyZWFrUG9pbnRWYWx1ZXMiLCJkb2N1bWVudCIsImJvZHkiLCJtZXNzYWdlIiwiTWFwQ29udHJvbEJ1dHRvbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge2NyZWF0ZVBvcnRhbH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCBSZWFjdCwge1xuICBDb21wb25lbnRUeXBlLFxuICBGQyxcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZVJlZixcbiAgUHJvcHNXaXRoQ2hpbGRyZW5cbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge0RuZENvbnRleHQsIHVzZURyYWdnYWJsZX0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQge0NTU30gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7dXNlTWVyZ2VSZWZzfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuXG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIHNldE1hcENvbnRyb2xTZXR0aW5ncywgdG9nZ2xlU3BsaXRNYXBWaWV3cG9ydH0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7YnJlYWtQb2ludFZhbHVlc30gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IHtMYXllclZpc0NvbmZpZywgTWFwQ29udHJvbE1hcExlZ2VuZCwgTWFwQ29udHJvbHMsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7aGFzUG9ydGFibGVXaWR0aH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge01hcExlZ2VuZENvbnRyb2xTZXR0aW5nc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmltcG9ydCB7TGVnZW5kLCBEcmFnZ2FibGVEb3RzLCBIb3Jpem9udGFsUmVzaXplSGFuZGxlfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtSb290Q29udGV4dH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgdXNlTGVnZW5kUG9zaXRpb24gZnJvbSAnLi4vaG9va3MvdXNlLWxlZ2VuZC1wb3NpdGlvbic7XG5pbXBvcnQgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXBhbmVsJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBMZWdlbmRGYWN0b3J5IGZyb20gJy4vbWFwLWxlZ2VuZCc7XG5pbXBvcnQge3Jlc3RyaWN0VG9XaW5kb3dFZGdlc30gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgRFJBR19SRVNJWkVfSUQgPSAnbWFwLWxlZ2VuZC1yZXNpemUnO1xuY29uc3QgRFJBR19NT1ZFX0lEID0gJ21hcC1sZWdlbmQtbW92ZSc7XG5cbmNvbnN0IFN0eWxlZERyYWdnYWJsZUxlZ2VuZENvbnRlbnQgPSBzdHlsZWQuZGl2PHtjb250ZW50SGVpZ2h0PzogbnVtYmVyfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAubGVnZW5kLWlucHV0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICYuaXMtZHJhZ2dpbmcgLmxlZ2VuZC1pbnB1dC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICAubGVnZW5kLW1vdmUtaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgLmxlZ2VuZC1yZXNpemUtaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yfTtcbiAgfVxuICAubWFwLWNvbnRyb2xfX3BhbmVsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgJHtwcm9wcyA9PiAocHJvcHMuY29udGVudEhlaWdodCA/IGBoZWlnaHQ6ICR7cHJvcHMuY29udGVudEhlaWdodH1weDtgIDogJycpfTtcbiAgfVxuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHotaW5kZXg6IDI7XG4gIC5tYXAtY29udHJvbC1wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRNb3ZlSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuYDtcblxuY29uc3QgU3R5bGVkUmVzaXplSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2Y3ZjhmYTtcbiAgei1pbmRleDogMjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xuYDtcblxuY29uc3QgU3R5bGVkRml4ZWRMZWdlbmRDb250ZW50ID0gc3R5bGVkLmRpdjx7Y29udGVudEhlaWdodD86IG51bWJlcn0+YFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgJHtwcm9wcyA9PiAocHJvcHMuY29udGVudEhlaWdodCA/IGBoZWlnaHQ6ICR7cHJvcHMuY29udGVudEhlaWdodH1weDtgIDogJycpfTtcbiAgfVxuXG4gIC8qIEhpZGUgc2Nyb2xsYmFycyBpbiBleHBvcnQgdG8gYXZvaWQgT1MgZGVmYXVsdCBzdHlsaW5nIGRpZmZlcmVuY2VzICovXG4gIC5zdHlsZWQtY29sb3ItbGVnZW5kIHtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBvbGQgRWRnZSAqL1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICB9XG4gIC5zdHlsZWQtY29sb3ItbGVnZW5kOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDsgLyogQ2hyb21lLCBTYWZhcmksIG5ldyBFZGdlICovXG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsRmFjdG9yeURlcHMgPSBbXG4gIHR5cGVvZiBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksXG4gIHR5cGVvZiBNYXBDb250cm9sUGFuZWxGYWN0b3J5LFxuICB0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeVxuXTtcblxudHlwZSBEcmFnZ2FibGVMZWdlbmRDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gIHBvc2l0aW9uU3R5bGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5cbmNvbnN0IERyYWdnYWJsZUxlZ2VuZENvbnRlbnQgPSBmb3J3YXJkUmVmKChwcm9wczogRHJhZ2dhYmxlTGVnZW5kQ29udGVudFByb3BzLCByZWYpID0+IHtcbiAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzLCBjaGlsZHJlbn0gPSBwcm9wcztcbiAgY29uc3QgZHJhZ2dhYmxlTW92ZSA9IHVzZURyYWdnYWJsZSh7aWQ6IERSQUdfTU9WRV9JRH0pO1xuICBjb25zdCBkcmFnZ2FibGVSZXNpemUgPSB1c2VEcmFnZ2FibGUoe2lkOiBEUkFHX1JFU0laRV9JRH0pO1xuICBjb25zdCByZWZzID0gdXNlTWVyZ2VSZWZzKFtkcmFnZ2FibGVNb3ZlLnNldE5vZGVSZWYsIHJlZl0pO1xuICBjb25zdCBpc0RyYWdnaW5nID0gZHJhZ2dhYmxlTW92ZS5pc0RyYWdnaW5nIHx8IGRyYWdnYWJsZVJlc2l6ZS5pc0RyYWdnaW5nO1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50XG4gICAgICByZWY9e3JlZnN9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2RyYWdnYWJsZS1sZWdlbmQnLCB7J2lzLWRyYWdnaW5nJzogaXNEcmFnZ2luZ30pfVxuICAgICAgc3R5bGU9e3suLi5wb3NpdGlvblN0eWxlcywgdHJhbnNmb3JtOiBDU1MuVHJhbnNsYXRlLnRvU3RyaW5nKGRyYWdnYWJsZU1vdmUudHJhbnNmb3JtKX19XG4gICAgICBjb250ZW50SGVpZ2h0PXtwcm9wcy5jb250ZW50SGVpZ2h0fVxuICAgICAgey4uLmRyYWdnYWJsZU1vdmUuYXR0cmlidXRlc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7aXNEcmFnZ2luZyA/IDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLWlucHV0LWJsb2NrXCIgLz4gOiBudWxsfVxuICAgICAgPFN0eWxlZE1vdmVIYW5kbGUgY2xhc3NOYW1lPVwibGVnZW5kLW1vdmUtaGFuZGxlXCIgey4uLmRyYWdnYWJsZU1vdmUubGlzdGVuZXJzfT5cbiAgICAgICAgPERyYWdnYWJsZURvdHMgaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICA8L1N0eWxlZE1vdmVIYW5kbGU+XG4gICAgICA8U3R5bGVkUmVzaXplSGFuZGxlXG4gICAgICAgIGNsYXNzTmFtZT1cImxlZ2VuZC1yZXNpemUtaGFuZGxlXCJcbiAgICAgICAgcmVmPXtkcmFnZ2FibGVSZXNpemUuc2V0Tm9kZVJlZn1cbiAgICAgICAgey4uLmRyYWdnYWJsZVJlc2l6ZS5saXN0ZW5lcnN9XG4gICAgICA+XG4gICAgICAgIDxIb3Jpem9udGFsUmVzaXplSGFuZGxlIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgPC9TdHlsZWRSZXNpemVIYW5kbGU+XG4gICAgPC9TdHlsZWREcmFnZ2FibGVMZWdlbmRDb250ZW50PlxuICApO1xufSk7XG5cbnR5cGUgRHJhZ2dhYmxlTGVnZW5kUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGlzU2lkZVBhbmVsU2hvd246IGJvb2xlYW47XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzOiB0eXBlb2Ygc2V0TWFwQ29udHJvbFNldHRpbmdzO1xufT47XG5cbmNvbnN0IERyYWdnYWJsZUxlZ2VuZCA9IHdpdGhUaGVtZShcbiAgKHtcbiAgICBpc1NpZGVQYW5lbFNob3duLFxuICAgIGNoaWxkcmVuLFxuICAgIG1hcENvbnRyb2xzLFxuICAgIHNldE1hcENvbnRyb2xTZXR0aW5ncyxcbiAgICB0aGVtZVxuICB9OiBEcmFnZ2FibGVMZWdlbmRQcm9wcyAmIHt0aGVtZTogYW55fSkgPT4ge1xuICAgIGNvbnN0IHNldHRpbmdzID0gbWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3M7XG5cbiAgICBjb25zdCBsZWdlbmRDb250ZW50UmVmID0gdXNlUmVmPEhUTUxFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBvbkNoYW5nZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soXG4gICAgICBuZXdTZXR0aW5ncyA9PiBzZXRNYXBDb250cm9sU2V0dGluZ3MoJ21hcExlZ2VuZCcsIG5ld1NldHRpbmdzKSxcbiAgICAgIFtzZXRNYXBDb250cm9sU2V0dGluZ3NdXG4gICAgKTtcbiAgICBjb25zdCB7cG9zaXRpb25TdHlsZXMsIHVwZGF0ZVBvc2l0aW9uLCBzdGFydFJlc2l6ZSwgcmVzaXplLCBjb250ZW50SGVpZ2h0fSA9IHVzZUxlZ2VuZFBvc2l0aW9uKHtcbiAgICAgIGxlZ2VuZENvbnRlbnRSZWYsXG4gICAgICBpc1NpZGVQYW5lbFNob3duLFxuICAgICAgdGhlbWUsXG4gICAgICBzZXR0aW5ncyxcbiAgICAgIG9uQ2hhbmdlU2V0dGluZ3NcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZURyYWdTdGFydCA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmFjdGl2ZS5pZCkge1xuICAgICAgICAgIGNhc2UgRFJBR19SRVNJWkVfSUQ6XG4gICAgICAgICAgICBzdGFydFJlc2l6ZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbdXBkYXRlUG9zaXRpb24sIHN0YXJ0UmVzaXplXVxuICAgICk7XG4gICAgY29uc3QgaGFuZGxlRHJhZ0VuZCA9IHVzZUNhbGxiYWNrKHVwZGF0ZVBvc2l0aW9uLCBbdXBkYXRlUG9zaXRpb25dKTtcbiAgICBjb25zdCBoYW5kbGVEcmFnTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmFjdGl2ZS5pZCkge1xuICAgICAgICAgIGNhc2UgRFJBR19SRVNJWkVfSUQ6XG4gICAgICAgICAgICByZXNpemUoZXZlbnQuZGVsdGEueSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtyZXNpemVdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBvbkRyYWdTdGFydD17aGFuZGxlRHJhZ1N0YXJ0fVxuICAgICAgICBvbkRyYWdNb3ZlPXtoYW5kbGVEcmFnTW92ZX1cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVEcmFnRW5kfVxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvV2luZG93RWRnZXNdfVxuICAgICAgPlxuICAgICAgICA8RHJhZ2dhYmxlTGVnZW5kQ29udGVudFxuICAgICAgICAgIHJlZj17bGVnZW5kQ29udGVudFJlZn1cbiAgICAgICAgICBwb3NpdGlvblN0eWxlcz17cG9zaXRpb25TdHlsZXN9XG4gICAgICAgICAgY29udGVudEhlaWdodD17Y29udGVudEhlaWdodH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9EcmFnZ2FibGVMZWdlbmRDb250ZW50PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgICk7XG4gIH1cbikgYXMgRkM8RHJhZ2dhYmxlTGVnZW5kUHJvcHM+O1xuXG50eXBlIEltYWdlRXhwb3J0TGVnZW5kUHJvcHMgPSB7XG4gIHNldHRpbmdzPzogTWFwTGVnZW5kQ29udHJvbFNldHRpbmdzO1xuICBpc1NpZGVQYW5lbFNob3duOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3QgSW1hZ2VFeHBvcnRMZWdlbmQgPSB3aXRoVGhlbWUoKHtzZXR0aW5ncywgaXNTaWRlUGFuZWxTaG93biwgdGhlbWUsIGNoaWxkcmVufSkgPT4ge1xuICBjb25zdCBjb250YWluZXJSZWY6IFJlYWN0Lk11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgbGVnZW5kQ29udGVudFJlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+ID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IHtwb3NpdGlvblN0eWxlcywgY29udGVudEhlaWdodH0gPSB1c2VMZWdlbmRQb3NpdGlvbih7XG4gICAgbGVnZW5kQ29udGVudFJlZixcbiAgICBpc1NpZGVQYW5lbFNob3duLFxuICAgIHRoZW1lLFxuICAgIHNldHRpbmdzLFxuICAgIG9uQ2hhbmdlU2V0dGluZ3M6ICgpID0+IHtcbiAgICAgIC8vIGRvIG5vdGhpbmcgYnkgZGVmYXVsdFxuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgcG9ydGFsUm9vdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgPy5jbG9zZXN0KCcuZXhwb3J0LW1hcC1pbnN0YW5jZScpXG4gICAgPy5xdWVyeVNlbGVjdG9yKCcjZGVmYXVsdC1kZWNrZ2wtb3ZlcmxheS13cmFwcGVyJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17Y29udGFpbmVyUmVmfT5cbiAgICAgIHtwb3J0YWxSb290XG4gICAgICAgID8gY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaXhlZC1sZWdlbmRcIlxuICAgICAgICAgICAgICByZWY9e2xlZ2VuZENvbnRlbnRSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXt7Li4ucG9zaXRpb25TdHlsZXMsIHBvc2l0aW9uOiAnYWJzb2x1dGUnfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEZpeGVkTGVnZW5kQ29udGVudCBjb250ZW50SGVpZ2h0PXtjb250ZW50SGVpZ2h0fT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgIDwvU3R5bGVkRml4ZWRMZWdlbmRDb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+LFxuICAgICAgICAgICAgcG9ydGFsUm9vdFxuICAgICAgICAgIClcbiAgICAgICAgOiBudWxsfVxuICAgIDwvZGl2PlxuICApO1xufSkgYXMgUmVhY3QuRkM8SW1hZ2VFeHBvcnRMZWdlbmRQcm9wcz47XG5cbk1hcExlZ2VuZFBhbmVsRmFjdG9yeS5kZXBzID0gW01hcENvbnRyb2xUb29sdGlwRmFjdG9yeSwgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSwgTWFwTGVnZW5kRmFjdG9yeV07XG5cbmludGVyZmFjZSBNYXBMZWdlbmRQYW5lbEljb25zIHtcbiAgbGVnZW5kOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsUHJvcHMgPSB7XG4gIHRoZW1lOiBhbnk7XG4gIGxheWVyczogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHNjYWxlOiBudW1iZXI7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNFeHBvcnQ6IGJvb2xlYW47XG4gIGxvZ29Db21wb25lbnQ6IEVsZW1lbnQ7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRQYW5lbEljb25zO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U/OiAob2xkTGF5ZXI6IExheWVyLCBuZXdWaXNDb25maWc6IFBhcnRpYWw8TGF5ZXJWaXNDb25maWc+KSA9PiB2b2lkO1xuICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ/OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB0b2dnbGVTcGxpdE1hcFZpZXdwb3J0PjtcbiAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrQ29udHJvbEJ0bj86IChlPzogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIHNldHRpbmdzOiBNYXBMZWdlbmRDb250cm9sU2V0dGluZ3M7XG4gIGlzU2lkZVBhbmVsU2hvd246IGJvb2xlYW47XG4gIGFjdGl2ZVNpZGVQYW5lbDogc3RyaW5nIHwgbnVsbDtcbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzOiBhbnk7XG59O1xuXG50eXBlIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50cyA9IHtcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT47XG4gIE1hcENvbnRyb2xQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFBhbmVsRmFjdG9yeT47XG4gIE1hcExlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeT47XG59O1xuXG50eXBlIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50VHlwZSA9IFJlYWN0LkZDPE1hcExlZ2VuZFBhbmVsUHJvcHM+O1xuXG5jb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gIGxlZ2VuZDogcHJvcHMgPT4gPExlZ2VuZCB7Li4ucHJvcHN9IGhlaWdodD1cIjE4cHhcIiAvPlxufTtcblxuY29uc3QgTWFwTGVnZW5kUGFuZWxDb21wb25lbnQgPSAoe1xuICBsYXllcnMsXG4gIG1hcENvbnRyb2xzLFxuICBzY2FsZSxcbiAgb25Ub2dnbGVNYXBDb250cm9sLFxuICBpc0V4cG9ydCxcbiAgbG9nb0NvbXBvbmVudCxcbiAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gIG1hcFN0YXRlLFxuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICBvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQsXG4gIG9uQ2xpY2tDb250cm9sQnRuLFxuICBhY3RpdmVTaWRlUGFuZWwsXG4gIHNldE1hcENvbnRyb2xTZXR0aW5ncyxcbiAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQgPSB0cnVlLFxuICBjbGFzc05hbWUsXG4gIE1hcENvbnRyb2xUb29sdGlwLFxuICBNYXBDb250cm9sUGFuZWwsXG4gIE1hcExlZ2VuZFxufTogTWFwTGVnZW5kUGFuZWxQcm9wcyAmIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50cykgPT4ge1xuICBjb25zdCBpc1NpZGVQYW5lbFNob3duID0gQm9vbGVhbihhY3RpdmVTaWRlUGFuZWwpO1xuICBjb25zdCBzZXR0aW5ncyA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNldHRpbmdzO1xuXG4gIGNvbnN0IG1hcExlZ2VuZCA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQgfHwgKHt9IGFzIE1hcENvbnRyb2xNYXBMZWdlbmQpO1xuICBjb25zdCB7YWN0aXZlLCBkaXNhYmxlRWRpdH0gPSBtYXBMZWdlbmQgfHwge307XG4gIGNvbnN0IHJvb3RDb250ZXh0ID0gdXNlQ29udGV4dChSb290Q29udGV4dCk7XG5cbiAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsaWNrQ29udHJvbEJ0bj8uKCk7XG4gICAgaWYgKG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmUpIHtcbiAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwRHJhdycpO1xuICAgIH1cbiAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICB9LCBbb25DbGlja0NvbnRyb2xCdG4sIG9uVG9nZ2xlTWFwQ29udHJvbCwgbWFwQ29udHJvbHNdKTtcbiAgY29uc3Qgb25DbG9zZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgIH0sXG4gICAgW29uVG9nZ2xlTWFwQ29udHJvbF1cbiAgKTtcblxuICBpZiAoIW1hcExlZ2VuZC5zaG93KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsZWdlbmRQYW5lbCA9IGFjdGl2ZSA/IChcbiAgICA8TWFwQ29udHJvbFBhbmVsXG4gICAgICBzY2FsZT17c2NhbGV9XG4gICAgICBoZWFkZXI9XCJoZWFkZXIubGF5ZXJMZWdlbmRcIlxuICAgICAgey4uLntvbkNsaWNrOiBvbkNsb3NlQ2xpY2ssIHBpbm5hYmxlOiBmYWxzZSwgZGlzYWJsZUNsb3NlOiBmYWxzZX19XG4gICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICBsb2dvQ29tcG9uZW50PXtsb2dvQ29tcG9uZW50fVxuICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PXtvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9XG4gICAgICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZD17aXNWaWV3cG9ydFVuc3luY0FsbG93ZWR9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICA+XG4gICAgICA8TWFwTGVnZW5kXG4gICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgIGRpc2FibGVFZGl0PXtkaXNhYmxlRWRpdH1cbiAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPXtvbkxheWVyVmlzQ29uZmlnQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L01hcENvbnRyb2xQYW5lbD5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FjdGl2ZSA/IChcbiAgICAgICAgaGFzUG9ydGFibGVXaWR0aChicmVha1BvaW50VmFsdWVzKSA/IChcbiAgICAgICAgICBsZWdlbmRQYW5lbFxuICAgICAgICApIDogaXNFeHBvcnQgPyAoXG4gICAgICAgICAgPEltYWdlRXhwb3J0TGVnZW5kIGlzU2lkZVBhbmVsU2hvd249e2lzU2lkZVBhbmVsU2hvd259IHNldHRpbmdzPXtzZXR0aW5nc30+XG4gICAgICAgICAgICB7bGVnZW5kUGFuZWx9XG4gICAgICAgICAgPC9JbWFnZUV4cG9ydExlZ2VuZD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8RHJhZ2dhYmxlTGVnZW5kXG4gICAgICAgICAgICAgIGlzU2lkZVBhbmVsU2hvd249e2lzU2lkZVBhbmVsU2hvd259XG4gICAgICAgICAgICAgIG1hcENvbnRyb2xzPXttYXBDb250cm9sc31cbiAgICAgICAgICAgICAgc2V0TWFwQ29udHJvbFNldHRpbmdzPXtzZXRNYXBDb250cm9sU2V0dGluZ3N9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtsZWdlbmRQYW5lbH1cbiAgICAgICAgICAgIDwvRHJhZ2dhYmxlTGVnZW5kPixcbiAgICAgICAgICAgIHJvb3RDb250ZXh0Py5jdXJyZW50ID8/IGRvY3VtZW50LmJvZHlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICkgOiBudWxsfVxuICAgICAgeyFpc0V4cG9ydCA/IChcbiAgICAgICAgPE1hcENvbnRyb2xUb29sdGlwIGlkPVwic2hvdy1sZWdlbmRcIiBtZXNzYWdlPVwidG9vbHRpcC5zaG93TGVnZW5kXCI+XG4gICAgICAgICAgPE1hcENvbnRyb2xCdXR0b24gY2xhc3NOYW1lPVwibWFwLWNvbnRyb2wtYnV0dG9uIHNob3ctbGVnZW5kXCIgb25DbGljaz17b25DbGlja30+XG4gICAgICAgICAgICA8YWN0aW9uSWNvbnMubGVnZW5kIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICAgIDwvTWFwQ29udHJvbEJ1dHRvbj5cbiAgICAgICAgPC9NYXBDb250cm9sVG9vbHRpcD5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvPlxuICApO1xufTtcblxuZnVuY3Rpb24gTWFwTGVnZW5kUGFuZWxGYWN0b3J5KFxuICBNYXBDb250cm9sVG9vbHRpcDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5PixcbiAgTWFwQ29udHJvbFBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBDb250cm9sUGFuZWxGYWN0b3J5PixcbiAgTWFwTGVnZW5kOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBMZWdlbmRGYWN0b3J5PlxuKTogTWFwTGVnZW5kUGFuZWxDb21wb25lbnRUeXBlIHtcbiAgcmV0dXJuIChwcm9wczogTWFwTGVnZW5kUGFuZWxQcm9wcykgPT4gKFxuICAgIDxNYXBMZWdlbmRQYW5lbENvbXBvbmVudFxuICAgICAgey4uLnByb3BzfVxuICAgICAgTWFwQ29udHJvbFRvb2x0aXA9e01hcENvbnRyb2xUb29sdGlwfVxuICAgICAgTWFwQ29udHJvbFBhbmVsPXtNYXBDb250cm9sUGFuZWx9XG4gICAgICBNYXBMZWdlbmQ9e01hcExlZ2VuZH1cbiAgICAvPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBMZWdlbmRQYW5l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LE1BQUEsWUFBQWtGLGFBQUEsQ0FBQWxGLE1BQUEsWUFBQXdMLFFBQUEsUUFDR25FLE1BQU0sR0FDTCxJQUFBb0UsdUJBQWdCLEVBQUNDLHdCQUFnQixDQUFDLEdBQ2hDTixXQUFXLEdBQ1QxQixRQUFRLGdCQUNWMUosTUFBQSxZQUFBa0YsYUFBQSxDQUFDOEMsaUJBQWlCO0lBQUM1QixnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQUNHLFFBQVEsRUFBRUE7RUFBUyxHQUN2RTZFLFdBQ2dCLENBQUMsa0JBRXBCLElBQUEzQyxzQkFBWSxnQkFDVnpJLE1BQUEsWUFBQWtGLGFBQUEsQ0FBQ2MsZUFBZTtJQUNkSSxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DQyxXQUFXLEVBQUVBLFdBQVk7SUFDekJDLHFCQUFxQixFQUFFQTtFQUFzQixHQUU1QzhFLFdBQ2MsQ0FBQyxHQUFBOUIsb0JBQUEsR0FDbEJxQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXJDLE9BQU8sY0FBQWdCLG9CQUFBLGNBQUFBLG9CQUFBLEdBQUlxQyxRQUFRLENBQUNDLElBQ25DLENBQUMsQ0FDRixHQUNDLElBQUksRUFDUCxDQUFDbEMsUUFBUSxnQkFDUjFKLE1BQUEsWUFBQWtGLGFBQUEsQ0FBQ21GLGlCQUFpQjtJQUFDekYsRUFBRSxFQUFDLGFBQWE7SUFBQ2lILE9BQU8sRUFBQztFQUFvQixnQkFDOUQ3TCxNQUFBLFlBQUFrRixhQUFBLENBQUN6RSxrQkFBQSxDQUFBcUwsZ0JBQWdCO0lBQUMxRyxTQUFTLEVBQUMsZ0NBQWdDO0lBQUMwRixPQUFPLEVBQUVBO0VBQVEsZ0JBQzVFOUssTUFBQSxZQUFBa0YsYUFBQSxDQUFDMkUsV0FBVyxDQUFDWixNQUFNO0lBQUNuRCxNQUFNLEVBQUM7RUFBTSxDQUFFLENBQ25CLENBQ0QsQ0FBQyxHQUNsQixJQUNKLENBQUM7QUFFUCxDQUFDO0FBRUQsU0FBUzZDLHFCQUFxQkEsQ0FDNUIwQixpQkFBOEQsRUFDOURDLGVBQTBELEVBQzFEQyxTQUE4QyxFQUNqQjtFQUM3QixPQUFPLFVBQUMxRyxLQUEwQjtJQUFBLG9CQUNoQzdELE1BQUEsWUFBQWtGLGFBQUEsQ0FBQ2lFLHVCQUF1QixNQUFBaEUsU0FBQSxpQkFDbEJ0QixLQUFLO01BQ1R3RyxpQkFBaUIsRUFBRUEsaUJBQWtCO01BQ3JDQyxlQUFlLEVBQUVBLGVBQWdCO01BQ2pDQyxTQUFTLEVBQUVBO0lBQVUsRUFDdEIsQ0FBQztFQUFBLENBQ0g7QUFDSDtBQUFDLElBQUF3QixRQUFBLEdBQUFDLE9BQUEsY0FFY3JELHFCQUFxQiIsImlnbm9yZUxpc3QiOltdfQ==
|
package/dist/map/map-legend.js
CHANGED
|
@@ -166,7 +166,7 @@ function LayerColorLegendFactory(ColorLegend, SingleColorLegend, PanelHeaderActi
|
|
|
166
166
|
fieldType: colorField && colorField.type || 'real',
|
|
167
167
|
range: colorRange,
|
|
168
168
|
onUpdateColorLegend: onUpdateColorLegend,
|
|
169
|
-
disableEdit: disableEdit,
|
|
169
|
+
disableEdit: disableEdit || Boolean(isExport),
|
|
170
170
|
isFixed: isFixed,
|
|
171
171
|
mapState: mapState,
|
|
172
172
|
labelFormat: colorField !== null && colorField !== void 0 && colorField.displayFormat ? (0, _d3Format.format)(colorField === null || colorField === void 0 ? void 0 : colorField.displayFormat) : null
|
|
@@ -363,4 +363,4 @@ function MapLegendFactory(LayerLegendHeader, LayerLegendContent) {
|
|
|
363
363
|
return MapLegend;
|
|
364
364
|
}
|
|
365
365
|
var _default = exports["default"] = MapLegendFactory;
|
|
366
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZDNDb2xvciIsIl9kM0Zvcm1hdCIsIl9yZWFjdEludGwiLCJfY29sb3JMZWdlbmQiLCJfcmFkaXVzTGVnZW5kIiwiX2NvbnN0YW50cyIsIl9sb2NhbGl6YXRpb24iLCJfdmlld3BvcnRNZXJjYXRvclByb2plY3QiLCJfaWNvbnMiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJTdHlsZWRNYXBDb250cm9sTGVnZW5kIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiZm9udEZhbWlseSIsInBhbmVsQm9yZGVyQ29sb3IiLCJsYXN0Iiwid2lkdGgiLCJ0ZXh0Q29sb3IiLCJzdWJ0ZXh0Q29sb3IiLCJ0ZXh0Q29sb3JIbCIsIlZpc3VhbENoYW5uZWxNZXRyaWMiLCJfcmVmIiwibmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJMYXllckRlZmF1bHRMZWdlbmQiLCJfcmVmMiIsImxhYmVsIiwiU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5IiwiZGVwcyIsIkxlZ2VuZFJvd0ZhY3RvcnkiLCJMZWdlbmRSb3ciLCJTaW5nbGVDb2xvckxlZ2VuZCIsIl9yZWYzIiwiY29sb3IiLCJkaXNwbGF5TGFiZWwiLCJCb29sZWFuIiwiQXJyYXkiLCJpc0FycmF5IiwicmdiIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInRvU3RyaW5nIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iLCJMYXllckNvbG9yTGVnZW5kRmFjdG9yeSIsIkNvbG9yTGVnZW5kRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIkNvbG9yTGVnZW5kIiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllckNvbG9yTGVnZW5kIiwiX3JlZjQiLCJkZXNjcmlwdGlvbiIsImNvbmZpZyIsImxheWVyIiwiY29sb3JDaGFubmVsIiwiZGlzYWJsZUVkaXQiLCJvbkxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiaXNFeHBvcnQiLCJtYXBTdGF0ZSIsImFjdGlvbkljb25zIiwiaW50bCIsInVzZUludGwiLCJlbmFibGVDb2xvckJ5IiwibWVhc3VyZSIsInNjYWxlIiwiZmllbGQiLCJkb21haW4iLCJyYW5nZSIsInByb3BlcnR5IiwiZml4ZWQiLCJfbWFwIiwibWFwIiwiayIsIl9tYXAyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY29sb3JTY2FsZSIsImNvbG9yRmllbGQiLCJjb2xvckRvbWFpbiIsImlzRml4ZWQiLCJ2aXNDb25maWciLCJjb2xvclJhbmdlIiwib25VcGRhdGVDb2xvckxlZ2VuZCIsInVzZUNhbGxiYWNrIiwiY29sb3JMZWdlbmRzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJoYW5kbGVUb2dnbGVFeHBhbmRlZCIsIm9uQ2xpY2siLCJJY29uQ29tcG9uZW50IiwiZXhwYW5kZWQiLCJjb2xsYXBzZWQiLCJzY2FsZVR5cGUiLCJmaWVsZFR5cGUiLCJ0eXBlIiwibGFiZWxGb3JtYXQiLCJkaXNwbGF5Rm9ybWF0IiwiZDNGb3JtYXQiLCJmb3JtYXRNZXNzYWdlIiwiY29uY2F0Iiwia2V5IiwiZGVmYXVsdE1lc3NhZ2UiLCJnZXRMYXllclJhZGl1c1NjYWxlTWV0ZXJzVG9QaXhlbHNNdWx0aXBsaWVyIiwiX2dldERpc3RhbmNlU2NhbGVzIiwiZ2V0RGlzdGFuY2VTY2FsZXMiLCJtZXRlcnNQZXJQaXhlbCIsImZpeGVkUmFkaXVzIiwic2l6ZUZpZWxkIiwiZ2V0UmFkaXVzU2NhbGVCeVpvb20iLCJMYXllclJhZGl1c0xlZ2VuZCIsIl9yZWY1IiwidmlzdWFsQ2hhbm5lbCIsImdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbiIsImVuYWJsZVNpemVCeSIsIl9tYXAzIiwiX21hcDQiLCJzaXplU2NhbGUiLCJzaXplRG9tYWluIiwic2l6ZVJhbmdlIiwicmFkaXVzTXVsdGlwbGllciIsInYiLCJpc0NvbG9yQ2hhbm5lbCIsIkNIQU5ORUxfU0NBTEVTIiwiY29sb3JBZ2dyIiwiaW5jbHVkZXMiLCJjaGFubmVsU2NhbGVUeXBlIiwiaXNSYWRpdXNDaGFubmVsIiwicmFkaXVzIiwiTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5IiwiTGF5ZXJMZWdlbmRIZWFkZXIiLCJfcmVmNiIsIm9wdGlvbnMiLCJzaG93TGF5ZXJOYW1lIiwiZGVmYXVsdEFjdGlvbkljb25zIiwiQXJyb3dEb3duIiwiQXJyb3dSaWdodCIsIkxheWVyTGVnZW5kQ29udGVudEZhY3RvcnkiLCJMYXllckxlZ2VuZENvbnRlbnQiLCJfcmVmNyIsImNvbnRhaW5lclciLCJ2aXN1YWxDaGFubmVscyIsImdldExlZ2VuZFZpc3VhbENoYW5uZWxzIiwiY2hhbm5lbEtleXMiLCJ2YWx1ZXMiLCJjb2xvckNoYW5uZWxzIiwibm9uQ29sb3JDaGFubmVscyIsInZjIiwiRElNRU5TSU9OUyIsImNvbG9yQ2hhbm5lbFRvUmVuZGVyIiwiY2MiLCJfbGF5ZXIkZ2V0VmlzdWFsQ2hhbm4iLCJjb25kaXRpb24iLCJGcmFnbWVudCIsIm1hdGNoQ29uZGl0aW9uIiwiZW5hYmxlZCIsImRlZmF1bHRNZWFzdXJlIiwiTWFwTGVnZW5kRmFjdG9yeSIsIk1hcExlZ2VuZCIsIl9yZWY4IiwiX3JlZjgkbGF5ZXJzIiwibGF5ZXJzIiwiX3JlZjgkYWN0aW9uSWNvbnMiLCJpbmRleCIsImlzVmFsaWRUb1NhdmUiLCJoaWRkZW4iLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7RkMsIHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYn0gZnJvbSAnZDMtY29sb3InO1xuaW1wb3J0IHtmb3JtYXQgYXMgZDNGb3JtYXR9IGZyb20gJ2QzLWZvcm1hdCc7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IENvbG9yTGVnZW5kRmFjdG9yeSwge0xlZ2VuZFJvd0ZhY3Rvcnl9IGZyb20gJy4uL2NvbW1vbi9jb2xvci1sZWdlbmQnO1xuaW1wb3J0IFJhZGl1c0xlZ2VuZCBmcm9tICcuLi9jb21tb24vcmFkaXVzLWxlZ2VuZCc7XG5pbXBvcnQge0NIQU5ORUxfU0NBTEVTLCBESU1FTlNJT05TfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7TGF5ZXIsIExheWVyQmFzZUNvbmZpZywgVmlzdWFsQ2hhbm5lbCwgVmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9ufSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0xheWVyVmlzQ29uZmlnLCBNYXBTdGF0ZSwgUkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtnZXREaXN0YW5jZVNjYWxlc30gZnJvbSAndmlld3BvcnQtbWVyY2F0b3ItcHJvamVjdCc7XG5pbXBvcnQge0Fycm93RG93biwgQXJyb3dSaWdodH0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkgZnJvbSAnLi4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXItYWN0aW9uJztcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRyb2xMZWdlbmRQcm9wcyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBsYXN0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRyb2xMZWdlbmQgPSBzdHlsZWQuZGl2PFN0eWxlZE1hcENvbnRyb2xMZWdlbmRQcm9wcz5gXG4gIHBhZGRpbmc6IDEwcHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHggMTBweFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHtwcm9wcyA9PiAocHJvcHMubGFzdCA/IDAgOiAnMXB4Jyl9O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAubGVnZW5kLS1sYXllcl9uYW1lIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5sZWdlbmQtLWxheWVyX3R5cGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9zaXplLXRpdGxlLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX190aXRsZSB7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9faXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgfVxuICAubGVnZW5kLS1sYXllcl9ieSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9jb2xvcl9maWVsZCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9jb2xvci1sZWdlbmQge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFZpc3VhbENoYW5uZWxNZXRyaWMgPSAoe25hbWV9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX190aXRsZVwiPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9jb2xvcl9maWVsZFwiPlxuICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bmFtZX0gLz5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyU2l6ZUxlZ2VuZFByb3BzID0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5ZXJEZWZhdWx0TGVnZW5kOiBSZWFjdC5GQzxMYXllclNpemVMZWdlbmRQcm9wcz4gPSAoe2xhYmVsLCBuYW1lfSkgPT5cbiAgbGFiZWwgPyAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX3NpemUtc2NoZW1hXCI+XG4gICAgICA8cD5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9ieVwiPntsYWJlbCA/IDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtsYWJlbH0gLz4gOiBudWxsfTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9ieVwiPiBieSA8L3NwYW4+XG4gICAgICA8L3A+XG4gICAgICB7bmFtZSAmJiA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtuYW1lfSAvPn1cbiAgICA8L2Rpdj5cbiAgKSA6IG51bGw7XG5cbmV4cG9ydCB0eXBlIFNpbmdsZUNvbG9yTGVnZW5kUHJvcHMgPSB7XG4gIGNvbG9yOiBSR0JDb2xvcjtcbiAgbGFiZWw/OiBzdHJpbmc7XG59O1xuXG5TaW5nbGVDb2xvckxlZ2VuZEZhY3RvcnkuZGVwcyA9IFtMZWdlbmRSb3dGYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNpbmdsZUNvbG9yTGVnZW5kRmFjdG9yeShMZWdlbmRSb3c6IFJldHVyblR5cGU8dHlwZW9mIExlZ2VuZFJvd0ZhY3Rvcnk+KSB7XG4gIGNvbnN0IFNpbmdsZUNvbG9yTGVnZW5kOiBSZWFjdC5GQzxTaW5nbGVDb2xvckxlZ2VuZFByb3BzPiA9ICh7Y29sb3IsIGxhYmVsfSkgPT4gKFxuICAgIDxMZWdlbmRSb3dcbiAgICAgIGxhYmVsPXtsYWJlbCA/PyAnJ31cbiAgICAgIGRpc3BsYXlMYWJlbD17Qm9vbGVhbihsYWJlbCl9XG4gICAgICBjb2xvcj17QXJyYXkuaXNBcnJheShjb2xvcikgPyByZ2IoLi4uY29sb3IpLnRvU3RyaW5nKCkgOiBjb2xvcn1cbiAgICAvPlxuICApO1xuXG4gIFNpbmdsZUNvbG9yTGVnZW5kLmRpc3BsYXlOYW1lID0gJ1NpbmdsZUNvbG9yTGVnZW5kJztcblxuICByZXR1cm4gUmVhY3QubWVtbyhTaW5nbGVDb2xvckxlZ2VuZCk7XG59XG5cbmV4cG9ydCB0eXBlIExheWVyQ29sb3JMZWdlbmRQcm9wcyA9IHtcbiAgZGVzY3JpcHRpb246IFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbjtcbiAgY29uZmlnOiBMYXllckJhc2VDb25maWc7XG4gIGNvbG9yQ2hhbm5lbDogVmlzdWFsQ2hhbm5lbDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIGxheWVyOiBMYXllcjtcbiAgZGlzYWJsZUVkaXQ/OiBib29sZWFuO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRJY29ucztcbn07XG5cbkxheWVyQ29sb3JMZWdlbmRGYWN0b3J5LmRlcHMgPSBbXG4gIENvbG9yTGVnZW5kRmFjdG9yeSxcbiAgU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5LFxuICBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnlcbl07XG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb2xvckxlZ2VuZEZhY3RvcnkoXG4gIENvbG9yTGVnZW5kOiBSZXR1cm5UeXBlPHR5cGVvZiBDb2xvckxlZ2VuZEZhY3Rvcnk+LFxuICBTaW5nbGVDb2xvckxlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5PixcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllckNvbG9yTGVnZW5kOiBSZWFjdC5GQzxMYXllckNvbG9yTGVnZW5kUHJvcHM+ID0gKHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBjb25maWcsXG4gICAgbGF5ZXIsXG4gICAgY29sb3JDaGFubmVsLFxuICAgIGRpc2FibGVFZGl0LFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsXG4gICAgaXNFeHBvcnQsXG4gICAgbWFwU3RhdGUsXG4gICAgYWN0aW9uSWNvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgY29uc3QgZW5hYmxlQ29sb3JCeSA9IGRlc2NyaXB0aW9uLm1lYXN1cmU7XG4gICAgY29uc3Qge3NjYWxlLCBmaWVsZCwgZG9tYWluLCByYW5nZSwgcHJvcGVydHksIGZpeGVkfSA9IGNvbG9yQ2hhbm5lbDtcbiAgICBjb25zdCBbY29sb3JTY2FsZSwgY29sb3JGaWVsZCwgY29sb3JEb21haW5dID0gW3NjYWxlLCBmaWVsZCwgZG9tYWluXS5tYXAoayA9PiBjb25maWdba10pO1xuICAgIGNvbnN0IGlzRml4ZWQgPSBmaXhlZCAmJiBjb25maWcudmlzQ29uZmlnW2ZpeGVkXTtcblxuICAgIGNvbnN0IGNvbG9yUmFuZ2UgPSBjb25maWcudmlzQ29uZmlnW3JhbmdlXTtcbiAgICBjb25zdCBvblVwZGF0ZUNvbG9yTGVnZW5kID0gdXNlQ2FsbGJhY2soXG4gICAgICBjb2xvckxlZ2VuZHMgPT4ge1xuICAgICAgICBpZiAob25MYXllclZpc0NvbmZpZ0NoYW5nZSkge1xuICAgICAgICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UobGF5ZXIsIHtcbiAgICAgICAgICAgIFtyYW5nZV06IHtcbiAgICAgICAgICAgICAgLi4uY29sb3JSYW5nZSxcbiAgICAgICAgICAgICAgY29sb3JMZWdlbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbbGF5ZXIsIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsIGNvbG9yUmFuZ2UsIHJhbmdlXVxuICAgICk7XG4gICAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoaXNFeHBvcnQpO1xuICAgIGNvbnN0IGhhbmRsZVRvZ2dsZUV4cGFuZGVkID0gKCkgPT4gc2V0SXNFeHBhbmRlZCghaXNFeHBhbmRlZCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9faXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3Itc2NoZW1hXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtlbmFibGVDb2xvckJ5ID8gKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfc2l6ZS10aXRsZS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtlbmFibGVDb2xvckJ5fSAvPlxuICAgICAgICAgICAgICAgIHshaXNFeHBvcnQgPyAoXG4gICAgICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJsZWdlbmQtY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVG9nZ2xlRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzRXhwYW5kZWQgPyBhY3Rpb25JY29ucy5leHBhbmRlZCA6IGFjdGlvbkljb25zLmNvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3ItbGVnZW5kXCI+XG4gICAgICAgICAgICAgIHtlbmFibGVDb2xvckJ5ID8gKFxuICAgICAgICAgICAgICAgIDxDb2xvckxlZ2VuZFxuICAgICAgICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgICAgICAgaXNFeHBhbmRlZD17aXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgIHNjYWxlVHlwZT17Y29sb3JTY2FsZX1cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXlMYWJlbFxuICAgICAgICAgICAgICAgICAgZG9tYWluPXtjb2xvckRvbWFpbn1cbiAgICAgICAgICAgICAgICAgIGZpZWxkVHlwZT17KGNvbG9yRmllbGQgJiYgY29sb3JGaWVsZC50eXBlKSB8fCAncmVhbCd9XG4gICAgICAgICAgICAgICAgICByYW5nZT17Y29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgICAgIG9uVXBkYXRlQ29sb3JMZWdlbmQ9e29uVXBkYXRlQ29sb3JMZWdlbmR9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlRWRpdD17ZGlzYWJsZUVkaXR9XG4gICAgICAgICAgICAgICAgICBpc0ZpeGVkPXtpc0ZpeGVkfVxuICAgICAgICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgbGFiZWxGb3JtYXQ9e1xuICAgICAgICAgICAgICAgICAgICBjb2xvckZpZWxkPy5kaXNwbGF5Rm9ybWF0ID8gZDNGb3JtYXQoY29sb3JGaWVsZD8uZGlzcGxheUZvcm1hdCkgOiBudWxsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U2luZ2xlQ29sb3JMZWdlbmRcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtjb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XSB8fCBjb25maWdbcHJvcGVydHldIHx8IGNvbmZpZy5jb2xvcn1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICBpZDogYG1hcExlZ2VuZC5sYXllcnMuJHtsYXllci50eXBlfS5zaW5nbGVDb2xvci4ke2NvbG9yQ2hhbm5lbC5rZXl9YCxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U6IGludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IGBtYXBMZWdlbmQubGF5ZXJzLmRlZmF1bHQuc2luZ2xlQ29sb3IuJHtjb2xvckNoYW5uZWwua2V5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U6ICcgJyAvLyBtdXN0bid0IGJlIGVtcHR5IHN0cmluZyBvciBpZCB3aWxsIGJlIHVzZWRcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIExheWVyQ29sb3JMZWdlbmQuZGlzcGxheU5hbWUgPSAnTGF5ZXJDb2xvckxlZ2VuZCc7XG4gIHJldHVybiBSZWFjdC5tZW1vKExheWVyQ29sb3JMZWdlbmQpO1xufVxuXG5mdW5jdGlvbiBnZXRMYXllclJhZGl1c1NjYWxlTWV0ZXJzVG9QaXhlbHNNdWx0aXBsaWVyKGxheWVyLCBtYXBTdGF0ZSkge1xuICAvLyBAdHMtaWdub3JlIHRoaXMgYWN0dWFsbHkgZXhpc3RcbiAgY29uc3Qge21ldGVyc1BlclBpeGVsfSA9IGdldERpc3RhbmNlU2NhbGVzKG1hcFN0YXRlKTtcbiAgLy8gaWYgbm8gZmllbGQgc2l6ZSBpcyBkZWZpbmVkIHdlIG5lZWQgdG8gcGFzcyBmaXhlZCByYWRpdXMgPSBmYWxzZVxuICBjb25zdCBmaXhlZFJhZGl1cyA9IGxheWVyLmNvbmZpZy52aXNDb25maWcuZml4ZWRSYWRpdXMgJiYgQm9vbGVhbihsYXllci5jb25maWcuc2l6ZUZpZWxkKTtcbiAgcmV0dXJuIGxheWVyLmdldFJhZGl1c1NjYWxlQnlab29tKG1hcFN0YXRlLCBmaXhlZFJhZGl1cykgLyBtZXRlcnNQZXJQaXhlbFswXTtcbn1cblxuZXhwb3J0IHR5cGUgTWFwTGVnZW5kSWNvbnMgPSB7XG4gIGV4cGFuZGVkOiBDb21wb25lbnRUeXBlPGFueT47XG4gIGNvbGxhcHNlZDogQ29tcG9uZW50VHlwZTxhbnk+O1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJSYWRpdXNMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICB3aWR0aDogbnVtYmVyO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIHZpc3VhbENoYW5uZWw6IFZpc3VhbENoYW5uZWw7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5ZXJSYWRpdXNMZWdlbmQ6IEZDPExheWVyUmFkaXVzTGVnZW5kUHJvcHM+ID0gUmVhY3QubWVtbyhcbiAgKHtsYXllciwgd2lkdGgsIHZpc3VhbENoYW5uZWwsIG1hcFN0YXRlfSkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gbGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKHZpc3VhbENoYW5uZWwua2V5KTtcbiAgICBjb25zdCBjb25maWcgPSBsYXllci5jb25maWc7XG5cbiAgICBjb25zdCBlbmFibGVTaXplQnkgPSBkZXNjcmlwdGlvbi5tZWFzdXJlO1xuICAgIGNvbnN0IHtzY2FsZSwgZmllbGQsIGRvbWFpbiwgcmFuZ2V9ID0gdmlzdWFsQ2hhbm5lbDtcbiAgICBjb25zdCBbc2l6ZVNjYWxlLCBzaXplRmllbGQsIHNpemVEb21haW5dID0gW3NjYWxlLCBmaWVsZCwgZG9tYWluXS5tYXAoayA9PiBjb25maWdba10pO1xuICAgIGxldCBzaXplUmFuZ2UgPSBjb25maWcudmlzQ29uZmlnW3JhbmdlXTtcblxuICAgIGlmIChtYXBTdGF0ZSkge1xuICAgICAgY29uc3QgcmFkaXVzTXVsdGlwbGllciA9IGdldExheWVyUmFkaXVzU2NhbGVNZXRlcnNUb1BpeGVsc011bHRpcGxpZXIobGF5ZXIsIG1hcFN0YXRlKTtcbiAgICAgIHNpemVSYW5nZSA9IHNpemVSYW5nZS5tYXAodiA9PiB2ICogcmFkaXVzTXVsdGlwbGllcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9zaXplLXNjaGVtYVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7ZW5hYmxlU2l6ZUJ5ID8gPFZpc3VhbENoYW5uZWxNZXRyaWMgbmFtZT17ZW5hYmxlU2l6ZUJ5fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfc2l6ZS1sZWdlbmRcIj5cbiAgICAgICAgICAgICAge2VuYWJsZVNpemVCeSA/IChcbiAgICAgICAgICAgICAgICA8UmFkaXVzTGVnZW5kXG4gICAgICAgICAgICAgICAgICBzY2FsZVR5cGU9e3NpemVTY2FsZX1cbiAgICAgICAgICAgICAgICAgIGRvbWFpbj17c2l6ZURvbWFpbn1cbiAgICAgICAgICAgICAgICAgIGZpZWxkVHlwZT17KHNpemVGaWVsZCAmJiBzaXplRmllbGQudHlwZSkgfHwgJ3JlYWwnfVxuICAgICAgICAgICAgICAgICAgcmFuZ2U9e3NpemVSYW5nZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IGlzQ29sb3JDaGFubmVsID0gdmlzdWFsQ2hhbm5lbCA9PlxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3IsIENIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl0uaW5jbHVkZXModmlzdWFsQ2hhbm5lbC5jaGFubmVsU2NhbGVUeXBlKTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJMZWdlbmRIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBpc1JhZGl1c0NoYW5uZWwgPSB2aXN1YWxDaGFubmVsID0+XG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdLmluY2x1ZGVzKHZpc3VhbENoYW5uZWwuY2hhbm5lbFNjYWxlVHlwZSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckxlZ2VuZEhlYWRlckZhY3RvcnkoKSB7XG4gIGNvbnN0IExheWVyTGVnZW5kSGVhZGVyOiBSZWFjdC5GQzxMYXllckxlZ2VuZEhlYWRlclByb3BzPiA9ICh7b3B0aW9ucywgbGF5ZXJ9KSA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbnM/LnNob3dMYXllck5hbWUgIT09IGZhbHNlID8gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX25hbWVcIj57bGF5ZXIuY29uZmlnLmxhYmVsfTwvZGl2PlxuICAgICkgOiBudWxsO1xuICB9O1xuICByZXR1cm4gTGF5ZXJMZWdlbmRIZWFkZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgZXhwYW5kZWQ6IEFycm93RG93bixcbiAgY29sbGFwc2VkOiBBcnJvd1JpZ2h0XG59O1xuXG5leHBvcnQgdHlwZSBMYXllckxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBjb250YWluZXJXOiBudW1iZXI7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIGRpc2FibGVFZGl0PzogYm9vbGVhbjtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPzogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM6IE1hcExlZ2VuZEljb25zO1xufTtcblxuTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeS5kZXBzID0gW0xheWVyQ29sb3JMZWdlbmRGYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyTGVnZW5kQ29udGVudEZhY3RvcnkoXG4gIExheWVyQ29sb3JMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29sb3JMZWdlbmRGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyTGVnZW5kQ29udGVudDogUmVhY3QuRkM8TGF5ZXJMZWdlbmRDb250ZW50UHJvcHM+ID0gKHtcbiAgICBsYXllcixcbiAgICBjb250YWluZXJXLFxuICAgIG1hcFN0YXRlLFxuICAgIGRpc2FibGVFZGl0LFxuICAgIGlzRXhwb3J0LFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsXG4gICAgYWN0aW9uSWNvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHZpc3VhbENoYW5uZWxzID0gbGF5ZXIuZ2V0TGVnZW5kVmlzdWFsQ2hhbm5lbHMoKTtcbiAgICBjb25zdCBjaGFubmVsS2V5cyA9IE9iamVjdC52YWx1ZXModmlzdWFsQ2hhbm5lbHMpO1xuICAgIGNvbnN0IGNvbG9yQ2hhbm5lbHMgPSBjaGFubmVsS2V5cy5maWx0ZXIoaXNDb2xvckNoYW5uZWwpIGFzIFZpc3VhbENoYW5uZWxbXTtcbiAgICBjb25zdCBub25Db2xvckNoYW5uZWxzID0gY2hhbm5lbEtleXMuZmlsdGVyKHZjID0+ICFpc0NvbG9yQ2hhbm5lbCh2YykpO1xuICAgIGNvbnN0IHdpZHRoID0gY29udGFpbmVyVyAtIDIgKiBESU1FTlNJT05TLm1hcENvbnRyb2wucGFkZGluZztcblxuICAgIC8vIHJlbmRlciBjb2xvciBieSBjaGFuZWwgb25seVxuICAgIGxldCBjb2xvckNoYW5uZWxUb1JlbmRlciA9IGNvbG9yQ2hhbm5lbHMuZmlsdGVyKFxuICAgICAgY2MgPT5cbiAgICAgICAgKCFjYy5jb25kaXRpb24gfHwgY2MuY29uZGl0aW9uKGxheWVyLmNvbmZpZykpICYmXG4gICAgICAgIGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbihjYy5rZXkpPy5tZWFzdXJlXG4gICAgKTtcbiAgICAvLyBpZiBubyBjb2xvciBieSBjaGFuZWwsIHJlbmRlciByZXN0XG4gICAgaWYgKCFjb2xvckNoYW5uZWxUb1JlbmRlci5sZW5ndGgpIHtcbiAgICAgIGNvbG9yQ2hhbm5lbFRvUmVuZGVyID0gY29sb3JDaGFubmVscy5maWx0ZXIoXG4gICAgICAgIGNjID0+ICFjYy5jb25kaXRpb24gfHwgY2MuY29uZGl0aW9uKGxheWVyLmNvbmZpZylcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7Y29sb3JDaGFubmVsVG9SZW5kZXIubWFwKGNvbG9yQ2hhbm5lbCA9PiAoXG4gICAgICAgICAgPExheWVyQ29sb3JMZWdlbmRcbiAgICAgICAgICAgIGtleT17Y29sb3JDaGFubmVsLmtleX1cbiAgICAgICAgICAgIGNvbG9yQ2hhbm5lbD17Y29sb3JDaGFubmVsfVxuICAgICAgICAgICAgY29uZmlnPXtsYXllci5jb25maWd9XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj17bGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKGNvbG9yQ2hhbm5lbC5rZXkpfVxuICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT17b25MYXllclZpc0NvbmZpZ0NoYW5nZX1cbiAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgICAge25vbkNvbG9yQ2hhbm5lbHMubWFwKCh2aXN1YWxDaGFubmVsOiBWaXN1YWxDaGFubmVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hDb25kaXRpb24gPSAhdmlzdWFsQ2hhbm5lbC5jb25kaXRpb24gfHwgdmlzdWFsQ2hhbm5lbC5jb25kaXRpb24obGF5ZXIuY29uZmlnKTtcbiAgICAgICAgICBjb25zdCBlbmFibGVkID0gbGF5ZXIuY29uZmlnW3Zpc3VhbENoYW5uZWwuZmllbGRdIHx8IHZpc3VhbENoYW5uZWwuZGVmYXVsdE1lYXN1cmU7XG5cbiAgICAgICAgICBpZiAobWF0Y2hDb25kaXRpb24gJiYgZW5hYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBsYXllci5nZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24odmlzdWFsQ2hhbm5lbC5rZXkpO1xuICAgICAgICAgICAgaWYgKGlzUmFkaXVzQ2hhbm5lbCh2aXN1YWxDaGFubmVsKSkge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxMYXllclJhZGl1c0xlZ2VuZFxuICAgICAgICAgICAgICAgICAga2V5PXt2aXN1YWxDaGFubmVsLmtleX1cbiAgICAgICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgIHZpc3VhbENoYW5uZWw9e3Zpc3VhbENoYW5uZWx9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMYXllckRlZmF1bHRMZWdlbmRcbiAgICAgICAgICAgICAgICBrZXk9e3Zpc3VhbENoYW5uZWwua2V5fVxuICAgICAgICAgICAgICAgIGxhYmVsPXtkZXNjcmlwdGlvbi5sYWJlbH1cbiAgICAgICAgICAgICAgICBuYW1lPXtkZXNjcmlwdGlvbi5tZWFzdXJlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJMZWdlbmRDb250ZW50O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXJzPzogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xuICBkaXNhYmxlRWRpdD86IGJvb2xlYW47XG4gIGlzRXhwb3J0PzogYm9vbGVhbjtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zPzogTWFwTGVnZW5kSWNvbnM7XG59O1xuXG5NYXBMZWdlbmRGYWN0b3J5LmRlcHMgPSBbTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5LCBMYXllckxlZ2VuZENvbnRlbnRGYWN0b3J5XTtcblxuZnVuY3Rpb24gTWFwTGVnZW5kRmFjdG9yeShcbiAgTGF5ZXJMZWdlbmRIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyTGVnZW5kSGVhZGVyRmFjdG9yeT4sXG4gIExheWVyTGVnZW5kQ29udGVudDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeT5cbikge1xuICBjb25zdCBNYXBMZWdlbmQ6IFJlYWN0LkZDPE1hcExlZ2VuZFByb3BzPiA9ICh7XG4gICAgbGF5ZXJzID0gW10sXG4gICAgd2lkdGgsXG4gICAgbWFwU3RhdGUsXG4gICAgb3B0aW9ucyxcbiAgICBkaXNhYmxlRWRpdCxcbiAgICBpc0V4cG9ydCxcbiAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gIH0pID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1sZWdlbmRcIj5cbiAgICAgIHtsYXllcnMubWFwKChsYXllciwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFsYXllci5pc1ZhbGlkVG9TYXZlKCkgfHwgbGF5ZXIuY29uZmlnLmhpZGRlbikge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclcgPSB3aWR0aCB8fCBESU1FTlNJT05TLm1hcENvbnRyb2wud2lkdGg7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3R5bGVkTWFwQ29udHJvbExlZ2VuZFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllclwiXG4gICAgICAgICAgICBsYXN0PXtpbmRleCA9PT0gbGF5ZXJzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgd2lkdGg9e2NvbnRhaW5lcld9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExheWVyTGVnZW5kSGVhZGVyIGlzRXhwb3J0PXtpc0V4cG9ydH0gb3B0aW9ucz17b3B0aW9uc30gbGF5ZXI9e2xheWVyfSAvPlxuICAgICAgICAgICAgPExheWVyTGVnZW5kQ29udGVudFxuICAgICAgICAgICAgICBjb250YWluZXJXPXtjb250YWluZXJXfVxuICAgICAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgICAgICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U9e29uTGF5ZXJWaXNDb25maWdDaGFuZ2V9XG4gICAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRNYXBDb250cm9sTGVnZW5kPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgTWFwTGVnZW5kLmRpc3BsYXlOYW1lID0gJ01hcExlZ2VuZCc7XG5cbiAgcmV0dXJuIE1hcExlZ2VuZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTGVnZW5kRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQVAsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVQsT0FBQTtBQUdBLElBQUFVLHdCQUFBLEdBQUFW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
|
|
366
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZDNDb2xvciIsIl9kM0Zvcm1hdCIsIl9yZWFjdEludGwiLCJfY29sb3JMZWdlbmQiLCJfcmFkaXVzTGVnZW5kIiwiX2NvbnN0YW50cyIsIl9sb2NhbGl6YXRpb24iLCJfdmlld3BvcnRNZXJjYXRvclByb2plY3QiLCJfaWNvbnMiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJTdHlsZWRNYXBDb250cm9sTGVnZW5kIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiZm9udEZhbWlseSIsInBhbmVsQm9yZGVyQ29sb3IiLCJsYXN0Iiwid2lkdGgiLCJ0ZXh0Q29sb3IiLCJzdWJ0ZXh0Q29sb3IiLCJ0ZXh0Q29sb3JIbCIsIlZpc3VhbENoYW5uZWxNZXRyaWMiLCJfcmVmIiwibmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJMYXllckRlZmF1bHRMZWdlbmQiLCJfcmVmMiIsImxhYmVsIiwiU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5IiwiZGVwcyIsIkxlZ2VuZFJvd0ZhY3RvcnkiLCJMZWdlbmRSb3ciLCJTaW5nbGVDb2xvckxlZ2VuZCIsIl9yZWYzIiwiY29sb3IiLCJkaXNwbGF5TGFiZWwiLCJCb29sZWFuIiwiQXJyYXkiLCJpc0FycmF5IiwicmdiIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInRvU3RyaW5nIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iLCJMYXllckNvbG9yTGVnZW5kRmFjdG9yeSIsIkNvbG9yTGVnZW5kRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIkNvbG9yTGVnZW5kIiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllckNvbG9yTGVnZW5kIiwiX3JlZjQiLCJkZXNjcmlwdGlvbiIsImNvbmZpZyIsImxheWVyIiwiY29sb3JDaGFubmVsIiwiZGlzYWJsZUVkaXQiLCJvbkxheWVyVmlzQ29uZmlnQ2hhbmdlIiwiaXNFeHBvcnQiLCJtYXBTdGF0ZSIsImFjdGlvbkljb25zIiwiaW50bCIsInVzZUludGwiLCJlbmFibGVDb2xvckJ5IiwibWVhc3VyZSIsInNjYWxlIiwiZmllbGQiLCJkb21haW4iLCJyYW5nZSIsInByb3BlcnR5IiwiZml4ZWQiLCJfbWFwIiwibWFwIiwiayIsIl9tYXAyIiwiX3NsaWNlZFRvQXJyYXkyIiwiY29sb3JTY2FsZSIsImNvbG9yRmllbGQiLCJjb2xvckRvbWFpbiIsImlzRml4ZWQiLCJ2aXNDb25maWciLCJjb2xvclJhbmdlIiwib25VcGRhdGVDb2xvckxlZ2VuZCIsInVzZUNhbGxiYWNrIiwiY29sb3JMZWdlbmRzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJoYW5kbGVUb2dnbGVFeHBhbmRlZCIsIm9uQ2xpY2siLCJJY29uQ29tcG9uZW50IiwiZXhwYW5kZWQiLCJjb2xsYXBzZWQiLCJzY2FsZVR5cGUiLCJmaWVsZFR5cGUiLCJ0eXBlIiwibGFiZWxGb3JtYXQiLCJkaXNwbGF5Rm9ybWF0IiwiZDNGb3JtYXQiLCJmb3JtYXRNZXNzYWdlIiwiY29uY2F0Iiwia2V5IiwiZGVmYXVsdE1lc3NhZ2UiLCJnZXRMYXllclJhZGl1c1NjYWxlTWV0ZXJzVG9QaXhlbHNNdWx0aXBsaWVyIiwiX2dldERpc3RhbmNlU2NhbGVzIiwiZ2V0RGlzdGFuY2VTY2FsZXMiLCJtZXRlcnNQZXJQaXhlbCIsImZpeGVkUmFkaXVzIiwic2l6ZUZpZWxkIiwiZ2V0UmFkaXVzU2NhbGVCeVpvb20iLCJMYXllclJhZGl1c0xlZ2VuZCIsIl9yZWY1IiwidmlzdWFsQ2hhbm5lbCIsImdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbiIsImVuYWJsZVNpemVCeSIsIl9tYXAzIiwiX21hcDQiLCJzaXplU2NhbGUiLCJzaXplRG9tYWluIiwic2l6ZVJhbmdlIiwicmFkaXVzTXVsdGlwbGllciIsInYiLCJpc0NvbG9yQ2hhbm5lbCIsIkNIQU5ORUxfU0NBTEVTIiwiY29sb3JBZ2dyIiwiaW5jbHVkZXMiLCJjaGFubmVsU2NhbGVUeXBlIiwiaXNSYWRpdXNDaGFubmVsIiwicmFkaXVzIiwiTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5IiwiTGF5ZXJMZWdlbmRIZWFkZXIiLCJfcmVmNiIsIm9wdGlvbnMiLCJzaG93TGF5ZXJOYW1lIiwiZGVmYXVsdEFjdGlvbkljb25zIiwiQXJyb3dEb3duIiwiQXJyb3dSaWdodCIsIkxheWVyTGVnZW5kQ29udGVudEZhY3RvcnkiLCJMYXllckxlZ2VuZENvbnRlbnQiLCJfcmVmNyIsImNvbnRhaW5lclciLCJ2aXN1YWxDaGFubmVscyIsImdldExlZ2VuZFZpc3VhbENoYW5uZWxzIiwiY2hhbm5lbEtleXMiLCJ2YWx1ZXMiLCJjb2xvckNoYW5uZWxzIiwibm9uQ29sb3JDaGFubmVscyIsInZjIiwiRElNRU5TSU9OUyIsImNvbG9yQ2hhbm5lbFRvUmVuZGVyIiwiY2MiLCJfbGF5ZXIkZ2V0VmlzdWFsQ2hhbm4iLCJjb25kaXRpb24iLCJGcmFnbWVudCIsIm1hdGNoQ29uZGl0aW9uIiwiZW5hYmxlZCIsImRlZmF1bHRNZWFzdXJlIiwiTWFwTGVnZW5kRmFjdG9yeSIsIk1hcExlZ2VuZCIsIl9yZWY4IiwiX3JlZjgkbGF5ZXJzIiwibGF5ZXJzIiwiX3JlZjgkYWN0aW9uSWNvbnMiLCJpbmRleCIsImlzVmFsaWRUb1NhdmUiLCJoaWRkZW4iLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWxlZ2VuZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7RkMsIHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3JnYn0gZnJvbSAnZDMtY29sb3InO1xuaW1wb3J0IHtmb3JtYXQgYXMgZDNGb3JtYXR9IGZyb20gJ2QzLWZvcm1hdCc7XG5pbXBvcnQge3VzZUludGx9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IENvbG9yTGVnZW5kRmFjdG9yeSwge0xlZ2VuZFJvd0ZhY3Rvcnl9IGZyb20gJy4uL2NvbW1vbi9jb2xvci1sZWdlbmQnO1xuaW1wb3J0IFJhZGl1c0xlZ2VuZCBmcm9tICcuLi9jb21tb24vcmFkaXVzLWxlZ2VuZCc7XG5pbXBvcnQge0NIQU5ORUxfU0NBTEVTLCBESU1FTlNJT05TfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7TGF5ZXIsIExheWVyQmFzZUNvbmZpZywgVmlzdWFsQ2hhbm5lbCwgVmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9ufSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0xheWVyVmlzQ29uZmlnLCBNYXBTdGF0ZSwgUkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtnZXREaXN0YW5jZVNjYWxlc30gZnJvbSAndmlld3BvcnQtbWVyY2F0b3ItcHJvamVjdCc7XG5pbXBvcnQge0Fycm93RG93biwgQXJyb3dSaWdodH0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkgZnJvbSAnLi4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXItYWN0aW9uJztcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRyb2xMZWdlbmRQcm9wcyB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBsYXN0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRyb2xMZWdlbmQgPSBzdHlsZWQuZGl2PFN0eWxlZE1hcENvbnRyb2xMZWdlbmRQcm9wcz5gXG4gIHBhZGRpbmc6IDEwcHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHggMTBweFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHtwcm9wcyA9PiAocHJvcHMubGFzdCA/IDAgOiAnMXB4Jyl9O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAubGVnZW5kLS1sYXllcl9uYW1lIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5sZWdlbmQtLWxheWVyX3R5cGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9zaXplLXRpdGxlLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tYXBDb250cm9sLnBhZGRpbmd9cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5sZWdlbmQtLWxheWVyX190aXRsZSB7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9faXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgfVxuICAubGVnZW5kLS1sYXllcl9ieSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9jb2xvcl9maWVsZCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAubGVnZW5kLS1sYXllcl9jb2xvci1sZWdlbmQge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFZpc3VhbENoYW5uZWxNZXRyaWMgPSAoe25hbWV9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX190aXRsZVwiPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9jb2xvcl9maWVsZFwiPlxuICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bmFtZX0gLz5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyU2l6ZUxlZ2VuZFByb3BzID0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5ZXJEZWZhdWx0TGVnZW5kOiBSZWFjdC5GQzxMYXllclNpemVMZWdlbmRQcm9wcz4gPSAoe2xhYmVsLCBuYW1lfSkgPT5cbiAgbGFiZWwgPyAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX3NpemUtc2NoZW1hXCI+XG4gICAgICA8cD5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9ieVwiPntsYWJlbCA/IDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtsYWJlbH0gLz4gOiBudWxsfTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9ieVwiPiBieSA8L3NwYW4+XG4gICAgICA8L3A+XG4gICAgICB7bmFtZSAmJiA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtuYW1lfSAvPn1cbiAgICA8L2Rpdj5cbiAgKSA6IG51bGw7XG5cbmV4cG9ydCB0eXBlIFNpbmdsZUNvbG9yTGVnZW5kUHJvcHMgPSB7XG4gIGNvbG9yOiBSR0JDb2xvcjtcbiAgbGFiZWw/OiBzdHJpbmc7XG59O1xuXG5TaW5nbGVDb2xvckxlZ2VuZEZhY3RvcnkuZGVwcyA9IFtMZWdlbmRSb3dGYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNpbmdsZUNvbG9yTGVnZW5kRmFjdG9yeShMZWdlbmRSb3c6IFJldHVyblR5cGU8dHlwZW9mIExlZ2VuZFJvd0ZhY3Rvcnk+KSB7XG4gIGNvbnN0IFNpbmdsZUNvbG9yTGVnZW5kOiBSZWFjdC5GQzxTaW5nbGVDb2xvckxlZ2VuZFByb3BzPiA9ICh7Y29sb3IsIGxhYmVsfSkgPT4gKFxuICAgIDxMZWdlbmRSb3dcbiAgICAgIGxhYmVsPXtsYWJlbCA/PyAnJ31cbiAgICAgIGRpc3BsYXlMYWJlbD17Qm9vbGVhbihsYWJlbCl9XG4gICAgICBjb2xvcj17QXJyYXkuaXNBcnJheShjb2xvcikgPyByZ2IoLi4uY29sb3IpLnRvU3RyaW5nKCkgOiBjb2xvcn1cbiAgICAvPlxuICApO1xuXG4gIFNpbmdsZUNvbG9yTGVnZW5kLmRpc3BsYXlOYW1lID0gJ1NpbmdsZUNvbG9yTGVnZW5kJztcblxuICByZXR1cm4gUmVhY3QubWVtbyhTaW5nbGVDb2xvckxlZ2VuZCk7XG59XG5cbmV4cG9ydCB0eXBlIExheWVyQ29sb3JMZWdlbmRQcm9wcyA9IHtcbiAgZGVzY3JpcHRpb246IFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbjtcbiAgY29uZmlnOiBMYXllckJhc2VDb25maWc7XG4gIGNvbG9yQ2hhbm5lbDogVmlzdWFsQ2hhbm5lbDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIGxheWVyOiBMYXllcjtcbiAgZGlzYWJsZUVkaXQ/OiBib29sZWFuO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRJY29ucztcbn07XG5cbkxheWVyQ29sb3JMZWdlbmRGYWN0b3J5LmRlcHMgPSBbXG4gIENvbG9yTGVnZW5kRmFjdG9yeSxcbiAgU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5LFxuICBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnlcbl07XG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb2xvckxlZ2VuZEZhY3RvcnkoXG4gIENvbG9yTGVnZW5kOiBSZXR1cm5UeXBlPHR5cGVvZiBDb2xvckxlZ2VuZEZhY3Rvcnk+LFxuICBTaW5nbGVDb2xvckxlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgU2luZ2xlQ29sb3JMZWdlbmRGYWN0b3J5PixcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllckNvbG9yTGVnZW5kOiBSZWFjdC5GQzxMYXllckNvbG9yTGVnZW5kUHJvcHM+ID0gKHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBjb25maWcsXG4gICAgbGF5ZXIsXG4gICAgY29sb3JDaGFubmVsLFxuICAgIGRpc2FibGVFZGl0LFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsXG4gICAgaXNFeHBvcnQsXG4gICAgbWFwU3RhdGUsXG4gICAgYWN0aW9uSWNvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgY29uc3QgZW5hYmxlQ29sb3JCeSA9IGRlc2NyaXB0aW9uLm1lYXN1cmU7XG4gICAgY29uc3Qge3NjYWxlLCBmaWVsZCwgZG9tYWluLCByYW5nZSwgcHJvcGVydHksIGZpeGVkfSA9IGNvbG9yQ2hhbm5lbDtcbiAgICBjb25zdCBbY29sb3JTY2FsZSwgY29sb3JGaWVsZCwgY29sb3JEb21haW5dID0gW3NjYWxlLCBmaWVsZCwgZG9tYWluXS5tYXAoayA9PiBjb25maWdba10pO1xuICAgIGNvbnN0IGlzRml4ZWQgPSBmaXhlZCAmJiBjb25maWcudmlzQ29uZmlnW2ZpeGVkXTtcblxuICAgIGNvbnN0IGNvbG9yUmFuZ2UgPSBjb25maWcudmlzQ29uZmlnW3JhbmdlXTtcbiAgICBjb25zdCBvblVwZGF0ZUNvbG9yTGVnZW5kID0gdXNlQ2FsbGJhY2soXG4gICAgICBjb2xvckxlZ2VuZHMgPT4ge1xuICAgICAgICBpZiAob25MYXllclZpc0NvbmZpZ0NoYW5nZSkge1xuICAgICAgICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UobGF5ZXIsIHtcbiAgICAgICAgICAgIFtyYW5nZV06IHtcbiAgICAgICAgICAgICAgLi4uY29sb3JSYW5nZSxcbiAgICAgICAgICAgICAgY29sb3JMZWdlbmRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbbGF5ZXIsIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsIGNvbG9yUmFuZ2UsIHJhbmdlXVxuICAgICk7XG4gICAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoaXNFeHBvcnQpO1xuICAgIGNvbnN0IGhhbmRsZVRvZ2dsZUV4cGFuZGVkID0gKCkgPT4gc2V0SXNFeHBhbmRlZCghaXNFeHBhbmRlZCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9faXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3Itc2NoZW1hXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtlbmFibGVDb2xvckJ5ID8gKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfc2l6ZS10aXRsZS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8VmlzdWFsQ2hhbm5lbE1ldHJpYyBuYW1lPXtlbmFibGVDb2xvckJ5fSAvPlxuICAgICAgICAgICAgICAgIHshaXNFeHBvcnQgPyAoXG4gICAgICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJsZWdlbmQtY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVG9nZ2xlRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzRXhwYW5kZWQgPyBhY3Rpb25JY29ucy5leHBhbmRlZCA6IGFjdGlvbkljb25zLmNvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfY29sb3ItbGVnZW5kXCI+XG4gICAgICAgICAgICAgIHtlbmFibGVDb2xvckJ5ID8gKFxuICAgICAgICAgICAgICAgIDxDb2xvckxlZ2VuZFxuICAgICAgICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgICAgICAgaXNFeHBhbmRlZD17aXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgIHNjYWxlVHlwZT17Y29sb3JTY2FsZX1cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXlMYWJlbFxuICAgICAgICAgICAgICAgICAgZG9tYWluPXtjb2xvckRvbWFpbn1cbiAgICAgICAgICAgICAgICAgIGZpZWxkVHlwZT17KGNvbG9yRmllbGQgJiYgY29sb3JGaWVsZC50eXBlKSB8fCAncmVhbCd9XG4gICAgICAgICAgICAgICAgICByYW5nZT17Y29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgICAgIG9uVXBkYXRlQ29sb3JMZWdlbmQ9e29uVXBkYXRlQ29sb3JMZWdlbmR9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlRWRpdD17ZGlzYWJsZUVkaXQgfHwgQm9vbGVhbihpc0V4cG9ydCl9XG4gICAgICAgICAgICAgICAgICBpc0ZpeGVkPXtpc0ZpeGVkfVxuICAgICAgICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgbGFiZWxGb3JtYXQ9e1xuICAgICAgICAgICAgICAgICAgICBjb2xvckZpZWxkPy5kaXNwbGF5Rm9ybWF0ID8gZDNGb3JtYXQoY29sb3JGaWVsZD8uZGlzcGxheUZvcm1hdCkgOiBudWxsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8U2luZ2xlQ29sb3JMZWdlbmRcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtjb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XSB8fCBjb25maWdbcHJvcGVydHldIHx8IGNvbmZpZy5jb2xvcn1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICBpZDogYG1hcExlZ2VuZC5sYXllcnMuJHtsYXllci50eXBlfS5zaW5nbGVDb2xvci4ke2NvbG9yQ2hhbm5lbC5rZXl9YCxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U6IGludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgaWQ6IGBtYXBMZWdlbmQubGF5ZXJzLmRlZmF1bHQuc2luZ2xlQ29sb3IuJHtjb2xvckNoYW5uZWwua2V5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U6ICcgJyAvLyBtdXN0bid0IGJlIGVtcHR5IHN0cmluZyBvciBpZCB3aWxsIGJlIHVzZWRcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIExheWVyQ29sb3JMZWdlbmQuZGlzcGxheU5hbWUgPSAnTGF5ZXJDb2xvckxlZ2VuZCc7XG4gIHJldHVybiBSZWFjdC5tZW1vKExheWVyQ29sb3JMZWdlbmQpO1xufVxuXG5mdW5jdGlvbiBnZXRMYXllclJhZGl1c1NjYWxlTWV0ZXJzVG9QaXhlbHNNdWx0aXBsaWVyKGxheWVyLCBtYXBTdGF0ZSkge1xuICAvLyBAdHMtaWdub3JlIHRoaXMgYWN0dWFsbHkgZXhpc3RcbiAgY29uc3Qge21ldGVyc1BlclBpeGVsfSA9IGdldERpc3RhbmNlU2NhbGVzKG1hcFN0YXRlKTtcbiAgLy8gaWYgbm8gZmllbGQgc2l6ZSBpcyBkZWZpbmVkIHdlIG5lZWQgdG8gcGFzcyBmaXhlZCByYWRpdXMgPSBmYWxzZVxuICBjb25zdCBmaXhlZFJhZGl1cyA9IGxheWVyLmNvbmZpZy52aXNDb25maWcuZml4ZWRSYWRpdXMgJiYgQm9vbGVhbihsYXllci5jb25maWcuc2l6ZUZpZWxkKTtcbiAgcmV0dXJuIGxheWVyLmdldFJhZGl1c1NjYWxlQnlab29tKG1hcFN0YXRlLCBmaXhlZFJhZGl1cykgLyBtZXRlcnNQZXJQaXhlbFswXTtcbn1cblxuZXhwb3J0IHR5cGUgTWFwTGVnZW5kSWNvbnMgPSB7XG4gIGV4cGFuZGVkOiBDb21wb25lbnRUeXBlPGFueT47XG4gIGNvbGxhcHNlZDogQ29tcG9uZW50VHlwZTxhbnk+O1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJSYWRpdXNMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICB3aWR0aDogbnVtYmVyO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIHZpc3VhbENoYW5uZWw6IFZpc3VhbENoYW5uZWw7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5ZXJSYWRpdXNMZWdlbmQ6IEZDPExheWVyUmFkaXVzTGVnZW5kUHJvcHM+ID0gUmVhY3QubWVtbyhcbiAgKHtsYXllciwgd2lkdGgsIHZpc3VhbENoYW5uZWwsIG1hcFN0YXRlfSkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gbGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKHZpc3VhbENoYW5uZWwua2V5KTtcbiAgICBjb25zdCBjb25maWcgPSBsYXllci5jb25maWc7XG5cbiAgICBjb25zdCBlbmFibGVTaXplQnkgPSBkZXNjcmlwdGlvbi5tZWFzdXJlO1xuICAgIGNvbnN0IHtzY2FsZSwgZmllbGQsIGRvbWFpbiwgcmFuZ2V9ID0gdmlzdWFsQ2hhbm5lbDtcbiAgICBjb25zdCBbc2l6ZVNjYWxlLCBzaXplRmllbGQsIHNpemVEb21haW5dID0gW3NjYWxlLCBmaWVsZCwgZG9tYWluXS5tYXAoayA9PiBjb25maWdba10pO1xuICAgIGxldCBzaXplUmFuZ2UgPSBjb25maWcudmlzQ29uZmlnW3JhbmdlXTtcblxuICAgIGlmIChtYXBTdGF0ZSkge1xuICAgICAgY29uc3QgcmFkaXVzTXVsdGlwbGllciA9IGdldExheWVyUmFkaXVzU2NhbGVNZXRlcnNUb1BpeGVsc011bHRpcGxpZXIobGF5ZXIsIG1hcFN0YXRlKTtcbiAgICAgIHNpemVSYW5nZSA9IHNpemVSYW5nZS5tYXAodiA9PiB2ICogcmFkaXVzTXVsdGlwbGllcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllcl9zaXplLXNjaGVtYVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7ZW5hYmxlU2l6ZUJ5ID8gPFZpc3VhbENoYW5uZWxNZXRyaWMgbmFtZT17ZW5hYmxlU2l6ZUJ5fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZ2VuZC0tbGF5ZXJfc2l6ZS1sZWdlbmRcIj5cbiAgICAgICAgICAgICAge2VuYWJsZVNpemVCeSA/IChcbiAgICAgICAgICAgICAgICA8UmFkaXVzTGVnZW5kXG4gICAgICAgICAgICAgICAgICBzY2FsZVR5cGU9e3NpemVTY2FsZX1cbiAgICAgICAgICAgICAgICAgIGRvbWFpbj17c2l6ZURvbWFpbn1cbiAgICAgICAgICAgICAgICAgIGZpZWxkVHlwZT17KHNpemVGaWVsZCAmJiBzaXplRmllbGQudHlwZSkgfHwgJ3JlYWwnfVxuICAgICAgICAgICAgICAgICAgcmFuZ2U9e3NpemVSYW5nZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IGlzQ29sb3JDaGFubmVsID0gdmlzdWFsQ2hhbm5lbCA9PlxuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3IsIENIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl0uaW5jbHVkZXModmlzdWFsQ2hhbm5lbC5jaGFubmVsU2NhbGVUeXBlKTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJMZWdlbmRIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBpc1JhZGl1c0NoYW5uZWwgPSB2aXN1YWxDaGFubmVsID0+XG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdLmluY2x1ZGVzKHZpc3VhbENoYW5uZWwuY2hhbm5lbFNjYWxlVHlwZSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckxlZ2VuZEhlYWRlckZhY3RvcnkoKSB7XG4gIGNvbnN0IExheWVyTGVnZW5kSGVhZGVyOiBSZWFjdC5GQzxMYXllckxlZ2VuZEhlYWRlclByb3BzPiA9ICh7b3B0aW9ucywgbGF5ZXJ9KSA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbnM/LnNob3dMYXllck5hbWUgIT09IGZhbHNlID8gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtLWxheWVyX25hbWVcIj57bGF5ZXIuY29uZmlnLmxhYmVsfTwvZGl2PlxuICAgICkgOiBudWxsO1xuICB9O1xuICByZXR1cm4gTGF5ZXJMZWdlbmRIZWFkZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgZXhwYW5kZWQ6IEFycm93RG93bixcbiAgY29sbGFwc2VkOiBBcnJvd1JpZ2h0XG59O1xuXG5leHBvcnQgdHlwZSBMYXllckxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgbGF5ZXI6IExheWVyO1xuICBjb250YWluZXJXOiBudW1iZXI7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIGRpc2FibGVFZGl0PzogYm9vbGVhbjtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPzogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgYWN0aW9uSWNvbnM6IE1hcExlZ2VuZEljb25zO1xufTtcblxuTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeS5kZXBzID0gW0xheWVyQ29sb3JMZWdlbmRGYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyTGVnZW5kQ29udGVudEZhY3RvcnkoXG4gIExheWVyQ29sb3JMZWdlbmQ6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29sb3JMZWdlbmRGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyTGVnZW5kQ29udGVudDogUmVhY3QuRkM8TGF5ZXJMZWdlbmRDb250ZW50UHJvcHM+ID0gKHtcbiAgICBsYXllcixcbiAgICBjb250YWluZXJXLFxuICAgIG1hcFN0YXRlLFxuICAgIGRpc2FibGVFZGl0LFxuICAgIGlzRXhwb3J0LFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2UsXG4gICAgYWN0aW9uSWNvbnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHZpc3VhbENoYW5uZWxzID0gbGF5ZXIuZ2V0TGVnZW5kVmlzdWFsQ2hhbm5lbHMoKTtcbiAgICBjb25zdCBjaGFubmVsS2V5cyA9IE9iamVjdC52YWx1ZXModmlzdWFsQ2hhbm5lbHMpO1xuICAgIGNvbnN0IGNvbG9yQ2hhbm5lbHMgPSBjaGFubmVsS2V5cy5maWx0ZXIoaXNDb2xvckNoYW5uZWwpIGFzIFZpc3VhbENoYW5uZWxbXTtcbiAgICBjb25zdCBub25Db2xvckNoYW5uZWxzID0gY2hhbm5lbEtleXMuZmlsdGVyKHZjID0+ICFpc0NvbG9yQ2hhbm5lbCh2YykpO1xuICAgIGNvbnN0IHdpZHRoID0gY29udGFpbmVyVyAtIDIgKiBESU1FTlNJT05TLm1hcENvbnRyb2wucGFkZGluZztcblxuICAgIC8vIHJlbmRlciBjb2xvciBieSBjaGFuZWwgb25seVxuICAgIGxldCBjb2xvckNoYW5uZWxUb1JlbmRlciA9IGNvbG9yQ2hhbm5lbHMuZmlsdGVyKFxuICAgICAgY2MgPT5cbiAgICAgICAgKCFjYy5jb25kaXRpb24gfHwgY2MuY29uZGl0aW9uKGxheWVyLmNvbmZpZykpICYmXG4gICAgICAgIGxheWVyLmdldFZpc3VhbENoYW5uZWxEZXNjcmlwdGlvbihjYy5rZXkpPy5tZWFzdXJlXG4gICAgKTtcbiAgICAvLyBpZiBubyBjb2xvciBieSBjaGFuZWwsIHJlbmRlciByZXN0XG4gICAgaWYgKCFjb2xvckNoYW5uZWxUb1JlbmRlci5sZW5ndGgpIHtcbiAgICAgIGNvbG9yQ2hhbm5lbFRvUmVuZGVyID0gY29sb3JDaGFubmVscy5maWx0ZXIoXG4gICAgICAgIGNjID0+ICFjYy5jb25kaXRpb24gfHwgY2MuY29uZGl0aW9uKGxheWVyLmNvbmZpZylcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7Y29sb3JDaGFubmVsVG9SZW5kZXIubWFwKGNvbG9yQ2hhbm5lbCA9PiAoXG4gICAgICAgICAgPExheWVyQ29sb3JMZWdlbmRcbiAgICAgICAgICAgIGtleT17Y29sb3JDaGFubmVsLmtleX1cbiAgICAgICAgICAgIGNvbG9yQ2hhbm5lbD17Y29sb3JDaGFubmVsfVxuICAgICAgICAgICAgY29uZmlnPXtsYXllci5jb25maWd9XG4gICAgICAgICAgICBkZXNjcmlwdGlvbj17bGF5ZXIuZ2V0VmlzdWFsQ2hhbm5lbERlc2NyaXB0aW9uKGNvbG9yQ2hhbm5lbC5rZXkpfVxuICAgICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgICAgICAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT17b25MYXllclZpc0NvbmZpZ0NoYW5nZX1cbiAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgICAge25vbkNvbG9yQ2hhbm5lbHMubWFwKCh2aXN1YWxDaGFubmVsOiBWaXN1YWxDaGFubmVsKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hDb25kaXRpb24gPSAhdmlzdWFsQ2hhbm5lbC5jb25kaXRpb24gfHwgdmlzdWFsQ2hhbm5lbC5jb25kaXRpb24obGF5ZXIuY29uZmlnKTtcbiAgICAgICAgICBjb25zdCBlbmFibGVkID0gbGF5ZXIuY29uZmlnW3Zpc3VhbENoYW5uZWwuZmllbGRdIHx8IHZpc3VhbENoYW5uZWwuZGVmYXVsdE1lYXN1cmU7XG5cbiAgICAgICAgICBpZiAobWF0Y2hDb25kaXRpb24gJiYgZW5hYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBsYXllci5nZXRWaXN1YWxDaGFubmVsRGVzY3JpcHRpb24odmlzdWFsQ2hhbm5lbC5rZXkpO1xuICAgICAgICAgICAgaWYgKGlzUmFkaXVzQ2hhbm5lbCh2aXN1YWxDaGFubmVsKSkge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxMYXllclJhZGl1c0xlZ2VuZFxuICAgICAgICAgICAgICAgICAga2V5PXt2aXN1YWxDaGFubmVsLmtleX1cbiAgICAgICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgIHZpc3VhbENoYW5uZWw9e3Zpc3VhbENoYW5uZWx9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMYXllckRlZmF1bHRMZWdlbmRcbiAgICAgICAgICAgICAgICBrZXk9e3Zpc3VhbENoYW5uZWwua2V5fVxuICAgICAgICAgICAgICAgIGxhYmVsPXtkZXNjcmlwdGlvbi5sYWJlbH1cbiAgICAgICAgICAgICAgICBuYW1lPXtkZXNjcmlwdGlvbi5tZWFzdXJlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0pfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJMZWdlbmRDb250ZW50O1xufVxuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQcm9wcyA9IHtcbiAgbGF5ZXJzPzogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHdpZHRoPzogbnVtYmVyO1xuICBtYXBTdGF0ZT86IE1hcFN0YXRlO1xuICBvcHRpb25zPzoge1xuICAgIHNob3dMYXllck5hbWU/OiBib29sZWFuO1xuICB9O1xuICBkaXNhYmxlRWRpdD86IGJvb2xlYW47XG4gIGlzRXhwb3J0PzogYm9vbGVhbjtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIGFjdGlvbkljb25zPzogTWFwTGVnZW5kSWNvbnM7XG59O1xuXG5NYXBMZWdlbmRGYWN0b3J5LmRlcHMgPSBbTGF5ZXJMZWdlbmRIZWFkZXJGYWN0b3J5LCBMYXllckxlZ2VuZENvbnRlbnRGYWN0b3J5XTtcblxuZnVuY3Rpb24gTWFwTGVnZW5kRmFjdG9yeShcbiAgTGF5ZXJMZWdlbmRIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyTGVnZW5kSGVhZGVyRmFjdG9yeT4sXG4gIExheWVyTGVnZW5kQ29udGVudDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJMZWdlbmRDb250ZW50RmFjdG9yeT5cbikge1xuICBjb25zdCBNYXBMZWdlbmQ6IFJlYWN0LkZDPE1hcExlZ2VuZFByb3BzPiA9ICh7XG4gICAgbGF5ZXJzID0gW10sXG4gICAgd2lkdGgsXG4gICAgbWFwU3RhdGUsXG4gICAgb3B0aW9ucyxcbiAgICBkaXNhYmxlRWRpdCxcbiAgICBpc0V4cG9ydCxcbiAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gIH0pID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1sZWdlbmRcIj5cbiAgICAgIHtsYXllcnMubWFwKChsYXllciwgaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKCFsYXllci5pc1ZhbGlkVG9TYXZlKCkgfHwgbGF5ZXIuY29uZmlnLmhpZGRlbikge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclcgPSB3aWR0aCB8fCBESU1FTlNJT05TLm1hcENvbnRyb2wud2lkdGg7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U3R5bGVkTWFwQ29udHJvbExlZ2VuZFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGVnZW5kLS1sYXllclwiXG4gICAgICAgICAgICBsYXN0PXtpbmRleCA9PT0gbGF5ZXJzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgd2lkdGg9e2NvbnRhaW5lcld9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExheWVyTGVnZW5kSGVhZGVyIGlzRXhwb3J0PXtpc0V4cG9ydH0gb3B0aW9ucz17b3B0aW9uc30gbGF5ZXI9e2xheWVyfSAvPlxuICAgICAgICAgICAgPExheWVyTGVnZW5kQ29udGVudFxuICAgICAgICAgICAgICBjb250YWluZXJXPXtjb250YWluZXJXfVxuICAgICAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgICAgICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2U9e29uTGF5ZXJWaXNDb25maWdDaGFuZ2V9XG4gICAgICAgICAgICAgIGFjdGlvbkljb25zPXthY3Rpb25JY29uc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRNYXBDb250cm9sTGVnZW5kPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgTWFwTGVnZW5kLmRpc3BsYXlOYW1lID0gJ01hcExlZ2VuZCc7XG5cbiAgcmV0dXJuIE1hcExlZ2VuZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTGVnZW5kRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFlBQUEsR0FBQVAsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVQsT0FBQTtB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
|
package/dist/plot-container.js
CHANGED
|
@@ -184,13 +184,15 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
184
184
|
|
|
185
185
|
// Memoize map props
|
|
186
186
|
var mapProps = (0, _react.useMemo)(function () {
|
|
187
|
+
var _mapFields$mapControl;
|
|
187
188
|
return _objectSpread(_objectSpread({}, mapFields), {}, {
|
|
188
189
|
mapStyle: scaledMapStyle,
|
|
189
190
|
mapState: newMapState,
|
|
190
191
|
mapControls: {
|
|
191
192
|
mapLegend: {
|
|
192
193
|
show: Boolean(legend),
|
|
193
|
-
active: true
|
|
194
|
+
active: true,
|
|
195
|
+
settings: (_mapFields$mapControl = mapFields.mapControls) === null || _mapFields$mapControl === void 0 || (_mapFields$mapControl = _mapFields$mapControl.mapLegend) === null || _mapFields$mapControl === void 0 ? void 0 : _mapFields$mapControl.settings
|
|
194
196
|
}
|
|
195
197
|
},
|
|
196
198
|
MapComponent: _reactMapGl.Map,
|
|
@@ -235,4 +237,4 @@ function PlotContainerFactory(MapContainer, MapsLayout) {
|
|
|
235
237
|
}
|
|
236
238
|
return /*#__PURE__*/_react["default"].memo(PlotContainer);
|
|
237
239
|
}
|
|
238
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl91dGlscyIsIl9yZWR1Y2VycyIsIl9tYXBDb250YWluZXIiLCJfbWFwc0xheW91dCIsIl9tYXBWaWV3U3RhdGVDb250ZXh0IiwiX2NvbnN0YW50cyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJDTEFTU19GSUxURVIiLCJET01fRklMVEVSX0ZVTkMiLCJub2RlIiwiaW5jbHVkZXMiLCJjbGFzc05hbWUiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiUGxvdENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsIk1hcHNMYXlvdXRGYWN0b3J5IiwiU3R5bGVkUGxvdENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwicHJvcHMiLCJ3aWR0aCIsImhlaWdodCIsIk1hcENvbnRhaW5lciIsIk1hcHNMYXlvdXQiLCJQbG90Q29udGFpbmVyIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsIl9yZWYkbGVnZW5kIiwibGVnZW5kIiwiY2VudGVyIiwiaW1hZ2VTaXplIiwiZXNjYXBlWGh0bWxGb3JXZWJwYWNrIiwibWFwRmllbGRzIiwiX3JlZiRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiYWRkTm90aWZpY2F0aW9uIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJsb2dvQ29tcG9uZW50IiwicGxvdHRpbmdBcmVhUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2aXNTdGF0ZSIsImVmZmVjdHMiLCJtYXAiLCJlZmZlY3QiLCJjbG9uZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwbG90RWZmZWN0cyIsIm1hcFN0YXRlIiwic2NhbGUiLCJ1c2VNZW1vIiwiY2FsY3VsYXRlZFNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsInNjYWxlZE1hcFN0eWxlIiwibWFwU3R5bGUiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsImRlYm91bmNlZFNjcmVlbnNob3QiLCJkZWJvdW5jZSIsImN1cnJlbnQiLCJjb252ZXJ0VG9QbmciLCJ0aGVuIiwiZXJyIiwiZXhwb3J0SW1hZ2VFcnJvciIsInJldHJpZXZlTmV3U2NyZWVuc2hvdCIsInVzZUNhbGxiYWNrIiwiZGVib3VuY2VkTWFwUmVuZGVyIiwiaXNTdHlsZUxvYWRlZCIsIm9uTWFwUmVuZGVyIiwidXNlRWZmZWN0IiwicHJvY2Vzc2luZyIsInVuZGVmaW5lZCIsIl91c2VNZW1vIiwic2l6ZSIsIm5ld01hcFN0YXRlIiwiYmFzZU1hcFN0YXRlIiwiem9vbSIsIk1hdGgiLCJsb2cyIiwicmVuZGVyZWRMYXllcnMiLCJsYXllcnMiLCJsYXllciIsImlkeCIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImxheWVyRGF0YSIsImJvdW5kcyIsImZpbmRNYXBCb3VuZHMiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwibWFwUHJvcHMiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJCb29sZWFuIiwiYWN0aXZlIiwiTWFwQ29tcG9uZW50IiwiTWFwIiwiaXNFeHBvcnQiLCJkZWNrR2xQcm9wcyIsImdsT3B0aW9ucyIsInByZXNlcnZlRHJhd2luZ0J1ZmZlciIsInVzZURldmljZVBpeGVscyIsIm1hcENvbnRhaW5lcnMiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiaW5kZXgiLCJwcmltYXJ5Iiwic2V0dGluZ3MiLCJrZXkiLCJyZWYiLCJNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIiLCJSZWFjdCIsIm1lbW8iXSwic291cmNlcyI6WyIuLi9zcmMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge01hcH0gZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHtcbiAgZXhwb3J0SW1hZ2VFcnJvcixcbiAgc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbixcbiAgZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMsXG4gIGNvbnZlcnRUb1BuZyxcbiAgZ2V0U2NhbGVGcm9tSW1hZ2VTaXplXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtmaW5kTWFwQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cblBsb3RDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbTWFwQ29udGFpbmVyRmFjdG9yeSwgTWFwc0xheW91dEZhY3RvcnldO1xuXG4vLyBSZW1vdmUgbWFwYm94IGxvZ28gaW4gZXhwb3J0ZWQgbWFwLCBiZWNhdXNlIGl0IGNvbnRhaW5zIG5vbi1hc2NpaSBjaGFyYWN0ZXJzXG4vLyBSZW1vdmUgc3BsaXQgdmlld3BvcnQgVUkgY29udHJvbHMgZnJvbSBleHBvcnRlZCBpbWFnZXMgd2hlbiB0aGUgbGVnZW5kIGlzIHNob3duXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCxcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBsaWJyZS1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBib3gtYXR0cmlidXRpb24tY29udGFpbmVyLFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbiAgbGVmdDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuaW50ZXJmYWNlIFBsb3RDb250YWluZXJQcm9wcyB7XG4gIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICByYXRpbz86IHN0cmluZztcbiAgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgbGVnZW5kPzogYm9vbGVhbjtcbiAgY2VudGVyPzogYm9vbGVhbjtcbiAgaW1hZ2VTaXplOiBFeHBvcnRJbWFnZVsnaW1hZ2VTaXplJ107XG4gIGVzY2FwZVhodG1sRm9yV2VicGFjaz86IGJvb2xlYW47XG5cbiAgLy8gTWFwIHNldHRpbmdzXG4gIG1hcEZpZWxkczogUmV0dXJuVHlwZTx0eXBlb2YgbWFwRmllbGRzU2VsZWN0b3I+O1xuICBzcGxpdE1hcHM/OiBTcGxpdE1hcFtdO1xuXG4gIC8vIENhbGxiYWNrc1xuICBzZXRFeHBvcnRJbWFnZVNldHRpbmc6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZVNldHRpbmc7XG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaTogdHlwZW9mIHNldEV4cG9ydEltYWdlRGF0YVVyaTtcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcjogdHlwZW9mIHNldEV4cG9ydEltYWdlRXJyb3I7XG4gIGFkZE5vdGlmaWNhdGlvbjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkTm90aWZpY2F0aW9uPjtcblxuICAvLyBGbGFnc1xuICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbj86IGJvb2xlYW47XG5cbiAgLy8gT3B0aW9uYWw6IG92ZXJyaWRlIGxlZ2VuZCBoZWFkZXIgbG9nbyBkdXJpbmcgZXhwb3J0XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBsb3RDb250YWluZXJGYWN0b3J5KFxuICBNYXBDb250YWluZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRhaW5lckZhY3Rvcnk+LFxuICBNYXBzTGF5b3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBzTGF5b3V0RmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGxvdENvbnRhaW5lclByb3BzPiB7XG4gIGZ1bmN0aW9uIFBsb3RDb250YWluZXIoe1xuICAgIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICAgIHJhdGlvLFxuICAgIHJlc29sdXRpb24sXG4gICAgbGVnZW5kID0gZmFsc2UsXG4gICAgY2VudGVyLFxuICAgIGltYWdlU2l6ZSxcbiAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2ssXG5cbiAgICAvLyBNYXAgc2V0dGluZ3NcbiAgICBtYXBGaWVsZHMsXG4gICAgc3BsaXRNYXBzID0gW10sXG5cbiAgICAvLyBDYWxsYmFja3NcbiAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcsXG4gICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgYWRkTm90aWZpY2F0aW9uLFxuXG4gICAgLy8gRmxhZ3NcbiAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICBsb2dvQ29tcG9uZW50XG4gIH06IFBsb3RDb250YWluZXJQcm9wcykge1xuICAgIGNvbnN0IHBsb3R0aW5nQXJlYVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3Bsb3RFZmZlY3RzXSA9IHVzZVN0YXRlPEVmZmVjdFtdPigoKSA9PlxuICAgICAgbWFwRmllbGRzLnZpc1N0YXRlLmVmZmVjdHMubWFwKGVmZmVjdCA9PiBlZmZlY3QuY2xvbmUoKSlcbiAgICApO1xuXG4gICAgY29uc3Qge21hcFN0YXRlfSA9IG1hcEZpZWxkcztcblxuICAgIC8vIE1lbW9pemUgdGhlIHNjYWxlIGNhbGN1bGF0aW9uXG4gICAgY29uc3Qgc2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChpbWFnZVNpemUuc2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGltYWdlU2l6ZS5zY2FsZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2FsY3VsYXRlZFNjYWxlID0gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBtYXBTdGF0ZS53aWR0aCAqIChtYXBTdGF0ZS5pc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBtYXBTdGF0ZS5oZWlnaHRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjYWxjdWxhdGVkU2NhbGUgPiAwID8gY2FsY3VsYXRlZFNjYWxlIDogMTtcbiAgICB9LCBbXG4gICAgICBpbWFnZVNpemUuc2NhbGUsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgIG1hcFN0YXRlLndpZHRoLFxuICAgICAgbWFwU3RhdGUuaGVpZ2h0LFxuICAgICAgbWFwU3RhdGUuaXNTcGxpdFxuICAgIF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgbWFwIHN0eWxlXG4gICAgY29uc3Qgc2NhbGVkTWFwU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG1hcFN0eWxlID0gbWFwRmllbGRzLm1hcFN0eWxlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubWFwU3R5bGUsXG4gICAgICAgIGJvdHRvbU1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLmJvdHRvbU1hcFN0eWxlLCBzY2FsZSksXG4gICAgICAgIHRvcE1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLnRvcE1hcFN0eWxlLCBzY2FsZSlcbiAgICAgIH07XG4gICAgfSwgW21hcEZpZWxkcy5tYXBTdHlsZSwgc2NhbGVdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIHJldHJpZXZlTmV3U2NyZWVuc2hvdCBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZFNjcmVlbnNob3QgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgIGlmIChwbG90dGluZ0FyZWFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29udmVydFRvUG5nKHBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7XG4gICAgICAgICAgICAgIGZpbHRlcjogRE9NX0ZJTFRFUl9GVU5DLFxuICAgICAgICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICAgICAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2tcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC50aGVuKHNldEV4cG9ydEltYWdlRGF0YVVyaSlcbiAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXhwb3J0SW1hZ2VFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGlmIChlbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgICAgYWRkTm90aWZpY2F0aW9uKGV4cG9ydEltYWdlRXJyb3Ioe2Vycn0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgICAgICBhZGROb3RpZmljYXRpb25cbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkU2NyZWVuc2hvdCwgW2RlYm91bmNlZFNjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG9uTWFwUmVuZGVyIGNhbGxiYWNrXG4gICAgY29uc3QgZGVib3VuY2VkTWFwUmVuZGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKG1hcCA9PiB7XG4gICAgICAgICAgaWYgKG1hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIHJldHJpZXZlTmV3U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtyZXRyaWV2ZU5ld1NjcmVlbnNob3RdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uTWFwUmVuZGVyID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkTWFwUmVuZGVyLCBbZGVib3VuY2VkTWFwUmVuZGVyXSk7XG5cbiAgICAvLyBJbml0aWFsIHNldHVwIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9LCBbc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXSk7XG5cbiAgICAvLyBTY3JlZW5zaG90IHVwZGF0ZSBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHJhdGlvICE9PSB1bmRlZmluZWQgfHwgcmVzb2x1dGlvbiAhPT0gdW5kZWZpbmVkIHx8IGxlZ2VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICByZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmF0aW8sIHJlc29sdXRpb24sIGxlZ2VuZCwgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nLCByZXRyaWV2ZU5ld1NjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgc2l6ZSBjYWxjdWxhdGlvbnNcbiAgICBjb25zdCB7c2l6ZSwgd2lkdGgsIGhlaWdodH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSB7XG4gICAgICAgIHdpZHRoOiBpbWFnZVNpemUuaW1hZ2VXIHx8IDEsXG4gICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCB8fCAxXG4gICAgICB9O1xuICAgICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgd2lkdGg6IHNpemUud2lkdGggLyAoaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLmhlaWdodFxuICAgICAgfTtcbiAgICB9LCBbaW1hZ2VTaXplLmltYWdlVywgaW1hZ2VTaXplLmltYWdlSCwgc3BsaXRNYXBzLmxlbmd0aF0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgc3RhdGVcbiAgICBjb25zdCBuZXdNYXBTdGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYmFzZU1hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIChNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICB9O1xuXG4gICAgICBpZiAoY2VudGVyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkTGF5ZXJzID0gbWFwRmllbGRzLnZpc1N0YXRlLmxheWVycy5maWx0ZXIoXG4gICAgICAgICAgKGxheWVyLCBpZHgpID0+XG4gICAgICAgICAgICBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiZcbiAgICAgICAgICAgIGxheWVyLnNob3VsZFJlbmRlckxheWVyKG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllckRhdGFbaWR4XSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYm91bmRzID0gZmluZE1hcEJvdW5kcyhyZW5kZXJlZExheWVycyk7XG4gICAgICAgIGNvbnN0IGNlbnRlckFuZFpvb20gPSBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG4gICAgICAgIGlmIChjZW50ZXJBbmRab29tKSB7XG4gICAgICAgICAgY29uc3Qgem9vbSA9IE51bWJlci5pc0Zpbml0ZShjZW50ZXJBbmRab29tLnpvb20pID8gY2VudGVyQW5kWm9vbS56b29tIDogbWFwU3RhdGUuem9vbTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZU1hcFN0YXRlLFxuICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclswXSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclsxXSxcbiAgICAgICAgICAgIHpvb206IHpvb20gKyBOdW1iZXIoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VNYXBTdGF0ZTtcbiAgICB9LCBbbWFwU3RhdGUsIHdpZHRoLCBoZWlnaHQsIHNjYWxlLCBjZW50ZXIsIG1hcEZpZWxkcy52aXNTdGF0ZV0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgcHJvcHNcbiAgICBjb25zdCBtYXBQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICAuLi5tYXBGaWVsZHMsXG4gICAgICAgIG1hcFN0eWxlOiBzY2FsZWRNYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGU6IG5ld01hcFN0YXRlLFxuICAgICAgICBtYXBDb250cm9sczoge1xuICAgICAgICAgIG1hcExlZ2VuZDoge1xuICAgICAgICAgICAgc2hvdzogQm9vbGVhbihsZWdlbmQpLFxuICAgICAgICAgICAgYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBNYXBDb21wb25lbnQ6IE1hcCxcbiAgICAgICAgb25NYXBSZW5kZXIsXG4gICAgICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgICAgICBkZWNrR2xQcm9wczoge1xuICAgICAgICAgIC4uLm1hcEZpZWxkcy5kZWNrR2xQcm9wcyxcbiAgICAgICAgICBnbE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICAgICAgICAgIHVzZURldmljZVBpeGVsczogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHZpc1N0YXRlOiB7XG4gICAgICAgICAgLi4ubWFwRmllbGRzLnZpc1N0YXRlLFxuICAgICAgICAgIGVmZmVjdHM6IHBsb3RFZmZlY3RzXG4gICAgICAgIH0sXG4gICAgICAgIC8vIGFsbG93IG92ZXJyaWRpbmcgdGhlIGxlZ2VuZCBwYW5lbCBsb2dvIGluIGV4cG9ydFxuICAgICAgICBsb2dvQ29tcG9uZW50XG4gICAgICB9KSxcbiAgICAgIFttYXBGaWVsZHMsIHNjYWxlZE1hcFN0eWxlLCBuZXdNYXBTdGF0ZSwgbGVnZW5kLCBvbk1hcFJlbmRlciwgcGxvdEVmZmVjdHMsIGxvZ29Db21wb25lbnRdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzU3BsaXQgPSBzcGxpdE1hcHMubGVuZ3RoID4gMTtcbiAgICBjb25zdCBtYXBDb250YWluZXJzID0gIWlzU3BsaXQgPyAoXG4gICAgICA8TWFwQ29udGFpbmVyIGluZGV4PXswfSBwcmltYXJ5PXt0cnVlfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgKSA6IChcbiAgICAgIDxNYXBzTGF5b3V0IGNsYXNzTmFtZT1cInBsb3QtY29udGFpbmVyLW1hcHNcIiBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICB7c3BsaXRNYXBzLm1hcCgoc2V0dGluZ3MsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPE1hcENvbnRhaW5lciBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9IHByaW1hcnk9e2luZGV4ID09PSAxfSB7Li4ubWFwUHJvcHN9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9NYXBzTGF5b3V0PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFBsb3RDb250YWluZXIgY2xhc3NOYW1lPVwiZXhwb3J0LW1hcC1pbnN0YW5jZVwiPlxuICAgICAgICA8U3R5bGVkTWFwQ29udGFpbmVyIHJlZj17cGxvdHRpbmdBcmVhUmVmfSB3aWR0aD17c2l6ZS53aWR0aH0gaGVpZ2h0PXtzaXplLmhlaWdodH0+XG4gICAgICAgICAgPE1hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlciBtYXBTdGF0ZT17bmV3TWFwU3RhdGV9PlxuICAgICAgICAgICAge21hcENvbnRhaW5lcnN9XG4gICAgICAgICAgPC9NYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXI+XG4gICAgICAgIDwvU3R5bGVkTWFwQ29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRQbG90Q29udGFpbmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gUmVhY3QubWVtbyhQbG90Q29udGFpbmVyKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQU9BLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGFBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLG9CQUFBLEdBQUFULE9BQUE7QUFFQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFBdUQsSUFBQVcsZUFBQSxFQUFBQyxnQkFBQSxFQXBCdkQ7QUFDQTtBQUVBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9B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
|
|
240
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RNYXBHbCIsIl9kZWJvdW5jZSIsIl91dGlscyIsIl9yZWR1Y2VycyIsIl9tYXBDb250YWluZXIiLCJfbWFwc0xheW91dCIsIl9tYXBWaWV3U3RhdGVDb250ZXh0IiwiX2NvbnN0YW50cyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJDTEFTU19GSUxURVIiLCJET01fRklMVEVSX0ZVTkMiLCJub2RlIiwiaW5jbHVkZXMiLCJjbGFzc05hbWUiLCJPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OIiwiUGxvdENvbnRhaW5lckZhY3RvcnkiLCJkZXBzIiwiTWFwQ29udGFpbmVyRmFjdG9yeSIsIk1hcHNMYXlvdXRGYWN0b3J5IiwiU3R5bGVkUGxvdENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkTWFwQ29udGFpbmVyIiwicHJvcHMiLCJ3aWR0aCIsImhlaWdodCIsIk1hcENvbnRhaW5lciIsIk1hcHNMYXlvdXQiLCJQbG90Q29udGFpbmVyIiwiX3JlZiIsInJhdGlvIiwicmVzb2x1dGlvbiIsIl9yZWYkbGVnZW5kIiwibGVnZW5kIiwiY2VudGVyIiwiaW1hZ2VTaXplIiwiZXNjYXBlWGh0bWxGb3JXZWJwYWNrIiwibWFwRmllbGRzIiwiX3JlZiRzcGxpdE1hcHMiLCJzcGxpdE1hcHMiLCJzZXRFeHBvcnRJbWFnZVNldHRpbmciLCJzZXRFeHBvcnRJbWFnZURhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiYWRkTm90aWZpY2F0aW9uIiwiZW5hYmxlRXJyb3JOb3RpZmljYXRpb24iLCJsb2dvQ29tcG9uZW50IiwicGxvdHRpbmdBcmVhUmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2aXNTdGF0ZSIsImVmZmVjdHMiLCJtYXAiLCJlZmZlY3QiLCJjbG9uZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwbG90RWZmZWN0cyIsIm1hcFN0YXRlIiwic2NhbGUiLCJ1c2VNZW1vIiwiY2FsY3VsYXRlZFNjYWxlIiwiZ2V0U2NhbGVGcm9tSW1hZ2VTaXplIiwiaW1hZ2VXIiwiaW1hZ2VIIiwiaXNTcGxpdCIsInNjYWxlZE1hcFN0eWxlIiwibWFwU3R5bGUiLCJib3R0b21NYXBTdHlsZSIsInNjYWxlTWFwU3R5bGVCeVJlc29sdXRpb24iLCJ0b3BNYXBTdHlsZSIsImRlYm91bmNlZFNjcmVlbnNob3QiLCJkZWJvdW5jZSIsImN1cnJlbnQiLCJjb252ZXJ0VG9QbmciLCJ0aGVuIiwiZXJyIiwiZXhwb3J0SW1hZ2VFcnJvciIsInJldHJpZXZlTmV3U2NyZWVuc2hvdCIsInVzZUNhbGxiYWNrIiwiZGVib3VuY2VkTWFwUmVuZGVyIiwiaXNTdHlsZUxvYWRlZCIsIm9uTWFwUmVuZGVyIiwidXNlRWZmZWN0IiwicHJvY2Vzc2luZyIsInVuZGVmaW5lZCIsIl91c2VNZW1vIiwic2l6ZSIsIm5ld01hcFN0YXRlIiwiYmFzZU1hcFN0YXRlIiwiem9vbSIsIk1hdGgiLCJsb2cyIiwicmVuZGVyZWRMYXllcnMiLCJsYXllcnMiLCJsYXllciIsImlkeCIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJzaG91bGRSZW5kZXJMYXllciIsImxheWVyRGF0YSIsImJvdW5kcyIsImZpbmRNYXBCb3VuZHMiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImxvbmdpdHVkZSIsImxhdGl0dWRlIiwibWFwUHJvcHMiLCJfbWFwRmllbGRzJG1hcENvbnRyb2wiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJCb29sZWFuIiwiYWN0aXZlIiwic2V0dGluZ3MiLCJNYXBDb21wb25lbnQiLCJNYXAiLCJpc0V4cG9ydCIsImRlY2tHbFByb3BzIiwiZ2xPcHRpb25zIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidXNlRGV2aWNlUGl4ZWxzIiwibWFwQ29udGFpbmVycyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJpbmRleCIsInByaW1hcnkiLCJrZXkiLCJyZWYiLCJNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIiLCJSZWFjdCIsIm1lbW8iXSwic291cmNlcyI6WyIuLi9zcmMvcGxvdC1jb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxpYnJhcmllc1xuaW1wb3J0IFJlYWN0LCB7dXNlUmVmLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge01hcH0gZnJvbSAncmVhY3QtbWFwLWdsJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2gvZGVib3VuY2UnO1xuaW1wb3J0IHtcbiAgZXhwb3J0SW1hZ2VFcnJvcixcbiAgc2NhbGVNYXBTdHlsZUJ5UmVzb2x1dGlvbixcbiAgZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMsXG4gIGNvbnZlcnRUb1BuZyxcbiAgZ2V0U2NhbGVGcm9tSW1hZ2VTaXplXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtmaW5kTWFwQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCBNYXBDb250YWluZXJGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRhaW5lcic7XG5pbXBvcnQgTWFwc0xheW91dEZhY3RvcnkgZnJvbSAnLi9tYXBzLWxheW91dCc7XG5pbXBvcnQge01hcFZpZXdTdGF0ZUNvbnRleHRQcm92aWRlcn0gZnJvbSAnLi9tYXAtdmlldy1zdGF0ZS1jb250ZXh0JztcblxuaW1wb3J0IHtHRU9DT0RFUl9MQVlFUl9JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFZmZlY3QsIFNwbGl0TWFwLCBFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBBY3Rpb25IYW5kbGVyLFxuICBhZGROb3RpZmljYXRpb24sXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcixcbiAgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge21hcEZpZWxkc1NlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5cbmNvbnN0IENMQVNTX0ZJTFRFUiA9IFtcbiAgJ21hcGxpYnJlZ2wtY29udHJvbC1jb250YWluZXInLFxuICAnbWFwYm94Z2wtY29udHJvbC1jb250YWluZXInLFxuICAnYXR0cml0aW9uLWxpbmsnLFxuICAnYXR0cml0aW9uLWxvZ28nLFxuICAnbWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzJ1xuXTtcbmNvbnN0IERPTV9GSUxURVJfRlVOQyA9IG5vZGUgPT4gIUNMQVNTX0ZJTFRFUi5pbmNsdWRlcyhub2RlLmNsYXNzTmFtZSk7XG5jb25zdCBPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OID0gLTk5OTk7XG5cblBsb3RDb250YWluZXJGYWN0b3J5LmRlcHMgPSBbTWFwQ29udGFpbmVyRmFjdG9yeSwgTWFwc0xheW91dEZhY3RvcnldO1xuXG4vLyBSZW1vdmUgbWFwYm94IGxvZ28gaW4gZXhwb3J0ZWQgbWFwLCBiZWNhdXNlIGl0IGNvbnRhaW5zIG5vbi1hc2NpaSBjaGFyYWN0ZXJzXG4vLyBSZW1vdmUgc3BsaXQgdmlld3BvcnQgVUkgY29udHJvbHMgZnJvbSBleHBvcnRlZCBpbWFnZXMgd2hlbiB0aGUgbGVnZW5kIGlzIHNob3duXG5jb25zdCBTdHlsZWRQbG90Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCxcbiAgLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBsaWJyZS1hdHRyaWJ1dGlvbi1jb250YWluZXIsXG4gIC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0LFxuICAubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQsXG4gIC5tYXBib3gtYXR0cmlidXRpb24tY29udGFpbmVyLFxuICAubWFwLWNvbnRyb2xfX3BhbmVsLXNwbGl0LXZpZXdwb3J0LXRvb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR7T1VUX09GX1NDUkVFTl9QT1NJVElPTn1weDtcbiAgbGVmdDogJHtPVVRfT0ZfU0NSRUVOX1BPU0lUSU9OfXB4O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1hcENvbnRhaW5lclByb3BzIHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRNYXBDb250YWluZXJQcm9wcz5gXG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaGVpZ2h0fXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuaW50ZXJmYWNlIFBsb3RDb250YWluZXJQcm9wcyB7XG4gIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICByYXRpbz86IHN0cmluZztcbiAgcmVzb2x1dGlvbj86IHN0cmluZztcbiAgbGVnZW5kPzogYm9vbGVhbjtcbiAgY2VudGVyPzogYm9vbGVhbjtcbiAgaW1hZ2VTaXplOiBFeHBvcnRJbWFnZVsnaW1hZ2VTaXplJ107XG4gIGVzY2FwZVhodG1sRm9yV2VicGFjaz86IGJvb2xlYW47XG5cbiAgLy8gTWFwIHNldHRpbmdzXG4gIG1hcEZpZWxkczogUmV0dXJuVHlwZTx0eXBlb2YgbWFwRmllbGRzU2VsZWN0b3I+O1xuICBzcGxpdE1hcHM/OiBTcGxpdE1hcFtdO1xuXG4gIC8vIENhbGxiYWNrc1xuICBzZXRFeHBvcnRJbWFnZVNldHRpbmc6IHR5cGVvZiBzZXRFeHBvcnRJbWFnZVNldHRpbmc7XG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaTogdHlwZW9mIHNldEV4cG9ydEltYWdlRGF0YVVyaTtcbiAgc2V0RXhwb3J0SW1hZ2VFcnJvcjogdHlwZW9mIHNldEV4cG9ydEltYWdlRXJyb3I7XG4gIGFkZE5vdGlmaWNhdGlvbjogQWN0aW9uSGFuZGxlcjx0eXBlb2YgYWRkTm90aWZpY2F0aW9uPjtcblxuICAvLyBGbGFnc1xuICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbj86IGJvb2xlYW47XG5cbiAgLy8gT3B0aW9uYWw6IG92ZXJyaWRlIGxlZ2VuZCBoZWFkZXIgbG9nbyBkdXJpbmcgZXhwb3J0XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBsb3RDb250YWluZXJGYWN0b3J5KFxuICBNYXBDb250YWluZXI6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRhaW5lckZhY3Rvcnk+LFxuICBNYXBzTGF5b3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBzTGF5b3V0RmFjdG9yeT5cbik6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGxvdENvbnRhaW5lclByb3BzPiB7XG4gIGZ1bmN0aW9uIFBsb3RDb250YWluZXIoe1xuICAgIC8vIEltYWdlIGV4cG9ydCBzZXR0aW5nc1xuICAgIHJhdGlvLFxuICAgIHJlc29sdXRpb24sXG4gICAgbGVnZW5kID0gZmFsc2UsXG4gICAgY2VudGVyLFxuICAgIGltYWdlU2l6ZSxcbiAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2ssXG5cbiAgICAvLyBNYXAgc2V0dGluZ3NcbiAgICBtYXBGaWVsZHMsXG4gICAgc3BsaXRNYXBzID0gW10sXG5cbiAgICAvLyBDYWxsYmFja3NcbiAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcsXG4gICAgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpLFxuICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgYWRkTm90aWZpY2F0aW9uLFxuXG4gICAgLy8gRmxhZ3NcbiAgICBlbmFibGVFcnJvck5vdGlmaWNhdGlvbixcbiAgICBsb2dvQ29tcG9uZW50XG4gIH06IFBsb3RDb250YWluZXJQcm9wcykge1xuICAgIGNvbnN0IHBsb3R0aW5nQXJlYVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3Bsb3RFZmZlY3RzXSA9IHVzZVN0YXRlPEVmZmVjdFtdPigoKSA9PlxuICAgICAgbWFwRmllbGRzLnZpc1N0YXRlLmVmZmVjdHMubWFwKGVmZmVjdCA9PiBlZmZlY3QuY2xvbmUoKSlcbiAgICApO1xuXG4gICAgY29uc3Qge21hcFN0YXRlfSA9IG1hcEZpZWxkcztcblxuICAgIC8vIE1lbW9pemUgdGhlIHNjYWxlIGNhbGN1bGF0aW9uXG4gICAgY29uc3Qgc2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChpbWFnZVNpemUuc2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGltYWdlU2l6ZS5zY2FsZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2FsY3VsYXRlZFNjYWxlID0gZ2V0U2NhbGVGcm9tSW1hZ2VTaXplKFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgICBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICBtYXBTdGF0ZS53aWR0aCAqIChtYXBTdGF0ZS5pc1NwbGl0ID8gMiA6IDEpLFxuICAgICAgICBtYXBTdGF0ZS5oZWlnaHRcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjYWxjdWxhdGVkU2NhbGUgPiAwID8gY2FsY3VsYXRlZFNjYWxlIDogMTtcbiAgICB9LCBbXG4gICAgICBpbWFnZVNpemUuc2NhbGUsXG4gICAgICBpbWFnZVNpemUuaW1hZ2VXLFxuICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgIG1hcFN0YXRlLndpZHRoLFxuICAgICAgbWFwU3RhdGUuaGVpZ2h0LFxuICAgICAgbWFwU3RhdGUuaXNTcGxpdFxuICAgIF0pO1xuXG4gICAgLy8gTWVtb2l6ZSB0aGUgbWFwIHN0eWxlXG4gICAgY29uc3Qgc2NhbGVkTWFwU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IG1hcFN0eWxlID0gbWFwRmllbGRzLm1hcFN0eWxlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubWFwU3R5bGUsXG4gICAgICAgIGJvdHRvbU1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLmJvdHRvbU1hcFN0eWxlLCBzY2FsZSksXG4gICAgICAgIHRvcE1hcFN0eWxlOiBzY2FsZU1hcFN0eWxlQnlSZXNvbHV0aW9uKG1hcFN0eWxlLnRvcE1hcFN0eWxlLCBzY2FsZSlcbiAgICAgIH07XG4gICAgfSwgW21hcEZpZWxkcy5tYXBTdHlsZSwgc2NhbGVdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIHJldHJpZXZlTmV3U2NyZWVuc2hvdCBjYWxsYmFja1xuICAgIGNvbnN0IGRlYm91bmNlZFNjcmVlbnNob3QgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgIGlmIChwbG90dGluZ0FyZWFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29udmVydFRvUG5nKHBsb3R0aW5nQXJlYVJlZi5jdXJyZW50LCB7XG4gICAgICAgICAgICAgIGZpbHRlcjogRE9NX0ZJTFRFUl9GVU5DLFxuICAgICAgICAgICAgICB3aWR0aDogaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBpbWFnZVNpemUuaW1hZ2VILFxuICAgICAgICAgICAgICBlc2NhcGVYaHRtbEZvcldlYnBhY2tcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC50aGVuKHNldEV4cG9ydEltYWdlRGF0YVVyaSlcbiAgICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXhwb3J0SW1hZ2VFcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIGlmIChlbmFibGVFcnJvck5vdGlmaWNhdGlvbikge1xuICAgICAgICAgICAgICAgICAgYWRkTm90aWZpY2F0aW9uKGV4cG9ydEltYWdlRXJyb3Ioe2Vycn0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlVyxcbiAgICAgICAgaW1hZ2VTaXplLmltYWdlSCxcbiAgICAgICAgZXNjYXBlWGh0bWxGb3JXZWJwYWNrLFxuICAgICAgICBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gICAgICAgIHNldEV4cG9ydEltYWdlRXJyb3IsXG4gICAgICAgIGVuYWJsZUVycm9yTm90aWZpY2F0aW9uLFxuICAgICAgICBhZGROb3RpZmljYXRpb25cbiAgICAgIF1cbiAgICApO1xuXG4gICAgY29uc3QgcmV0cmlldmVOZXdTY3JlZW5zaG90ID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkU2NyZWVuc2hvdCwgW2RlYm91bmNlZFNjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgdGhlIG9uTWFwUmVuZGVyIGNhbGxiYWNrXG4gICAgY29uc3QgZGVib3VuY2VkTWFwUmVuZGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGRlYm91bmNlKG1hcCA9PiB7XG4gICAgICAgICAgaWYgKG1hcC5pc1N0eWxlTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIHJldHJpZXZlTmV3U2NyZWVuc2hvdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwKSxcbiAgICAgIFtyZXRyaWV2ZU5ld1NjcmVlbnNob3RdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uTWFwUmVuZGVyID0gdXNlQ2FsbGJhY2soZGVib3VuY2VkTWFwUmVuZGVyLCBbZGVib3VuY2VkTWFwUmVuZGVyXSk7XG5cbiAgICAvLyBJbml0aWFsIHNldHVwIGVmZmVjdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBzZXRFeHBvcnRJbWFnZVNldHRpbmcoe3Byb2Nlc3Npbmc6IHRydWV9KTtcbiAgICB9LCBbc2V0RXhwb3J0SW1hZ2VTZXR0aW5nXSk7XG5cbiAgICAvLyBTY3JlZW5zaG90IHVwZGF0ZSBlZmZlY3RcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHJhdGlvICE9PSB1bmRlZmluZWQgfHwgcmVzb2x1dGlvbiAhPT0gdW5kZWZpbmVkIHx8IGxlZ2VuZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldEV4cG9ydEltYWdlU2V0dGluZyh7cHJvY2Vzc2luZzogdHJ1ZX0pO1xuICAgICAgICByZXRyaWV2ZU5ld1NjcmVlbnNob3QoKTtcbiAgICAgIH1cbiAgICB9LCBbcmF0aW8sIHJlc29sdXRpb24sIGxlZ2VuZCwgc2V0RXhwb3J0SW1hZ2VTZXR0aW5nLCByZXRyaWV2ZU5ld1NjcmVlbnNob3RdKTtcblxuICAgIC8vIE1lbW9pemUgc2l6ZSBjYWxjdWxhdGlvbnNcbiAgICBjb25zdCB7c2l6ZSwgd2lkdGgsIGhlaWdodH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSB7XG4gICAgICAgIHdpZHRoOiBpbWFnZVNpemUuaW1hZ2VXIHx8IDEsXG4gICAgICAgIGhlaWdodDogaW1hZ2VTaXplLmltYWdlSCB8fCAxXG4gICAgICB9O1xuICAgICAgY29uc3QgaXNTcGxpdCA9IHNwbGl0TWFwcy5sZW5ndGggPiAxO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgd2lkdGg6IHNpemUud2lkdGggLyAoaXNTcGxpdCA/IDIgOiAxKSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLmhlaWdodFxuICAgICAgfTtcbiAgICB9LCBbaW1hZ2VTaXplLmltYWdlVywgaW1hZ2VTaXplLmltYWdlSCwgc3BsaXRNYXBzLmxlbmd0aF0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgc3RhdGVcbiAgICBjb25zdCBuZXdNYXBTdGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYmFzZU1hcFN0YXRlID0ge1xuICAgICAgICAuLi5tYXBTdGF0ZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgem9vbTogbWFwU3RhdGUuem9vbSArIChNYXRoLmxvZzIoc2NhbGUpIHx8IDApXG4gICAgICB9O1xuXG4gICAgICBpZiAoY2VudGVyKSB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkTGF5ZXJzID0gbWFwRmllbGRzLnZpc1N0YXRlLmxheWVycy5maWx0ZXIoXG4gICAgICAgICAgKGxheWVyLCBpZHgpID0+XG4gICAgICAgICAgICBsYXllci5pZCAhPT0gR0VPQ09ERVJfTEFZRVJfSUQgJiZcbiAgICAgICAgICAgIGxheWVyLnNob3VsZFJlbmRlckxheWVyKG1hcEZpZWxkcy52aXNTdGF0ZS5sYXllckRhdGFbaWR4XSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYm91bmRzID0gZmluZE1hcEJvdW5kcyhyZW5kZXJlZExheWVycyk7XG4gICAgICAgIGNvbnN0IGNlbnRlckFuZFpvb20gPSBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSk7XG4gICAgICAgIGlmIChjZW50ZXJBbmRab29tKSB7XG4gICAgICAgICAgY29uc3Qgem9vbSA9IE51bWJlci5pc0Zpbml0ZShjZW50ZXJBbmRab29tLnpvb20pID8gY2VudGVyQW5kWm9vbS56b29tIDogbWFwU3RhdGUuem9vbTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZU1hcFN0YXRlLFxuICAgICAgICAgICAgbG9uZ2l0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclswXSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiBjZW50ZXJBbmRab29tLmNlbnRlclsxXSxcbiAgICAgICAgICAgIHpvb206IHpvb20gKyBOdW1iZXIoTWF0aC5sb2cyKHNjYWxlKSB8fCAwKVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGJhc2VNYXBTdGF0ZTtcbiAgICB9LCBbbWFwU3RhdGUsIHdpZHRoLCBoZWlnaHQsIHNjYWxlLCBjZW50ZXIsIG1hcEZpZWxkcy52aXNTdGF0ZV0pO1xuXG4gICAgLy8gTWVtb2l6ZSBtYXAgcHJvcHNcbiAgICBjb25zdCBtYXBQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICAuLi5tYXBGaWVsZHMsXG4gICAgICAgIG1hcFN0eWxlOiBzY2FsZWRNYXBTdHlsZSxcbiAgICAgICAgbWFwU3RhdGU6IG5ld01hcFN0YXRlLFxuICAgICAgICBtYXBDb250cm9sczoge1xuICAgICAgICAgIG1hcExlZ2VuZDoge1xuICAgICAgICAgICAgc2hvdzogQm9vbGVhbihsZWdlbmQpLFxuICAgICAgICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgICAgICAgc2V0dGluZ3M6IG1hcEZpZWxkcy5tYXBDb250cm9scz8ubWFwTGVnZW5kPy5zZXR0aW5nc1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgTWFwQ29tcG9uZW50OiBNYXAsXG4gICAgICAgIG9uTWFwUmVuZGVyLFxuICAgICAgICBpc0V4cG9ydDogdHJ1ZSxcbiAgICAgICAgZGVja0dsUHJvcHM6IHtcbiAgICAgICAgICAuLi5tYXBGaWVsZHMuZGVja0dsUHJvcHMsXG4gICAgICAgICAgZ2xPcHRpb25zOiB7XG4gICAgICAgICAgICBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6IHRydWUsXG4gICAgICAgICAgICB1c2VEZXZpY2VQaXhlbHM6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB2aXNTdGF0ZToge1xuICAgICAgICAgIC4uLm1hcEZpZWxkcy52aXNTdGF0ZSxcbiAgICAgICAgICBlZmZlY3RzOiBwbG90RWZmZWN0c1xuICAgICAgICB9LFxuICAgICAgICAvLyBhbGxvdyBvdmVycmlkaW5nIHRoZSBsZWdlbmQgcGFuZWwgbG9nbyBpbiBleHBvcnRcbiAgICAgICAgbG9nb0NvbXBvbmVudFxuICAgICAgfSksXG4gICAgICBbbWFwRmllbGRzLCBzY2FsZWRNYXBTdHlsZSwgbmV3TWFwU3RhdGUsIGxlZ2VuZCwgb25NYXBSZW5kZXIsIHBsb3RFZmZlY3RzLCBsb2dvQ29tcG9uZW50XVxuICAgICk7XG5cbiAgICBjb25zdCBpc1NwbGl0ID0gc3BsaXRNYXBzLmxlbmd0aCA+IDE7XG4gICAgY29uc3QgbWFwQ29udGFpbmVycyA9ICFpc1NwbGl0ID8gKFxuICAgICAgPE1hcENvbnRhaW5lciBpbmRleD17MH0gcHJpbWFyeT17dHJ1ZX0gey4uLm1hcFByb3BzfSAvPlxuICAgICkgOiAoXG4gICAgICA8TWFwc0xheW91dCBjbGFzc05hbWU9XCJwbG90LWNvbnRhaW5lci1tYXBzXCIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAge3NwbGl0TWFwcy5tYXAoKHNldHRpbmdzLCBpbmRleCkgPT4gKFxuICAgICAgICAgIDxNYXBDb250YWluZXIga2V5PXtpbmRleH0gaW5kZXg9e2luZGV4fSBwcmltYXJ5PXtpbmRleCA9PT0gMX0gey4uLm1hcFByb3BzfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvTWFwc0xheW91dD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQbG90Q29udGFpbmVyIGNsYXNzTmFtZT1cImV4cG9ydC1tYXAtaW5zdGFuY2VcIj5cbiAgICAgICAgPFN0eWxlZE1hcENvbnRhaW5lciByZWY9e3Bsb3R0aW5nQXJlYVJlZn0gd2lkdGg9e3NpemUud2lkdGh9IGhlaWdodD17c2l6ZS5oZWlnaHR9PlxuICAgICAgICAgIDxNYXBWaWV3U3RhdGVDb250ZXh0UHJvdmlkZXIgbWFwU3RhdGU9e25ld01hcFN0YXRlfT5cbiAgICAgICAgICAgIHttYXBDb250YWluZXJzfVxuICAgICAgICAgIDwvTWFwVmlld1N0YXRlQ29udGV4dFByb3ZpZGVyPlxuICAgICAgICA8L1N0eWxlZE1hcENvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkUGxvdENvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIFJlYWN0Lm1lbW8oUGxvdENvbnRhaW5lcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUlBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFPQSxJQUFBTSxTQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxvQkFBQSxHQUFBVCxPQUFBO0FBRUEsSUFBQVUsVUFB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
|