decap-cms-widget-file 3.1.3 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/decap-cms-widget-file.js +2 -2
- package/dist/decap-cms-widget-file.js.LICENSE.txt +2 -28
- package/dist/decap-cms-widget-file.js.map +1 -1
- package/dist/esm/FilePreview.js +17 -25
- package/dist/esm/index.js +13 -24
- package/dist/esm/schema.js +1 -7
- package/dist/esm/withFileControl.js +243 -253
- package/package.json +3 -3
- package/src/withFileControl.js +6 -1
|
@@ -1,37 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = withFileControl;
|
|
7
|
-
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
8
|
-
var _once2 = _interopRequireDefault(require("lodash/once"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
12
|
-
var _react2 = require("@emotion/react");
|
|
13
|
-
var _immutable = require("immutable");
|
|
14
|
-
var _uuid = require("uuid");
|
|
15
|
-
var _commonTags = require("common-tags");
|
|
16
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
17
|
-
var _decapCmsLibUtil = require("decap-cms-lib-util");
|
|
18
|
-
var _arrayMove = require("array-move");
|
|
19
|
-
var _core = require("@dnd-kit/core");
|
|
20
|
-
var _sortable = require("@dnd-kit/sortable");
|
|
21
|
-
var _utilities = require("@dnd-kit/utilities");
|
|
22
|
-
var _modifiers = require("@dnd-kit/modifiers");
|
|
23
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
26
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
27
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
28
3
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
7
|
+
import { css } from '@emotion/react';
|
|
8
|
+
import { Map, List } from 'immutable';
|
|
9
|
+
import once from 'lodash/once';
|
|
10
|
+
import { v4 as uuid } from 'uuid';
|
|
11
|
+
import { oneLine } from 'common-tags';
|
|
12
|
+
import { lengths, components, buttons, borders, effects, shadows, IconButton } from 'decap-cms-ui-default';
|
|
13
|
+
import { basename } from 'decap-cms-lib-util';
|
|
14
|
+
import { arrayMoveImmutable as arrayMove } from 'array-move';
|
|
15
|
+
import { DndContext, MouseSensor, TouchSensor, closestCenter, useSensor, useSensors } from '@dnd-kit/core';
|
|
16
|
+
import { SortableContext, useSortable } from '@dnd-kit/sortable';
|
|
17
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
18
|
+
import { restrictToParentElement } from '@dnd-kit/modifiers';
|
|
19
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
29
20
|
const MAX_DISPLAY_LENGTH = 50;
|
|
30
|
-
const ImageWrapper = /*#__PURE__*/(
|
|
21
|
+
const ImageWrapper = /*#__PURE__*/_styled("div", {
|
|
31
22
|
target: "e1hax4ql7",
|
|
32
23
|
label: "ImageWrapper"
|
|
33
|
-
})("flex-basis:155px;width:155px;height:100px;margin-right:20px;margin-bottom:20px;border:", _decapCmsUiDefault.borders.textField, ";border-radius:", _decapCmsUiDefault.lengths.borderRadius, ";overflow:hidden;", _decapCmsUiDefault.effects.checkerboard, ";", _decapCmsUiDefault.shadows.inset, ";cursor:", props => props.sortable ? 'pointer' : 'auto', ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0MrQiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */"));
|
|
34
|
-
const SortableImageButtonsWrapper = /*#__PURE__*/(
|
|
24
|
+
})("flex-basis:155px;width:155px;height:100px;margin-right:20px;margin-bottom:20px;border:", borders.textField, ";border-radius:", lengths.borderRadius, ";overflow:hidden;", effects.checkerboard, ";", shadows.inset, ";cursor:", props => props.sortable ? 'pointer' : 'auto', ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0MrQiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */"));
|
|
25
|
+
const SortableImageButtonsWrapper = /*#__PURE__*/_styled("div", {
|
|
35
26
|
target: "e1hax4ql6",
|
|
36
27
|
label: "SortableImageButtonsWrapper"
|
|
37
28
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -39,11 +30,10 @@ const SortableImageButtonsWrapper = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
39
30
|
styles: "display:flex;justify-content:center;column-gap:10px;margin-right:20px;margin-top:-10px;margin-bottom:10px"
|
|
40
31
|
} : {
|
|
41
32
|
name: "1ekgmip",
|
|
42
|
-
styles: "display:flex;justify-content:center;column-gap:10px;margin-right:20px;margin-top:-10px;margin-bottom:10px",
|
|
43
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0Q4QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
33
|
+
styles: "display:flex;justify-content:center;column-gap:10px;margin-right:20px;margin-top:-10px;margin-bottom:10px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0Q4QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
44
34
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
45
35
|
});
|
|
46
|
-
const StyledImage = /*#__PURE__*/(
|
|
36
|
+
const StyledImage = /*#__PURE__*/_styled("img", {
|
|
47
37
|
target: "e1hax4ql5",
|
|
48
38
|
label: "StyledImage"
|
|
49
39
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -51,12 +41,11 @@ const StyledImage = /*#__PURE__*/(0, _base.default)("img", {
|
|
|
51
41
|
styles: "width:100%;height:100%;object-fit:contain"
|
|
52
42
|
} : {
|
|
53
43
|
name: "ukfjzf",
|
|
54
|
-
styles: "width:100%;height:100%;object-fit:contain",
|
|
55
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUQ4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
44
|
+
styles: "width:100%;height:100%;object-fit:contain/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUQ4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
56
45
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
57
46
|
});
|
|
58
47
|
function Image(props) {
|
|
59
|
-
return (
|
|
48
|
+
return ___EmotionJSX(StyledImage, _extends({
|
|
60
49
|
role: "presentation"
|
|
61
50
|
}, props));
|
|
62
51
|
}
|
|
@@ -64,11 +53,11 @@ function SortableImageButtons({
|
|
|
64
53
|
onRemove,
|
|
65
54
|
onReplace
|
|
66
55
|
}) {
|
|
67
|
-
return (
|
|
56
|
+
return ___EmotionJSX(SortableImageButtonsWrapper, null, ___EmotionJSX(IconButton, {
|
|
68
57
|
size: "small",
|
|
69
58
|
type: "media",
|
|
70
59
|
onClick: onReplace
|
|
71
|
-
}), (
|
|
60
|
+
}), ___EmotionJSX(IconButton, {
|
|
72
61
|
size: "small",
|
|
73
62
|
type: "close",
|
|
74
63
|
onClick: onRemove
|
|
@@ -81,11 +70,11 @@ function SortableImage(props) {
|
|
|
81
70
|
setNodeRef,
|
|
82
71
|
transform,
|
|
83
72
|
transition
|
|
84
|
-
} =
|
|
73
|
+
} = useSortable({
|
|
85
74
|
id: props.id
|
|
86
75
|
});
|
|
87
76
|
const style = {
|
|
88
|
-
transform:
|
|
77
|
+
transform: CSS.Transform.toString(transform),
|
|
89
78
|
transition
|
|
90
79
|
};
|
|
91
80
|
const {
|
|
@@ -95,14 +84,14 @@ function SortableImage(props) {
|
|
|
95
84
|
onRemove,
|
|
96
85
|
onReplace
|
|
97
86
|
} = props;
|
|
98
|
-
return (
|
|
87
|
+
return ___EmotionJSX("div", _extends({
|
|
99
88
|
ref: setNodeRef,
|
|
100
89
|
style: style
|
|
101
|
-
}, attributes, listeners), (
|
|
90
|
+
}, attributes, listeners), ___EmotionJSX(ImageWrapper, {
|
|
102
91
|
sortable: true
|
|
103
|
-
}, (
|
|
92
|
+
}, ___EmotionJSX(Image, {
|
|
104
93
|
src: getAsset(itemValue, field) || ''
|
|
105
|
-
})), (
|
|
94
|
+
})), ___EmotionJSX(SortableImageButtons, {
|
|
106
95
|
item: itemValue,
|
|
107
96
|
onRemove: onRemove,
|
|
108
97
|
onReplace: onReplace
|
|
@@ -113,8 +102,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
113
102
|
styles: "display:flex;flex-wrap:wrap;label:SortableMultiImageWrapper;"
|
|
114
103
|
} : {
|
|
115
104
|
name: "a42x49-SortableMultiImageWrapper",
|
|
116
|
-
styles: "display:flex;flex-wrap:wrap;label:SortableMultiImageWrapper;",
|
|
117
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEhjIiwiZmlsZSI6Ii4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBNYXAsIExpc3QgfSBmcm9tICdpbW11dGFibGUnO1xuaW1wb3J0IHsgb25jZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZShwcm9wcykge1xuICByZXR1cm4gPFN0eWxlZEltYWdlIHJvbGU9XCJwcmVzZW50YXRpb25cIiB7Li4ucHJvcHN9IC8+O1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlQnV0dG9ucyh7IG9uUmVtb3ZlLCBvblJlcGxhY2UgfSkge1xuICByZXR1cm4gKFxuICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXI+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwibWVkaWFcIiBvbkNsaWNrPXtvblJlcGxhY2V9PjwvSWNvbkJ1dHRvbj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJjbG9zZVwiIG9uQ2xpY2s9e29uUmVtb3ZlfT48L0ljb25CdXR0b24+XG4gICAgPC9Tb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXI+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2UocHJvcHMpIHtcbiAgY29uc3QgeyBhdHRyaWJ1dGVzLCBsaXN0ZW5lcnMsIHNldE5vZGVSZWYsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbiB9ID0gdXNlU29ydGFibGUoe1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgfSk7XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgdHJhbnNmb3JtOiBDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSksXG4gICAgdHJhbnNpdGlvbixcbiAgfTtcblxuICBjb25zdCB7IGl0ZW1WYWx1ZSwgZ2V0QXNzZXQsIGZpZWxkLCBvblJlbW92ZSwgb25SZXBsYWNlIH0gPSBwcm9wcztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtzZXROb2RlUmVmfSBzdHlsZT17c3R5bGV9IHsuLi5hdHRyaWJ1dGVzfSB7Li4ubGlzdGVuZXJzfT5cbiAgICAgIDxJbWFnZVdyYXBwZXIgc29ydGFibGU+XG4gICAgICAgIDxJbWFnZSBzcmM9e2dldEFzc2V0KGl0ZW1WYWx1ZSwgZmllbGQpIHx8ICcnfSAvPlxuICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNcbiAgICAgICAgaXRlbT17aXRlbVZhbHVlfVxuICAgICAgICBvblJlbW92ZT17b25SZW1vdmV9XG4gICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlfVxuICAgICAgPjwvU29ydGFibGVJbWFnZUJ1dHRvbnM+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXIoe1xuICBpdGVtcyxcbiAgZ2V0QXNzZXQsXG4gIGZpZWxkLFxuICBvblNvcnRFbmQsXG4gIG9uUmVtb3ZlT25lLFxuICBvblJlcGxhY2VPbmUsXG59KSB7XG4gIGNvbnN0IGFjdGl2YXRpb25Db25zdHJhaW50ID0geyBkaXN0YW5jZTogNCB9O1xuICBjb25zdCBzZW5zb3JzID0gdXNlU2Vuc29ycyhcbiAgICB1c2VTZW5zb3IoTW91c2VTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICAgdXNlU2Vuc29yKFRvdWNoU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICApO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZVNvcnRFbmQoeyBhY3RpdmUsIG92ZXIgfSkge1xuICAgIG9uU29ydEVuZCh7XG4gICAgICBvbGRJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gYWN0aXZlLmlkKSxcbiAgICAgIG5ld0luZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBvdmVyLmlkKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVua25vd24tcHJvcGVydHlcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxEbmRDb250ZXh0XG4gICAgICAgIG1vZGlmaWVycz17W3Jlc3RyaWN0VG9QYXJlbnRFbGVtZW50XX1cbiAgICAgICAgY29sbGlzaW9uRGV0ZWN0aW9uPXtjbG9zZXN0Q2VudGVyfVxuICAgICAgICBzZW5zb3JzPXtzZW5zb3JzfVxuICAgICAgICBvbkRyYWdFbmQ9e2hhbmRsZVNvcnRFbmR9XG4gICAgICA+XG4gICAgICAgIDxTb3J0YWJsZUNvbnRleHQgaXRlbXM9e2l0ZW1zfT5cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPFNvcnRhYmxlSW1hZ2VcbiAgICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpZD17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICBpdGVtVmFsdWU9e2l0ZW0udmFsdWV9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICBvblJlbW92ZT17b25SZW1vdmVPbmUoaW5kZXgpfVxuICAgICAgICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZU9uZShpbmRleCl9XG4gICAgICAgICAgICA+PC9Tb3J0YWJsZUltYWdlPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NvcnRhYmxlQ29udGV4dD5cbiAgICAgIDwvRG5kQ29udGV4dD5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3QgRmlsZUxpbmsgPSBzdHlsZWQuYWBcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5gO1xuXG5jb25zdCBGaWxlTGlua3MgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZUxpbmtMaXN0ID0gc3R5bGVkLnVsYFxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5gO1xuXG5jb25zdCBGaWxlV2lkZ2V0QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgJHtidXR0b25zLmJ1dHRvbn07XG4gICR7Y29tcG9uZW50cy5iYWRnZX07XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlID0gc3R5bGVkLmJ1dHRvbmBcbiAgJHtidXR0b25zLmJ1dHRvbn07XG4gICR7Y29tcG9uZW50cy5iYWRnZURhbmdlcn07XG5gO1xuXG5mdW5jdGlvbiBpc011bHRpcGxlKHZhbHVlKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSB8fCBMaXN0LmlzTGlzdCh2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIHNpemVPZlZhbHVlKHZhbHVlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5sZW5ndGg7XG4gIH1cblxuICBpZiAoTGlzdC5pc0xpc3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLnNpemU7XG4gIH1cblxuICByZXR1cm4gdmFsdWUgPyAxIDogMDtcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkge1xuICByZXR1cm4gTGlzdC5pc0xpc3QodmFsdWUpID8gdmFsdWUudG9BcnJheSgpIDogdmFsdWUgPz8gJyc7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSkge1xuICBpZiAoIWlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgY29uc3QgdmFsdWVBcnJheSA9IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLm1hcCh2YWx1ZSA9PiAoe1xuICAgIGlkOiB1dWlkKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gdXVpZCgpO1xuICAgIH1cblxuICAgIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWx3YXlzIHVwZGF0ZSBpZiB0aGUgdmFsdWUgb3IgZ2V0QXNzZXQgY2hhbmdlcy5cbiAgICAgICAqL1xuICAgICAgaWYgKHRoaXMucHJvcHMudmFsdWUgIT09IG5leHRQcm9wcy52YWx1ZSB8fCB0aGlzLnByb3BzLmdldEFzc2V0ICE9PSBuZXh0UHJvcHMuZ2V0QXNzZXQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogSWYgdGhlcmUgaXMgYSBtZWRpYSBwYXRoIGZvciB0aGlzIGNvbnRyb2wgaW4gdGhlIHN0YXRlIG9iamVjdCwgYW5kIHRoYXRcbiAgICAgICAqIHBhdGggaXMgZGlmZmVyZW50IHRoYW4gdGhlIHZhbHVlIGluIGBuZXh0UHJvcHNgLCB1cGRhdGUuXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IG1lZGlhUGF0aCA9IG5leHRQcm9wcy5tZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG5leHRQcm9wcy52YWx1ZSAhPT0gbWVkaWFQYXRoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgeyBtZWRpYVBhdGhzLCB2YWx1ZSwgb25SZW1vdmVJbnNlcnRlZE1lZGlhLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhUGF0aCA9IG1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbWVkaWFQYXRoICE9PSB2YWx1ZSkge1xuICAgICAgICBvbkNoYW5nZShtZWRpYVBhdGgpO1xuICAgICAgfSBlbHNlIGlmIChtZWRpYVBhdGggJiYgbWVkaWFQYXRoID09PSB2YWx1ZSkge1xuICAgICAgICBvblJlbW92ZUluc2VydGVkTWVkaWEodGhpcy5jb250cm9sSUQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgdGhpcy5wcm9wcy5vblJlbW92ZU1lZGlhQ29udHJvbCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlID0gZSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICBhbGxvd011bHRpcGxlOiAhIW1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2FsbG93X211bHRpcGxlJywgdHJ1ZSksXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGhhbmRsZVVybCA9IHN1YmplY3QgPT4gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5wcm9tcHQodGhpcy5wcm9wcy50KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnByb21wdFVybGApKTtcblxuICAgICAgaWYgKHVybCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZSh1cmwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBoYW5kbGVSZW1vdmUgPSBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMucHJvcHMub25DbGVhck1lZGlhQ29udHJvbCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZSgnJyk7XG4gICAgfTtcblxuICAgIG9uUmVtb3ZlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZUxpc3RUb0FycmF5KHRoaXMucHJvcHMudmFsdWUpO1xuICAgICAgdmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHNpemVPZlZhbHVlKHZhbHVlKSA+IDAgPyBbLi4udmFsdWVdIDogbnVsbCk7XG4gICAgfTtcblxuICAgIG9uUmVwbGFjZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIHJlcGxhY2VJbmRleDogaW5kZXgsXG4gICAgICAgIGFsbG93TXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBnZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoZmllbGQuaGFzSW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSkpIHtcbiAgICAgICAgd2FybkRlcHJlY2F0ZWRPcHRpb25zKGZpZWxkKTtcbiAgICAgICAgcmV0dXJuIGZpZWxkLmdldEluKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10sIE1hcCgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpZWxkLmdldCgnbWVkaWFfbGlicmFyeScsIE1hcCgpKTtcbiAgICB9O1xuXG4gICAgYWxsb3dzTXVsdGlwbGUgPSAoKSA9PiB7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJywgZmFsc2UpICYmXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLmdldCgnbXVsdGlwbGUnLCBmYWxzZSlcbiAgICAgICk7XG4gICAgfTtcblxuICAgIG9uU29ydEVuZCA9ICh7IG9sZEluZGV4LCBuZXdJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBhcnJheU1vdmUodmFsdWUsIG9sZEluZGV4LCBuZXdJbmRleCk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgfTtcblxuICAgIGdldFZhbGlkYXRlVmFsdWUgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpc011bHRpcGxlKHZhbHVlKSA/IHZhbHVlLm1hcCh2ID0+IGJhc2VuYW1lKHYpKSA6IGJhc2VuYW1lKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGluayA9IHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSBNQVhfRElTUExBWV9MRU5HVEg7XG4gICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA8PSBzaXplKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRleHQgPSBgJHt2YWx1ZS5zbGljZSgwLCBzaXplIC8gMil9XFx1MjAyNiR7dmFsdWUuc2xpY2UoLShzaXplIC8gMikgKyAxKX1gO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEZpbGVMaW5rIGhyZWY9e3ZhbHVlfSByZWw9XCJub29wZW5lclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgIHt0ZXh0fVxuICAgICAgICA8L0ZpbGVMaW5rPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmtzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEZpbGVMaW5rcz5cbiAgICAgICAgICAgIDxGaWxlTGlua0xpc3Q+XG4gICAgICAgICAgICAgIHt2YWx1ZS5tYXAodmFsID0+IChcbiAgICAgICAgICAgICAgICA8bGkga2V5PXt2YWx9Pnt0aGlzLnJlbmRlckZpbGVMaW5rKHZhbCl9PC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0ZpbGVMaW5rTGlzdD5cbiAgICAgICAgICA8L0ZpbGVMaW5rcz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiA8RmlsZUxpbmtzPnt0aGlzLnJlbmRlckZpbGVMaW5rKHZhbHVlKX08L0ZpbGVMaW5rcz47XG4gICAgfTtcblxuICAgIHJlbmRlckltYWdlcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZ2V0QXNzZXQsIHZhbHVlLCBmaWVsZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGl0ZW1zID0gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKTtcbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3JjID0gZ2V0QXNzZXQodmFsdWUsIGZpZWxkKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHNyYz17c3JjIHx8ICcnfSAvPlxuICAgICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlclNlbGVjdGlvbiA9IHN1YmplY3QgPT4ge1xuICAgICAgY29uc3QgeyB0LCBmaWVsZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGFsbG93c011bHRpcGxlID0gdGhpcy5hbGxvd3NNdWx0aXBsZSgpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7Zm9ySW1hZ2UgPyB0aGlzLnJlbmRlckltYWdlcygpIDogbnVsbH1cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge2ZvckltYWdlID8gbnVsbCA6IHRoaXMucmVuZGVyRmlsZUxpbmtzKCl9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICAgIHt0KFxuICAgICAgICAgICAgICAgIGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LiR7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFsbG93c011bHRpcGxlKCkgPyAnYWRkTW9yZScgOiAnY2hvb3NlRGlmZmVyZW50J1xuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpICYmICF0aGlzLmFsbG93c011bHRpcGxlKCkgPyAoXG4gICAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVXJsKHN1YmplY3QpfT5cbiAgICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5yZXBsYWNlVXJsYCl9XG4gICAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgb25DbGljaz17dGhpcy5oYW5kbGVSZW1vdmV9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5yZW1vdmUke2FsbG93c011bHRpcGxlID8gJ0FsbCcgOiAnJ31gKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvblJlbW92ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJOb1NlbGVjdGlvbiA9IHN1YmplY3QgPT4ge1xuICAgICAgY29uc3QgeyB0LCBmaWVsZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uY2hvb3NlJHt0aGlzLmFsbG93c011bHRpcGxlKCkgPyAnTXVsdGlwbGUnIDogJyd9YCl9XG4gICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSA/IChcbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVXJsKHN1YmplY3QpfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uY2hvb3NlVXJsYCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgY2xhc3NOYW1lV3JhcHBlciB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHN1YmplY3QgPSBmb3JJbWFnZSA/ICdpbWFnZScgOiAnZmlsZSc7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVXcmFwcGVyfT5cbiAgICAgICAgICA8c3Bhbj57dmFsdWUgPyB0aGlzLnJlbmRlclNlbGVjdGlvbihzdWJqZWN0KSA6IHRoaXMucmVuZGVyTm9TZWxlY3Rpb24oc3ViamVjdCl9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuIl19 */",
|
|
105
|
+
styles: "display:flex;flex-wrap:wrap;label:SortableMultiImageWrapper;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEhjIiwiZmlsZSI6Ii4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBNYXAsIExpc3QgfSBmcm9tICdpbW11dGFibGUnO1xuaW1wb3J0IG9uY2UgZnJvbSAnbG9kYXNoL29uY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
118
106
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
119
107
|
};
|
|
120
108
|
function SortableMultiImageWrapper({
|
|
@@ -128,9 +116,9 @@ function SortableMultiImageWrapper({
|
|
|
128
116
|
const activationConstraint = {
|
|
129
117
|
distance: 4
|
|
130
118
|
};
|
|
131
|
-
const sensors =
|
|
119
|
+
const sensors = useSensors(useSensor(MouseSensor, {
|
|
132
120
|
activationConstraint
|
|
133
|
-
}),
|
|
121
|
+
}), useSensor(TouchSensor, {
|
|
134
122
|
activationConstraint
|
|
135
123
|
}));
|
|
136
124
|
function handleSortEnd({
|
|
@@ -142,17 +130,17 @@ function SortableMultiImageWrapper({
|
|
|
142
130
|
newIndex: items.findIndex(item => item.id === over.id)
|
|
143
131
|
});
|
|
144
132
|
}
|
|
145
|
-
return (
|
|
133
|
+
return ___EmotionJSX("div", {
|
|
146
134
|
// eslint-disable-next-line react/no-unknown-property
|
|
147
135
|
css: _ref
|
|
148
|
-
}, (
|
|
149
|
-
modifiers: [
|
|
150
|
-
collisionDetection:
|
|
136
|
+
}, ___EmotionJSX(DndContext, {
|
|
137
|
+
modifiers: [restrictToParentElement],
|
|
138
|
+
collisionDetection: closestCenter,
|
|
151
139
|
sensors: sensors,
|
|
152
140
|
onDragEnd: handleSortEnd
|
|
153
|
-
}, (
|
|
141
|
+
}, ___EmotionJSX(SortableContext, {
|
|
154
142
|
items: items
|
|
155
|
-
}, items.map((item, index) => (
|
|
143
|
+
}, items.map((item, index) => ___EmotionJSX(SortableImage, {
|
|
156
144
|
key: item.id,
|
|
157
145
|
id: item.id,
|
|
158
146
|
index: index,
|
|
@@ -163,7 +151,7 @@ function SortableMultiImageWrapper({
|
|
|
163
151
|
onReplace: onReplaceOne(index)
|
|
164
152
|
})))));
|
|
165
153
|
}
|
|
166
|
-
const FileLink = /*#__PURE__*/(
|
|
154
|
+
const FileLink = /*#__PURE__*/_styled("a", {
|
|
167
155
|
target: "e1hax4ql4",
|
|
168
156
|
label: "FileLink"
|
|
169
157
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -171,11 +159,10 @@ const FileLink = /*#__PURE__*/(0, _base.default)("a", {
|
|
|
171
159
|
styles: "margin-bottom:20px;font-weight:normal;color:inherit;&:hover,&:active,&:focus{text-decoration:underline;}"
|
|
172
160
|
} : {
|
|
173
161
|
name: "7mbjrw",
|
|
174
|
-
styles: "margin-bottom:20px;font-weight:normal;color:inherit;&:hover,&:active,&:focus{text-decoration:underline;}",
|
|
175
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEp5QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
162
|
+
styles: "margin-bottom:20px;font-weight:normal;color:inherit;&:hover,&:active,&:focus{text-decoration:underline;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEp5QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
176
163
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
177
164
|
});
|
|
178
|
-
const FileLinks = /*#__PURE__*/(
|
|
165
|
+
const FileLinks = /*#__PURE__*/_styled("div", {
|
|
179
166
|
target: "e1hax4ql3",
|
|
180
167
|
label: "FileLinks"
|
|
181
168
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -183,11 +170,10 @@ const FileLinks = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
183
170
|
styles: "margin-bottom:12px"
|
|
184
171
|
} : {
|
|
185
172
|
name: "cn3xcj",
|
|
186
|
-
styles: "margin-bottom:12px",
|
|
187
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0s0QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
173
|
+
styles: "margin-bottom:12px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0s0QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
188
174
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
189
175
|
});
|
|
190
|
-
const FileLinkList = /*#__PURE__*/(
|
|
176
|
+
const FileLinkList = /*#__PURE__*/_styled("ul", {
|
|
191
177
|
target: "e1hax4ql2",
|
|
192
178
|
label: "FileLinkList"
|
|
193
179
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -195,216 +181,76 @@ const FileLinkList = /*#__PURE__*/(0, _base.default)("ul", {
|
|
|
195
181
|
styles: "list-style-type:none"
|
|
196
182
|
} : {
|
|
197
183
|
name: "ffhm6p",
|
|
198
|
-
styles: "list-style-type:none",
|
|
199
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEs4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
184
|
+
styles: "list-style-type:none/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEs4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
200
185
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
201
186
|
});
|
|
202
|
-
const FileWidgetButton = /*#__PURE__*/(
|
|
187
|
+
const FileWidgetButton = /*#__PURE__*/_styled("button", {
|
|
203
188
|
target: "e1hax4ql1",
|
|
204
189
|
label: "FileWidgetButton"
|
|
205
|
-
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.components.badge, ";margin-bottom:12px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0xzQyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */"));
|
|
206
|
-
const FileWidgetButtonRemove = /*#__PURE__*/(
|
|
190
|
+
})(buttons.button, ";", components.badge, ";margin-bottom:12px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0xzQyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */"));
|
|
191
|
+
const FileWidgetButtonRemove = /*#__PURE__*/_styled("button", {
|
|
207
192
|
target: "e1hax4ql0",
|
|
208
193
|
label: "FileWidgetButtonRemove"
|
|
209
|
-
})(_decapCmsUiDefault.buttons.button, ";", _decapCmsUiDefault.components.badgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0w0QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgb25lTGluZSB9IGZyb20gJ2NvbW1vbi10YWdzJztcbmltcG9ydCB7XG4gIGxlbmd0aHMsXG4gIGNvbXBvbmVudHMsXG4gIGJ1dHRvbnMsXG4gIGJvcmRlcnMsXG4gIGVmZmVjdHMsXG4gIHNoYWRvd3MsXG4gIEljb25CdXR0b24sXG59IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcbmltcG9ydCB7IGJhc2VuYW1lIH0gZnJvbSAnZGVjYXAtY21zLWxpYi11dGlsJztcbmltcG9ydCB7IGFycmF5TW92ZUltbXV0YWJsZSBhcyBhcnJheU1vdmUgfSBmcm9tICdhcnJheS1tb3ZlJztcbmltcG9ydCB7XG4gIERuZENvbnRleHQsXG4gIE1vdXNlU2Vuc29yLFxuICBUb3VjaFNlbnNvcixcbiAgY2xvc2VzdENlbnRlcixcbiAgdXNlU2Vuc29yLFxuICB1c2VTZW5zb3JzLFxufSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IFNvcnRhYmxlQ29udGV4dCwgdXNlU29ydGFibGUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgeyBDU1MgfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgcmVzdHJpY3RUb1BhcmVudEVsZW1lbnQgfSBmcm9tICdAZG5kLWtpdC9tb2RpZmllcnMnO1xuXG5jb25zdCBNQVhfRElTUExBWV9MRU5HVEggPSA1MDtcblxuY29uc3QgSW1hZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleC1iYXNpczogMTU1cHg7XG4gIHdpZHRoOiAxNTVweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICBib3JkZXItcmFkaXVzOiAke2xlbmd0aHMuYm9yZGVyUmFkaXVzfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgJHtlZmZlY3RzLmNoZWNrZXJib2FyZH07XG4gICR7c2hhZG93cy5pbnNldH07XG4gIGN1cnNvcjogJHtwcm9wcyA9PiAocHJvcHMuc29ydGFibGUgPyAncG9pbnRlcicgOiAnYXV0bycpfTtcbmA7XG5cbmNvbnN0IFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW1hZ2UgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuYDtcblxuZnVuY3Rpb24gSW1hZ2UocHJvcHMpIHtcbiAgcmV0dXJuIDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2Ugc3JjPXtnZXRBc3NldChpdGVtVmFsdWUsIGZpZWxkKSB8fCAnJ30gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNyYyA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSBzcmM9e3NyYyB8fCAnJ30gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */"));
|
|
194
|
+
})(buttons.button, ";", components.badgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0w0QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHByb3BzKSB7XG4gIHJldHVybiA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2VCdXR0b25zKHsgb25SZW1vdmUsIG9uUmVwbGFjZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJtZWRpYVwiIG9uQ2xpY2s9e29uUmVwbGFjZX0+PC9JY29uQnV0dG9uPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cImNsb3NlXCIgb25DbGljaz17b25SZW1vdmV9PjwvSWNvbkJ1dHRvbj5cbiAgICA8L1NvcnRhYmxlSW1hZ2VCdXR0b25zV3JhcHBlcj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZShwcm9wcykge1xuICBjb25zdCB7IGF0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uIH0gPSB1c2VTb3J0YWJsZSh7XG4gICAgaWQ6IHByb3BzLmlkLFxuICB9KTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICB0cmFuc2l0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHsgaXRlbVZhbHVlLCBnZXRBc3NldCwgZmllbGQsIG9uUmVtb3ZlLCBvblJlcGxhY2UgfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXtzdHlsZX0gey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgPEltYWdlV3JhcHBlciBzb3J0YWJsZT5cbiAgICAgICAgPEltYWdlIHNyYz17Z2V0QXNzZXQoaXRlbVZhbHVlLCBmaWVsZCkgfHwgJyd9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcmMgPSBnZXRBc3NldCh2YWx1ZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2Ugc3JjPXtzcmMgfHwgJyd9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */"));
|
|
210
195
|
function isMultiple(value) {
|
|
211
|
-
return Array.isArray(value) ||
|
|
196
|
+
return Array.isArray(value) || List.isList(value);
|
|
212
197
|
}
|
|
213
198
|
function sizeOfValue(value) {
|
|
214
199
|
if (Array.isArray(value)) {
|
|
215
200
|
return value.length;
|
|
216
201
|
}
|
|
217
|
-
if (
|
|
202
|
+
if (List.isList(value)) {
|
|
218
203
|
return value.size;
|
|
219
204
|
}
|
|
220
205
|
return value ? 1 : 0;
|
|
221
206
|
}
|
|
222
207
|
function valueListToArray(value) {
|
|
223
|
-
return
|
|
208
|
+
return List.isList(value) ? value.toArray() : value ?? '';
|
|
224
209
|
}
|
|
225
210
|
function valueListToSortableArray(value) {
|
|
226
211
|
if (!isMultiple(value)) {
|
|
227
212
|
return value;
|
|
228
213
|
}
|
|
229
214
|
const valueArray = valueListToArray(value).map(value => ({
|
|
230
|
-
id: (
|
|
215
|
+
id: uuid(),
|
|
231
216
|
value
|
|
232
217
|
}));
|
|
233
218
|
return valueArray;
|
|
234
219
|
}
|
|
235
|
-
const warnDeprecatedOptions = (
|
|
220
|
+
const warnDeprecatedOptions = once(field => console.warn(oneLine`
|
|
236
221
|
Decap CMS config: ${field.get('name')} field: property "options" has been deprecated for the
|
|
237
222
|
${field.get('widget')} widget and will be removed in the next major release. Rather than
|
|
238
223
|
\`field.options.media_library\`, apply media library options for this widget under
|
|
239
224
|
\`field.media_library\`.
|
|
240
225
|
`));
|
|
241
|
-
function withFileControl({
|
|
226
|
+
export default function withFileControl({
|
|
242
227
|
forImage
|
|
243
228
|
} = {}) {
|
|
244
|
-
|
|
245
|
-
|
|
229
|
+
return class FileControl extends React.Component {
|
|
230
|
+
static propTypes = {
|
|
231
|
+
field: PropTypes.object.isRequired,
|
|
232
|
+
getAsset: PropTypes.func.isRequired,
|
|
233
|
+
mediaPaths: ImmutablePropTypes.map.isRequired,
|
|
234
|
+
onAddAsset: PropTypes.func.isRequired,
|
|
235
|
+
onChange: PropTypes.func.isRequired,
|
|
236
|
+
onRemoveInsertedMedia: PropTypes.func.isRequired,
|
|
237
|
+
onOpenMediaLibrary: PropTypes.func.isRequired,
|
|
238
|
+
onClearMediaControl: PropTypes.func.isRequired,
|
|
239
|
+
onRemoveMediaControl: PropTypes.func.isRequired,
|
|
240
|
+
classNameWrapper: PropTypes.string.isRequired,
|
|
241
|
+
value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), ImmutablePropTypes.listOf(PropTypes.string)]),
|
|
242
|
+
t: PropTypes.func.isRequired
|
|
243
|
+
};
|
|
244
|
+
static defaultProps = {
|
|
245
|
+
value: ''
|
|
246
|
+
};
|
|
246
247
|
constructor(props) {
|
|
247
248
|
super(props);
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
} = this.props;
|
|
254
|
-
e.preventDefault();
|
|
255
|
-
const mediaLibraryFieldOptions = this.getMediaLibraryFieldOptions();
|
|
256
|
-
return onOpenMediaLibrary({
|
|
257
|
-
controlID: this.controlID,
|
|
258
|
-
forImage,
|
|
259
|
-
privateUpload: field.get('private'),
|
|
260
|
-
value: valueListToArray(value),
|
|
261
|
-
allowMultiple: !!mediaLibraryFieldOptions.get('allow_multiple', true),
|
|
262
|
-
config: mediaLibraryFieldOptions.get('config'),
|
|
263
|
-
field
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
_defineProperty(this, "handleUrl", subject => e => {
|
|
267
|
-
e.preventDefault();
|
|
268
|
-
const url = window.prompt(this.props.t(`editor.editorWidgets.${subject}.promptUrl`));
|
|
269
|
-
if (url) {
|
|
270
|
-
return this.props.onChange(url);
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
_defineProperty(this, "handleRemove", e => {
|
|
274
|
-
e.preventDefault();
|
|
275
|
-
this.props.onClearMediaControl(this.controlID);
|
|
276
|
-
return this.props.onChange('');
|
|
277
|
-
});
|
|
278
|
-
_defineProperty(this, "onRemoveOne", index => () => {
|
|
279
|
-
const value = valueListToArray(this.props.value);
|
|
280
|
-
value.splice(index, 1);
|
|
281
|
-
return this.props.onChange(sizeOfValue(value) > 0 ? [...value] : null);
|
|
282
|
-
});
|
|
283
|
-
_defineProperty(this, "onReplaceOne", index => () => {
|
|
284
|
-
const {
|
|
285
|
-
field,
|
|
286
|
-
onOpenMediaLibrary,
|
|
287
|
-
value
|
|
288
|
-
} = this.props;
|
|
289
|
-
const mediaLibraryFieldOptions = this.getMediaLibraryFieldOptions();
|
|
290
|
-
return onOpenMediaLibrary({
|
|
291
|
-
controlID: this.controlID,
|
|
292
|
-
forImage,
|
|
293
|
-
privateUpload: field.get('private'),
|
|
294
|
-
value: valueListToArray(value),
|
|
295
|
-
replaceIndex: index,
|
|
296
|
-
allowMultiple: false,
|
|
297
|
-
config: mediaLibraryFieldOptions.get('config'),
|
|
298
|
-
field
|
|
299
|
-
});
|
|
300
|
-
});
|
|
301
|
-
_defineProperty(this, "getMediaLibraryFieldOptions", () => {
|
|
302
|
-
const {
|
|
303
|
-
field
|
|
304
|
-
} = this.props;
|
|
305
|
-
if (field.hasIn(['options', 'media_library'])) {
|
|
306
|
-
warnDeprecatedOptions(field);
|
|
307
|
-
return field.getIn(['options', 'media_library'], (0, _immutable.Map)());
|
|
308
|
-
}
|
|
309
|
-
return field.get('media_library', (0, _immutable.Map)());
|
|
310
|
-
});
|
|
311
|
-
_defineProperty(this, "allowsMultiple", () => {
|
|
312
|
-
const mediaLibraryFieldOptions = this.getMediaLibraryFieldOptions();
|
|
313
|
-
return mediaLibraryFieldOptions.get('config', false) && mediaLibraryFieldOptions.get('config').get('multiple', false);
|
|
314
|
-
});
|
|
315
|
-
_defineProperty(this, "onSortEnd", ({
|
|
316
|
-
oldIndex,
|
|
317
|
-
newIndex
|
|
318
|
-
}) => {
|
|
319
|
-
const {
|
|
320
|
-
value
|
|
321
|
-
} = this.props;
|
|
322
|
-
const newValue = (0, _arrayMove.arrayMoveImmutable)(value, oldIndex, newIndex);
|
|
323
|
-
return this.props.onChange(newValue);
|
|
324
|
-
});
|
|
325
|
-
_defineProperty(this, "getValidateValue", () => {
|
|
326
|
-
const {
|
|
327
|
-
value
|
|
328
|
-
} = this.props;
|
|
329
|
-
if (value) {
|
|
330
|
-
return isMultiple(value) ? value.map(v => (0, _decapCmsLibUtil.basename)(v)) : (0, _decapCmsLibUtil.basename)(value);
|
|
331
|
-
}
|
|
332
|
-
return value;
|
|
333
|
-
});
|
|
334
|
-
_defineProperty(this, "renderFileLink", value => {
|
|
335
|
-
const size = MAX_DISPLAY_LENGTH;
|
|
336
|
-
if (!value || value.length <= size) {
|
|
337
|
-
return value;
|
|
338
|
-
}
|
|
339
|
-
const text = `${value.slice(0, size / 2)}\u2026${value.slice(-(size / 2) + 1)}`;
|
|
340
|
-
return (0, _react2.jsx)(FileLink, {
|
|
341
|
-
href: value,
|
|
342
|
-
rel: "noopener",
|
|
343
|
-
target: "_blank"
|
|
344
|
-
}, text);
|
|
345
|
-
});
|
|
346
|
-
_defineProperty(this, "renderFileLinks", () => {
|
|
347
|
-
const {
|
|
348
|
-
value
|
|
349
|
-
} = this.props;
|
|
350
|
-
if (isMultiple(value)) {
|
|
351
|
-
return (0, _react2.jsx)(FileLinks, null, (0, _react2.jsx)(FileLinkList, null, value.map(val => (0, _react2.jsx)("li", {
|
|
352
|
-
key: val
|
|
353
|
-
}, this.renderFileLink(val)))));
|
|
354
|
-
}
|
|
355
|
-
return (0, _react2.jsx)(FileLinks, null, this.renderFileLink(value));
|
|
356
|
-
});
|
|
357
|
-
_defineProperty(this, "renderImages", () => {
|
|
358
|
-
const {
|
|
359
|
-
getAsset,
|
|
360
|
-
value,
|
|
361
|
-
field
|
|
362
|
-
} = this.props;
|
|
363
|
-
const items = valueListToSortableArray(value);
|
|
364
|
-
if (isMultiple(value)) {
|
|
365
|
-
return (0, _react2.jsx)(SortableMultiImageWrapper, {
|
|
366
|
-
items: items,
|
|
367
|
-
onSortEnd: this.onSortEnd,
|
|
368
|
-
onRemoveOne: this.onRemoveOne,
|
|
369
|
-
onReplaceOne: this.onReplaceOne,
|
|
370
|
-
distance: 4,
|
|
371
|
-
getAsset: getAsset,
|
|
372
|
-
field: field,
|
|
373
|
-
axis: "xy",
|
|
374
|
-
lockToContainerEdges: true
|
|
375
|
-
});
|
|
376
|
-
}
|
|
377
|
-
const src = getAsset(value, field);
|
|
378
|
-
return (0, _react2.jsx)(ImageWrapper, null, (0, _react2.jsx)(Image, {
|
|
379
|
-
src: src || ''
|
|
380
|
-
}));
|
|
381
|
-
});
|
|
382
|
-
_defineProperty(this, "renderSelection", subject => {
|
|
383
|
-
const {
|
|
384
|
-
t,
|
|
385
|
-
field
|
|
386
|
-
} = this.props;
|
|
387
|
-
const allowsMultiple = this.allowsMultiple();
|
|
388
|
-
return (0, _react2.jsx)("div", null, forImage ? this.renderImages() : null, (0, _react2.jsx)("div", null, forImage ? null : this.renderFileLinks(), (0, _react2.jsx)(FileWidgetButton, {
|
|
389
|
-
onClick: this.handleChange
|
|
390
|
-
}, t(`editor.editorWidgets.${subject}.${this.allowsMultiple() ? 'addMore' : 'chooseDifferent'}`)), field.get('choose_url', true) && !this.allowsMultiple() ? (0, _react2.jsx)(FileWidgetButton, {
|
|
391
|
-
onClick: this.handleUrl(subject)
|
|
392
|
-
}, t(`editor.editorWidgets.${subject}.replaceUrl`)) : null, (0, _react2.jsx)(FileWidgetButtonRemove, {
|
|
393
|
-
onClick: this.handleRemove
|
|
394
|
-
}, t(`editor.editorWidgets.${subject}.remove${allowsMultiple ? 'All' : ''}`))));
|
|
395
|
-
});
|
|
396
|
-
_defineProperty(this, "renderNoSelection", subject => {
|
|
397
|
-
const {
|
|
398
|
-
t,
|
|
399
|
-
field
|
|
400
|
-
} = this.props;
|
|
401
|
-
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(FileWidgetButton, {
|
|
402
|
-
onClick: this.handleChange
|
|
403
|
-
}, t(`editor.editorWidgets.${subject}.choose${this.allowsMultiple() ? 'Multiple' : ''}`)), field.get('choose_url', true) ? (0, _react2.jsx)(FileWidgetButton, {
|
|
404
|
-
onClick: this.handleUrl(subject)
|
|
405
|
-
}, t(`editor.editorWidgets.${subject}.chooseUrl`)) : null);
|
|
406
|
-
});
|
|
407
|
-
this.controlID = (0, _uuid.v4)();
|
|
249
|
+
this.controlID = uuid();
|
|
250
|
+
}
|
|
251
|
+
componentDidMount() {
|
|
252
|
+
// Manually validate PropTypes - React 19 breaking change
|
|
253
|
+
PropTypes.checkPropTypes(FileControl.propTypes, this.props, 'prop', 'FileControl');
|
|
408
254
|
}
|
|
409
255
|
shouldComponentUpdate(nextProps) {
|
|
410
256
|
/**
|
|
@@ -441,30 +287,174 @@ function withFileControl({
|
|
|
441
287
|
componentWillUnmount() {
|
|
442
288
|
this.props.onRemoveMediaControl(this.controlID);
|
|
443
289
|
}
|
|
290
|
+
handleChange = e => {
|
|
291
|
+
const {
|
|
292
|
+
field,
|
|
293
|
+
onOpenMediaLibrary,
|
|
294
|
+
value
|
|
295
|
+
} = this.props;
|
|
296
|
+
e.preventDefault();
|
|
297
|
+
const mediaLibraryFieldOptions = this.getMediaLibraryFieldOptions();
|
|
298
|
+
return onOpenMediaLibrary({
|
|
299
|
+
controlID: this.controlID,
|
|
300
|
+
forImage,
|
|
301
|
+
privateUpload: field.get('private'),
|
|
302
|
+
value: valueListToArray(value),
|
|
303
|
+
allowMultiple: !!mediaLibraryFieldOptions.get('allow_multiple', true),
|
|
304
|
+
config: mediaLibraryFieldOptions.get('config'),
|
|
305
|
+
field
|
|
306
|
+
});
|
|
307
|
+
};
|
|
308
|
+
handleUrl = subject => e => {
|
|
309
|
+
e.preventDefault();
|
|
310
|
+
const url = window.prompt(this.props.t(`editor.editorWidgets.${subject}.promptUrl`));
|
|
311
|
+
if (url) {
|
|
312
|
+
return this.props.onChange(url);
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
handleRemove = e => {
|
|
316
|
+
e.preventDefault();
|
|
317
|
+
this.props.onClearMediaControl(this.controlID);
|
|
318
|
+
return this.props.onChange('');
|
|
319
|
+
};
|
|
320
|
+
onRemoveOne = index => () => {
|
|
321
|
+
const value = valueListToArray(this.props.value);
|
|
322
|
+
value.splice(index, 1);
|
|
323
|
+
return this.props.onChange(sizeOfValue(value) > 0 ? [...value] : null);
|
|
324
|
+
};
|
|
325
|
+
onReplaceOne = index => () => {
|
|
326
|
+
const {
|
|
327
|
+
field,
|
|
328
|
+
onOpenMediaLibrary,
|
|
329
|
+
value
|
|
330
|
+
} = this.props;
|
|
331
|
+
const mediaLibraryFieldOptions = this.getMediaLibraryFieldOptions();
|
|
332
|
+
return onOpenMediaLibrary({
|
|
333
|
+
controlID: this.controlID,
|
|
334
|
+
forImage,
|
|
335
|
+
privateUpload: field.get('private'),
|
|
336
|
+
value: valueListToArray(value),
|
|
337
|
+
replaceIndex: index,
|
|
338
|
+
allowMultiple: false,
|
|
339
|
+
config: mediaLibraryFieldOptions.get('config'),
|
|
340
|
+
field
|
|
341
|
+
});
|
|
342
|
+
};
|
|
343
|
+
getMediaLibraryFieldOptions = () => {
|
|
344
|
+
const {
|
|
345
|
+
field
|
|
346
|
+
} = this.props;
|
|
347
|
+
if (field.hasIn(['options', 'media_library'])) {
|
|
348
|
+
warnDeprecatedOptions(field);
|
|
349
|
+
return field.getIn(['options', 'media_library'], Map());
|
|
350
|
+
}
|
|
351
|
+
return field.get('media_library', Map());
|
|
352
|
+
};
|
|
353
|
+
allowsMultiple = () => {
|
|
354
|
+
const mediaLibraryFieldOptions = this.getMediaLibraryFieldOptions();
|
|
355
|
+
return mediaLibraryFieldOptions.get('config', false) && mediaLibraryFieldOptions.get('config').get('multiple', false);
|
|
356
|
+
};
|
|
357
|
+
onSortEnd = ({
|
|
358
|
+
oldIndex,
|
|
359
|
+
newIndex
|
|
360
|
+
}) => {
|
|
361
|
+
const {
|
|
362
|
+
value
|
|
363
|
+
} = this.props;
|
|
364
|
+
const newValue = arrayMove(value, oldIndex, newIndex);
|
|
365
|
+
return this.props.onChange(newValue);
|
|
366
|
+
};
|
|
367
|
+
getValidateValue = () => {
|
|
368
|
+
const {
|
|
369
|
+
value
|
|
370
|
+
} = this.props;
|
|
371
|
+
if (value) {
|
|
372
|
+
return isMultiple(value) ? value.map(v => basename(v)) : basename(value);
|
|
373
|
+
}
|
|
374
|
+
return value;
|
|
375
|
+
};
|
|
376
|
+
renderFileLink = value => {
|
|
377
|
+
const size = MAX_DISPLAY_LENGTH;
|
|
378
|
+
if (!value || value.length <= size) {
|
|
379
|
+
return value;
|
|
380
|
+
}
|
|
381
|
+
const text = `${value.slice(0, size / 2)}\u2026${value.slice(-(size / 2) + 1)}`;
|
|
382
|
+
return ___EmotionJSX(FileLink, {
|
|
383
|
+
href: value,
|
|
384
|
+
rel: "noopener",
|
|
385
|
+
target: "_blank"
|
|
386
|
+
}, text);
|
|
387
|
+
};
|
|
388
|
+
renderFileLinks = () => {
|
|
389
|
+
const {
|
|
390
|
+
value
|
|
391
|
+
} = this.props;
|
|
392
|
+
if (isMultiple(value)) {
|
|
393
|
+
return ___EmotionJSX(FileLinks, null, ___EmotionJSX(FileLinkList, null, value.map(val => ___EmotionJSX("li", {
|
|
394
|
+
key: val
|
|
395
|
+
}, this.renderFileLink(val)))));
|
|
396
|
+
}
|
|
397
|
+
return ___EmotionJSX(FileLinks, null, this.renderFileLink(value));
|
|
398
|
+
};
|
|
399
|
+
renderImages = () => {
|
|
400
|
+
const {
|
|
401
|
+
getAsset,
|
|
402
|
+
value,
|
|
403
|
+
field
|
|
404
|
+
} = this.props;
|
|
405
|
+
const items = valueListToSortableArray(value);
|
|
406
|
+
if (isMultiple(value)) {
|
|
407
|
+
return ___EmotionJSX(SortableMultiImageWrapper, {
|
|
408
|
+
items: items,
|
|
409
|
+
onSortEnd: this.onSortEnd,
|
|
410
|
+
onRemoveOne: this.onRemoveOne,
|
|
411
|
+
onReplaceOne: this.onReplaceOne,
|
|
412
|
+
distance: 4,
|
|
413
|
+
getAsset: getAsset,
|
|
414
|
+
field: field,
|
|
415
|
+
axis: "xy",
|
|
416
|
+
lockToContainerEdges: true
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
const src = getAsset(value, field);
|
|
420
|
+
return ___EmotionJSX(ImageWrapper, null, ___EmotionJSX(Image, {
|
|
421
|
+
src: src || ''
|
|
422
|
+
}));
|
|
423
|
+
};
|
|
424
|
+
renderSelection = subject => {
|
|
425
|
+
const {
|
|
426
|
+
t,
|
|
427
|
+
field
|
|
428
|
+
} = this.props;
|
|
429
|
+
const allowsMultiple = this.allowsMultiple();
|
|
430
|
+
return ___EmotionJSX("div", null, forImage ? this.renderImages() : null, ___EmotionJSX("div", null, forImage ? null : this.renderFileLinks(), ___EmotionJSX(FileWidgetButton, {
|
|
431
|
+
onClick: this.handleChange
|
|
432
|
+
}, t(`editor.editorWidgets.${subject}.${this.allowsMultiple() ? 'addMore' : 'chooseDifferent'}`)), field.get('choose_url', true) && !this.allowsMultiple() ? ___EmotionJSX(FileWidgetButton, {
|
|
433
|
+
onClick: this.handleUrl(subject)
|
|
434
|
+
}, t(`editor.editorWidgets.${subject}.replaceUrl`)) : null, ___EmotionJSX(FileWidgetButtonRemove, {
|
|
435
|
+
onClick: this.handleRemove
|
|
436
|
+
}, t(`editor.editorWidgets.${subject}.remove${allowsMultiple ? 'All' : ''}`))));
|
|
437
|
+
};
|
|
438
|
+
renderNoSelection = subject => {
|
|
439
|
+
const {
|
|
440
|
+
t,
|
|
441
|
+
field
|
|
442
|
+
} = this.props;
|
|
443
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(FileWidgetButton, {
|
|
444
|
+
onClick: this.handleChange
|
|
445
|
+
}, t(`editor.editorWidgets.${subject}.choose${this.allowsMultiple() ? 'Multiple' : ''}`)), field.get('choose_url', true) ? ___EmotionJSX(FileWidgetButton, {
|
|
446
|
+
onClick: this.handleUrl(subject)
|
|
447
|
+
}, t(`editor.editorWidgets.${subject}.chooseUrl`)) : null);
|
|
448
|
+
};
|
|
444
449
|
render() {
|
|
445
450
|
const {
|
|
446
451
|
value,
|
|
447
452
|
classNameWrapper
|
|
448
453
|
} = this.props;
|
|
449
454
|
const subject = forImage ? 'image' : 'file';
|
|
450
|
-
return (
|
|
455
|
+
return ___EmotionJSX("div", {
|
|
451
456
|
className: classNameWrapper
|
|
452
|
-
}, (
|
|
457
|
+
}, ___EmotionJSX("span", null, value ? this.renderSelection(subject) : this.renderNoSelection(subject)));
|
|
453
458
|
}
|
|
454
|
-
}
|
|
455
|
-
field: _propTypes.default.object.isRequired,
|
|
456
|
-
getAsset: _propTypes.default.func.isRequired,
|
|
457
|
-
mediaPaths: _reactImmutableProptypes.default.map.isRequired,
|
|
458
|
-
onAddAsset: _propTypes.default.func.isRequired,
|
|
459
|
-
onChange: _propTypes.default.func.isRequired,
|
|
460
|
-
onRemoveInsertedMedia: _propTypes.default.func.isRequired,
|
|
461
|
-
onOpenMediaLibrary: _propTypes.default.func.isRequired,
|
|
462
|
-
onClearMediaControl: _propTypes.default.func.isRequired,
|
|
463
|
-
onRemoveMediaControl: _propTypes.default.func.isRequired,
|
|
464
|
-
classNameWrapper: _propTypes.default.string.isRequired,
|
|
465
|
-
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string), _reactImmutableProptypes.default.listOf(_propTypes.default.string)]),
|
|
466
|
-
t: _propTypes.default.func.isRequired
|
|
467
|
-
}), _defineProperty(_class, "defaultProps", {
|
|
468
|
-
value: ''
|
|
469
|
-
}), _class;
|
|
459
|
+
};
|
|
470
460
|
}
|