@1money/component-ui 0.0.74 → 0.0.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/es/components/Dialog/Dialog.js +7 -39
  2. package/es/components/Dialog/constants.d.ts +0 -3
  3. package/es/components/Dialog/constants.js +1 -4
  4. package/es/components/Dialog/style/Dialog.css +0 -21
  5. package/es/components/ProForm/ProForm.js +46 -33
  6. package/es/components/ProForm/ProFormDependency.js +6 -16
  7. package/es/components/ProForm/ProFormItem.js +5 -7
  8. package/es/components/ProForm/ProFormList.js +112 -40
  9. package/es/components/ProForm/core/constants.d.ts +2 -0
  10. package/es/components/ProForm/core/constants.js +7 -1
  11. package/es/components/ProForm/core/devWarning.d.ts +3 -0
  12. package/es/components/ProForm/core/devWarning.js +22 -0
  13. package/es/components/ProForm/core/formStore.d.ts +10 -2
  14. package/es/components/ProForm/core/formStore.js +21 -2
  15. package/es/components/ProForm/core/hooks/useForm.js +246 -103
  16. package/es/components/ProForm/core/hooks/useFormCore.js +134 -28
  17. package/es/components/ProForm/core/interface.d.ts +124 -49
  18. package/es/components/ProForm/core/runRules.d.ts +44 -12
  19. package/es/components/ProForm/core/runRules.js +584 -133
  20. package/es/components/ProForm/core/useFormItem.d.ts +6 -7
  21. package/es/components/ProForm/core/useFormItem.js +44 -22
  22. package/es/components/ProForm/core/validationError.d.ts +13 -0
  23. package/es/components/ProForm/core/validationError.js +29 -0
  24. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
  25. package/es/components/ProForm/fields/ProFormFieldSet.js +51 -12
  26. package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
  27. package/es/components/ProForm/fields/ProFormSelect.js +13 -7
  28. package/es/components/ProForm/fields/createProFormField.js +18 -25
  29. package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
  30. package/es/components/ProForm/index.d.ts +2 -1
  31. package/es/components/ProForm/index.js +4 -1
  32. package/es/components/ProForm/interface.d.ts +31 -40
  33. package/es/components/ProForm/layouts/QueryFilter.js +24 -16
  34. package/es/components/ProForm/style/ProForm.css +0 -1
  35. package/es/components/ProForm/utils.d.ts +8 -0
  36. package/es/components/ProForm/utils.js +51 -3
  37. package/es/components/Table/core/useTableSetup.js +2 -2
  38. package/es/components/Table/interface.d.ts +1 -1
  39. package/es/index.css +1 -1
  40. package/lib/components/Dialog/Dialog.js +6 -38
  41. package/lib/components/Dialog/constants.d.ts +0 -3
  42. package/lib/components/Dialog/constants.js +1 -4
  43. package/lib/components/Dialog/style/Dialog.css +0 -21
  44. package/lib/components/ProForm/ProForm.js +45 -32
  45. package/lib/components/ProForm/ProFormDependency.js +5 -15
  46. package/lib/components/ProForm/ProFormItem.js +5 -7
  47. package/lib/components/ProForm/ProFormList.js +110 -38
  48. package/lib/components/ProForm/core/constants.d.ts +2 -0
  49. package/lib/components/ProForm/core/constants.js +8 -2
  50. package/lib/components/ProForm/core/devWarning.d.ts +3 -0
  51. package/lib/components/ProForm/core/devWarning.js +29 -0
  52. package/lib/components/ProForm/core/formStore.d.ts +10 -2
  53. package/lib/components/ProForm/core/formStore.js +23 -2
  54. package/lib/components/ProForm/core/hooks/useForm.js +242 -99
  55. package/lib/components/ProForm/core/hooks/useFormCore.js +133 -27
  56. package/lib/components/ProForm/core/interface.d.ts +124 -49
  57. package/lib/components/ProForm/core/runRules.d.ts +44 -12
  58. package/lib/components/ProForm/core/runRules.js +587 -133
  59. package/lib/components/ProForm/core/useFormItem.d.ts +6 -7
  60. package/lib/components/ProForm/core/useFormItem.js +43 -21
  61. package/lib/components/ProForm/core/validationError.d.ts +13 -0
  62. package/lib/components/ProForm/core/validationError.js +36 -0
  63. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
  64. package/lib/components/ProForm/fields/ProFormFieldSet.js +51 -12
  65. package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
  66. package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
  67. package/lib/components/ProForm/fields/createProFormField.js +18 -25
  68. package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
  69. package/lib/components/ProForm/index.d.ts +2 -1
  70. package/lib/components/ProForm/index.js +10 -1
  71. package/lib/components/ProForm/interface.d.ts +31 -40
  72. package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
  73. package/lib/components/ProForm/style/ProForm.css +0 -1
  74. package/lib/components/ProForm/utils.d.ts +8 -0
  75. package/lib/components/ProForm/utils.js +52 -3
  76. package/lib/components/Table/core/useTableSetup.js +2 -2
  77. package/lib/components/Table/interface.d.ts +1 -1
  78. package/lib/index.css +1 -1
  79. package/package.json +1 -1
  80. package/scripts/mcp-server/examples.generated.json +42 -36
  81. package/scripts/mcp-server/index.generated.json +23 -67
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = exports.Dialog = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
8
  var _jsxRuntime = require("react/jsx-runtime");
10
9
  var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
11
10
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -61,36 +60,6 @@ var useBodyScrollLock = function useBodyScrollLock(locked) {
61
60
  };
62
61
  }, [locked]);
63
62
  };
64
- var usePresence = function usePresence(open, delay) {
65
- var _useState = (0, _react.useState)(open),
66
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
67
- mounted = _useState2[0],
68
- setMounted = _useState2[1];
69
- var closeTimerRef = (0, _react.useRef)(null);
70
- (0, _react.useEffect)(function () {
71
- return function () {
72
- if (closeTimerRef.current !== null) {
73
- window.clearTimeout(closeTimerRef.current);
74
- }
75
- };
76
- }, []);
77
- (0, _react.useEffect)(function () {
78
- if (open) {
79
- if (closeTimerRef.current !== null) {
80
- window.clearTimeout(closeTimerRef.current);
81
- closeTimerRef.current = null;
82
- }
83
- setMounted(true);
84
- return;
85
- }
86
- if (!mounted) return;
87
- closeTimerRef.current = window.setTimeout(function () {
88
- setMounted(false);
89
- closeTimerRef.current = null;
90
- }, delay);
91
- }, [delay, mounted, open]);
92
- return mounted;
93
- };
94
63
  var useDialogFocus = function useDialogFocus(active, dialogRef) {
95
64
  var previousActiveElementRef = (0, _react.useRef)(null);
96
65
  (0, _react.useEffect)(function () {
@@ -238,7 +207,6 @@ var DialogBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
238
207
  cancelButtonProps = props.cancelButtonProps,
239
208
  okButtonProps = props.okButtonProps,
240
209
  rest = __rest(props, ["className", "style", "prefixCls", "open", "size", "maskClosable", "showCloseIcon", "showBackIcon", "fullWidth", "fixed", "title", "children", "illustration", "media", "closeIcon", "backIcon", "footer", "onOk", "onCancel", "onBack", "okText", "cancelText", "rootStyle", "wrapperStyle", "bodyStyle", "headerStyle", "contentStyle", "footerStyle", "cancelButtonProps", "okButtonProps"]);
241
- var mounted = usePresence(open, _constants.DIALOG_DEFAULTS.closeTimeoutMs);
242
210
  var dialogRef = (0, _react.useRef)(null);
243
211
  var titleId = (0, _react.useId)();
244
212
  var handleSetDialogRef = (0, _react.useCallback)(function (node) {
@@ -258,9 +226,9 @@ var DialogBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
258
226
  if (!maskClosable) return;
259
227
  handleCancel();
260
228
  });
261
- useBodyScrollLock(mounted && open);
262
- useDialogFocus(mounted && open, dialogRef);
263
- useEscapeClose(mounted && open, handleCancel);
229
+ useBodyScrollLock(open);
230
+ useDialogFocus(open, dialogRef);
231
+ useEscapeClose(open, handleCancel);
264
232
  var hasMedia = media != null;
265
233
  var closeControlNode = showCloseIcon ? renderControlButton(prefixCls, _constants.DIALOG_CONTROL_TYPE.close, closeIcon !== null && closeIcon !== void 0 ? closeIcon : (0, _jsxRuntime.jsx)(_Icons.Icons, {
266
234
  name: _constants.DIALOG_DEFAULT_ICONS[_constants.DIALOG_CONTROL_TYPE.close],
@@ -308,11 +276,11 @@ var DialogBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
308
276
  cancelButton: cancelButton,
309
277
  okButton: okButton
310
278
  });
311
- if (!mounted) return null;
279
+ if (!open) return null;
312
280
  return (0, _jsxRuntime.jsx)(_Portal.Portal, {
313
281
  children: (0, _jsxRuntime.jsxs)("div", {
314
282
  style: rootStyle,
315
- className: (0, _classnames["default"])(getClassName(prefixCls, _constants.DIALOG_SLOT.root), getClassName(prefixCls, _constants.DIALOG_SLOT.root, open ? _constants.DIALOG_MODIFIER.open : _constants.DIALOG_MODIFIER.closed)),
283
+ className: getClassName(prefixCls, _constants.DIALOG_SLOT.root),
316
284
  children: [(0, _jsxRuntime.jsx)("div", {
317
285
  "aria-hidden": "true",
318
286
  className: getClassName(prefixCls, _constants.DIALOG_SLOT.overlay),
@@ -374,4 +342,4 @@ DialogBase.displayName = 'Dialog';
374
342
  var Dialog = exports.Dialog = /*#__PURE__*/(0, _react.memo)(DialogBase);
375
343
  Dialog.displayName = 'Dialog';
376
344
  var _default = exports["default"] = Dialog;
377
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3VzZUV2ZW50Q2FsbGJhY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NsYXNzbmFtZXMiLCJfcmVhY3QiLCJfQnV0dG9uIiwiX0ljb25zIiwiX1BvcnRhbCIsIl9UeXBvZ3JhcGh5IiwiX3JlZjMiLCJfY29uc3RhbnRzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJzY3JvbGxMb2NrQ291bnQiLCJnZXRDbGFzc05hbWUiLCJwcmVmaXhDbHMiLCJzbG90IiwibW9kaWZpZXIiLCJiYXNlQ2xhc3NOYW1lIiwiY29uY2F0IiwiRElBTE9HX05BTUVTUEFDRSIsInNldEJvZHlPdmVyZmxvdyIsInZhbHVlIiwiZG9jdW1lbnQiLCJib2R5Iiwic3R5bGUiLCJvdmVyZmxvdyIsImxvY2tCb2R5U2Nyb2xsIiwiRElBTE9HX0RFRkFVTFRTIiwib3ZlcmZsb3dIaWRkZW4iLCJ1bmxvY2tCb2R5U2Nyb2xsIiwiTWF0aCIsIm1heCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIm92ZXJmbG93UmVzZXQiLCJ1c2VCb2R5U2Nyb2xsTG9jayIsImxvY2tlZCIsImlzTG9ja2VkUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsInVzZVByZXNlbmNlIiwib3BlbiIsImRlbGF5IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibW91bnRlZCIsInNldE1vdW50ZWQiLCJjbG9zZVRpbWVyUmVmIiwid2luZG93IiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInVzZURpYWxvZ0ZvY3VzIiwiYWN0aXZlIiwiZGlhbG9nUmVmIiwicHJldmlvdXNBY3RpdmVFbGVtZW50UmVmIiwiYWN0aXZlRWxlbWVudCIsIkhUTUxFbGVtZW50IiwiZnJhbWUiLCJfYSIsImZvY3VzIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJfYiIsInVzZUVzY2FwZUNsb3NlIiwiZW5hYmxlZCIsIm9uQ2xvc2UiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJlc2NhcGVLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJrZXlkb3duRXZlbnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVyVHlwb2dyYXBoeU5vZGUiLCJub2RlIiwicmVuZGVyVGV4dCIsInJlbmRlcklsbHVzdHJhdGlvbk5vZGUiLCJpbGx1c3RyYXRpb24iLCJfanN4IiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsImlsbHVzdHJhdGlvblNpemUiLCJpc1ZhbGlkRWxlbWVudCIsInRvVm9pZEhhbmRsZXIiLCJhY3Rpb24iLCJjcmVhdGVBY3Rpb25IYW5kbGVyIiwiYnV0dG9uQ2xpY2siLCJkZWZhdWx0UHJldmVudGVkIiwicmVuZGVyQ29udHJvbEJ1dHRvbiIsInR5cGUiLCJpY29uTm9kZSIsIm9uQ2xpY2siLCJidXR0b25IdG1sVHlwZSIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJESUFMT0dfU0xPVCIsImNvbnRyb2wiLCJESUFMT0dfQ09OVFJPTF9MQUJFTFMiLCJjaGlsZHJlbiIsInJlbmRlckFjdGlvbkJ1dHRvbiIsIl9yZWYiLCJraW5kIiwidGV4dCIsImJ1dHRvblByb3BzIiwiQnV0dG9uIiwiYXNzaWduIiwiYnV0dG9uU2l6ZSIsImNvbG9yIiwiRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUyIsImFjdGlvbkJ1dHRvbiIsInJlc29sdmVGb290ZXJOb2RlIiwiX3JlZjIiLCJmb290ZXIiLCJjYW5jZWxCdXR0b24iLCJva0J1dHRvbiIsIkRJQUxPR19TSVpFIiwibGFyZ2UiLCJfanN4cyIsIl9GcmFnbWVudCIsIkRpYWxvZ0Jhc2UiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkcHJlZml4Q2xzIiwiRElBTE9HX0RFRkFVTFRfUFJFRklYIiwiX3Byb3BzJG9wZW4iLCJfcHJvcHMkc2l6ZSIsInNtYWxsIiwiX3Byb3BzJG1hc2tDbG9zYWJsZSIsIm1hc2tDbG9zYWJsZSIsIl9wcm9wcyRzaG93Q2xvc2VJY29uIiwic2hvd0Nsb3NlSWNvbiIsIl9wcm9wcyRzaG93QmFja0ljb24iLCJzaG93QmFja0ljb24iLCJfcHJvcHMkZnVsbFdpZHRoIiwiZnVsbFdpZHRoIiwiX3Byb3BzJGZpeGVkIiwiZml4ZWQiLCJ0aXRsZSIsIm1lZGlhIiwiY2xvc2VJY29uIiwiYmFja0ljb24iLCJvbk9rIiwib25DYW5jZWwiLCJvbkJhY2siLCJfcHJvcHMkb2tUZXh0Iiwib2tUZXh0IiwiX3Byb3BzJGNhbmNlbFRleHQiLCJjYW5jZWxUZXh0Iiwicm9vdFN0eWxlIiwid3JhcHBlclN0eWxlIiwiYm9keVN0eWxlIiwiaGVhZGVyU3R5bGUiLCJjb250ZW50U3R5bGUiLCJmb290ZXJTdHlsZSIsImNhbmNlbEJ1dHRvblByb3BzIiwib2tCdXR0b25Qcm9wcyIsInJlc3QiLCJjbG9zZVRpbWVvdXRNcyIsInRpdGxlSWQiLCJ1c2VJZCIsImhhbmRsZVNldERpYWxvZ1JlZiIsInVzZUNhbGxiYWNrIiwiZmlsbFJlZiIsImhhbmRsZUNhbmNlbCIsInVzZUV2ZW50Q2FsbGJhY2siLCJoYW5kbGVPayIsImhhbmRsZUJhY2siLCJoYW5kbGVPdmVybGF5Q2xpY2siLCJoYXNNZWRpYSIsImNsb3NlQ29udHJvbE5vZGUiLCJESUFMT0dfQ09OVFJPTF9UWVBFIiwiY2xvc2UiLCJESUFMT0dfREVGQVVMVF9JQ09OUyIsImNvbnRyb2xJY29uU2l6ZSIsImJhY2tDb250cm9sTm9kZSIsImJhY2siLCJpbGx1c3RyYXRpb25Ob2RlIiwidGl0bGVOb2RlIiwiVHlwb2dyYXBoeUhlYWRsaW5lIiwiYXMiLCJjaGlsZHJlbk5vZGUiLCJUeXBvZ3JhcGh5Qm9keSIsInN0cm9uZyIsIkRJQUxPR19BQ1RJT05fS0lORCIsImNhbmNlbCIsIm9rIiwiZm9vdGVyTm9kZSIsIlBvcnRhbCIsInJvb3QiLCJESUFMT0dfTU9ESUZJRVIiLCJjbG9zZWQiLCJvdmVybGF5Iiwid3JhcHBlciIsInJvbGUiLCJ0YWJJbmRleCIsIndpdGhNZWRpYSIsImlubmVyIiwiaGVhZGVyIiwiaWQiLCJjb250ZW50IiwiZGlzcGxheU5hbWUiLCJEaWFsb2ciLCJleHBvcnRzIiwibWVtbyIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFVQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxLQUFBLEdBQUFULE9BQUE7QUFJQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFlQUEsT0FBQTtBRG5DQSxJQUFJVyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQs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QUFDaUIsTUFBTSxDQUFDLEVBQzNDdkcsWUFBWSxDQUFDQyxTQUFTLEVBQUVxRixzQkFBVyxDQUFDaUIsTUFBTSxFQUFFaEMsSUFBSSxDQUFDLENBQ2xEO2NBQUFrQixRQUFBLEVBRUF5RjtZQUFVLENBQUEsQ0FFZDtVQUFBLENBQUEsQ0FDRztRQUFBLENBQUEsQ0FBQTtNQUNGLENBQUEsQ0FDRjtJQUFBLENBQUE7RUFDRixDQUFBLENBQ0M7QUFFYixDQUFDLENBQUM7QUFFRnBFLFVBQVUsQ0FBQ2tGLFdBQVcsR0FBRyxRQUFRO0FBRTFCLElBQU1DLE1BQU0sR0FBQUMsT0FBQSxDQUFBRCxNQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQ3JGLFVBQVUsQ0FBQztBQUV0Q21GLE1BQU0sQ0FBQ0QsV0FBVyxHQUFHLFFBQVE7QUFBQyxJQUFBSSxRQUFBLEdBQUFGLE9BQUEsY0FFZkQsTUFBTSIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBpc1ZhbGlkRWxlbWVudCwgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZVJlZiwgdXNlU3RhdGUsIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnLi4vUG9ydGFsJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5SGVhZGxpbmUgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGZpbGxSZWYgfSBmcm9tICcuLi8uLi91dGlscy9yZWYnO1xuaW1wb3J0IHsgRElBTE9HX0FDVElPTl9LSU5ELCBESUFMT0dfQ09OVFJPTF9MQUJFTFMsIERJQUxPR19DT05UUk9MX1RZUEUsIERJQUxPR19ERUZBVUxUX0JVVFRPTl9DT0xPUlMsIERJQUxPR19ERUZBVUxUX0lDT05TLCBESUFMT0dfREVGQVVMVF9QUkVGSVgsIERJQUxPR19ERUZBVUxUUywgRElBTE9HX01PRElGSUVSLCBESUFMT0dfTkFNRVNQQUNFLCBESUFMT0dfU0laRSwgRElBTE9HX1NMT1QsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmxldCBzY3JvbGxMb2NrQ291bnQgPSAwO1xuY29uc3QgZ2V0Q2xhc3NOYW1lID0gKHByZWZpeENscywgc2xvdCwgbW9kaWZpZXIpID0+IHtcbiAgICBjb25zdCBiYXNlQ2xhc3NOYW1lID0gYCR7RElBTE9HX05BTUVTUEFDRX0tJHtwcmVmaXhDbHN9JHtzbG90ID8gYC0ke3Nsb3R9YCA6ICcnfWA7XG4gICAgcmV0dXJuIG1vZGlmaWVyID8gYCR7YmFzZUNsYXNzTmFtZX0tJHttb2RpZmllcn1gIDogYmFzZUNsYXNzTmFtZTtcbn07XG5jb25zdCBzZXRCb2R5T3ZlcmZsb3cgPSAodmFsdWUpID0+IHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSB2YWx1ZTtcbn07XG5jb25zdCBsb2NrQm9keVNjcm9sbCA9ICgpID0+IHtcbiAgICBzY3JvbGxMb2NrQ291bnQgKz0gMTtcbiAgICBzZXRCb2R5T3ZlcmZsb3coRElBTE9HX0RFRkFVTFRTLm92ZXJmbG93SGlkZGVuKTtcbn07XG5jb25zdCB1bmxvY2tCb2R5U2Nyb2xsID0gKCkgPT4ge1xuICAgIHNjcm9sbExvY2tDb3VudCA9IE1hdGgubWF4KDAsIHNjcm9sbExvY2tDb3VudCAtIDEpO1xuICAgIGlmIChzY3JvbGxMb2NrQ291bnQgPT09IDApIHtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChzY3JvbGxMb2NrQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICBzZXRCb2R5T3ZlcmZsb3coRElBTE9HX0RFRkFVTFRTLm92ZXJmbG93UmVzZXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuY29uc3QgdXNlQm9keVNjcm9sbExvY2sgPSAobG9ja2VkKSA9PiB7XG4gICAgY29uc3QgaXNMb2NrZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbG9ja2VkIHx8IGlzTG9ja2VkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGlmICghaXNMb2NrZWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpc0xvY2tlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB1bmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgIH07XG4gICAgfSwgW2xvY2tlZF0pO1xufTtcbmNvbnN0IHVzZVByZXNlbmNlID0gKG9wZW4sIGRlbGF5KSA9PiB7XG4gICAgY29uc3QgW21vdW50ZWQsIHNldE1vdW50ZWRdID0gdXNlU3RhdGUob3Blbik7XG4gICAgY29uc3QgY2xvc2VUaW1lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNsb3NlVGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoY2xvc2VUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG9wZW4pIHtcbiAgICAgICAgICAgIGlmIChjbG9zZVRpbWVyUmVmLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KGNsb3NlVGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgY2xvc2VUaW1lclJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldE1vdW50ZWQodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtb3VudGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjbG9zZVRpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBzZXRNb3VudGVkKGZhbHNlKTtcbiAgICAgICAgICAgIGNsb3NlVGltZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0sIGRlbGF5KTtcbiAgICB9LCBbZGVsYXksIG1vdW50ZWQsIG9wZW5dKTtcbiAgICByZXR1cm4gbW91bnRlZDtcbn07XG5jb25zdCB1c2VEaWFsb2dGb2N1cyA9IChhY3RpdmUsIGRpYWxvZ1JlZikgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWFjdGl2ZSB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcHJldmlvdXNBY3RpdmVFbGVtZW50UmVmLmN1cnJlbnQgPVxuICAgICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSBkaWFsb2dSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGZyYW1lKTtcbiAgICAgICAgfTtcbiAgICB9LCBbYWN0aXZlLCBkaWFsb2dSZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoYWN0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2IgPSAoX2EgPSBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSk7XG4gICAgICAgIHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9LCBbYWN0aXZlXSk7XG59O1xuY29uc3QgdXNlRXNjYXBlQ2xvc2UgPSAoZW5hYmxlZCwgb25DbG9zZSkgPT4ge1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZW5hYmxlZCB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gRElBTE9HX0RFRkFVTFRTLmVzY2FwZUtleSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdm9pZCAob25DbG9zZSA9PT0gbnVsbCB8fCBvbkNsb3NlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsb3NlKCkpO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKERJQUxPR19ERUZBVUxUUy5rZXlkb3duRXZlbnQsIGhhbmRsZUtleURvd24pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihESUFMT0dfREVGQVVMVFMua2V5ZG93bkV2ZW50LCBoYW5kbGVLZXlEb3duKTtcbiAgICAgICAgfTtcbiAgICB9LCBbZW5hYmxlZCwgb25DbG9zZV0pO1xufTtcbmNvbnN0IHJlbmRlclR5cG9ncmFwaHlOb2RlID0gKG5vZGUsIHJlbmRlclRleHQpID0+IHtcbiAgICBpZiAobm9kZSA9PSBudWxsIHx8IHR5cGVvZiBub2RlID09PSAnYm9vbGVhbicpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0eXBlb2Ygbm9kZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5vZGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiByZW5kZXJUZXh0KG5vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZTtcbn07XG5jb25zdCByZW5kZXJJbGx1c3RyYXRpb25Ob2RlID0gKGlsbHVzdHJhdGlvbikgPT4ge1xuICAgIGlmICghaWxsdXN0cmF0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodHlwZW9mIGlsbHVzdHJhdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goSWNvbnMsIHsgbmFtZTogaWxsdXN0cmF0aW9uLCBzaXplOiBESUFMT0dfREVGQVVMVFMuaWxsdXN0cmF0aW9uU2l6ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlzVmFsaWRFbGVtZW50KGlsbHVzdHJhdGlvbikgPyBpbGx1c3RyYXRpb24gOiBudWxsO1xufTtcbmNvbnN0IHRvVm9pZEhhbmRsZXIgPSAoYWN0aW9uKSA9PiAoKSA9PiB7XG4gICAgdm9pZCAoYWN0aW9uID09PSBudWxsIHx8IGFjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYWN0aW9uKCkpO1xufTtcbmNvbnN0IGNyZWF0ZUFjdGlvbkhhbmRsZXIgPSAoYWN0aW9uLCBidXR0b25DbGljaykgPT4gKGV2ZW50KSA9PiB7XG4gICAgYnV0dG9uQ2xpY2sgPT09IG51bGwgfHwgYnV0dG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJ1dHRvbkNsaWNrKGV2ZW50KTtcbiAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCAhYWN0aW9uKVxuICAgICAgICByZXR1cm47XG4gICAgdm9pZCBhY3Rpb24oKTtcbn07XG5jb25zdCByZW5kZXJDb250cm9sQnV0dG9uID0gKHByZWZpeENscywgdHlwZSwgaWNvbk5vZGUsIG9uQ2xpY2spID0+IChfanN4KFwiYnV0dG9uXCIsIHsgdHlwZTogRElBTE9HX0RFRkFVTFRTLmJ1dHRvbkh0bWxUeXBlLCBjbGFzc05hbWU6IGNsYXNzTmFtZXMoZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuY29udHJvbCksIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmNvbnRyb2wsIHR5cGUpKSwgXCJhcmlhLWxhYmVsXCI6IERJQUxPR19DT05UUk9MX0xBQkVMU1t0eXBlXSwgb25DbGljazogdG9Wb2lkSGFuZGxlcihvbkNsaWNrKSwgY2hpbGRyZW46IGljb25Ob2RlIH0pKTtcbmNvbnN0IHJlbmRlckFjdGlvbkJ1dHRvbiA9ICh7IHByZWZpeENscywga2luZCwgdGV4dCwgYWN0aW9uLCBidXR0b25Qcm9wcywgfSkgPT4ge1xuICAgIHZhciBfYTtcbiAgICBpZiAodGV4dCA9PSBudWxsIHx8ICFhY3Rpb24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIE9iamVjdC5hc3NpZ24oe30sIGJ1dHRvblByb3BzLCB7IHR5cGU6IERJQUxPR19ERUZBVUxUUy5idXR0b25IdG1sVHlwZSwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmJ1dHRvblNpemUsIGNvbG9yOiAoX2EgPSBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERJQUxPR19ERUZBVUxUX0JVVFRPTl9DT0xPUlNba2luZF0sIGNsYXNzTmFtZTogY2xhc3NOYW1lcyhnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5hY3Rpb25CdXR0b24pLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5hY3Rpb25CdXR0b24sIGtpbmQpLCBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuY2xhc3NOYW1lKSwgc3R5bGU6IGJ1dHRvblByb3BzID09PSBudWxsIHx8IGJ1dHRvblByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBidXR0b25Qcm9wcy5zdHlsZSwgb25DbGljazogY3JlYXRlQWN0aW9uSGFuZGxlcihhY3Rpb24sIGJ1dHRvblByb3BzID09PSBudWxsIHx8IGJ1dHRvblByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBidXR0b25Qcm9wcy5vbkNsaWNrKSwgY2hpbGRyZW46IHRleHQgfSkpKTtcbn07XG5jb25zdCByZXNvbHZlRm9vdGVyTm9kZSA9ICh7IGZvb3Rlciwgc2l6ZSwgY2FuY2VsQnV0dG9uLCBva0J1dHRvbiwgfSkgPT4ge1xuICAgIGlmIChmb290ZXIgPT09IG51bGwpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0eXBlb2YgZm9vdGVyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICByZXR1cm4gZm9vdGVyKGNhbmNlbEJ1dHRvbiwgb2tCdXR0b24pO1xuICAgIGlmIChmb290ZXIgIT09IHVuZGVmaW5lZClcbiAgICAgICAgcmV0dXJuIGZvb3RlcjtcbiAgICBpZiAoIWNhbmNlbEJ1dHRvbiAmJiAhb2tCdXR0b24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiBzaXplID09PSBESUFMT0dfU0laRS5sYXJnZVxuICAgICAgICA/IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtjYW5jZWxCdXR0b24sIG9rQnV0dG9uXSB9KSlcbiAgICAgICAgOiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbb2tCdXR0b24sIGNhbmNlbEJ1dHRvbl0gfSkpO1xufTtcbmNvbnN0IERpYWxvZ0Jhc2UgPSBmb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIHN0eWxlLCBwcmVmaXhDbHMgPSBESUFMT0dfREVGQVVMVF9QUkVGSVgsIG9wZW4gPSBmYWxzZSwgc2l6ZSA9IERJQUxPR19TSVpFLnNtYWxsLCBtYXNrQ2xvc2FibGUgPSB0cnVlLCBzaG93Q2xvc2VJY29uID0gdHJ1ZSwgc2hvd0JhY2tJY29uID0gZmFsc2UsIGZ1bGxXaWR0aCA9IGZhbHNlLCBmaXhlZCA9IGZhbHNlLCB0aXRsZSwgY2hpbGRyZW4sIGlsbHVzdHJhdGlvbiwgbWVkaWEsIGNsb3NlSWNvbiwgYmFja0ljb24sIGZvb3Rlciwgb25Paywgb25DYW5jZWwsIG9uQmFjaywgb2tUZXh0ID0gRElBTE9HX0RFRkFVTFRTLm9rVGV4dCwgY2FuY2VsVGV4dCA9IERJQUxPR19ERUZBVUxUUy5jYW5jZWxUZXh0LCByb290U3R5bGUsIHdyYXBwZXJTdHlsZSwgYm9keVN0eWxlLCBoZWFkZXJTdHlsZSwgY29udGVudFN0eWxlLCBmb290ZXJTdHlsZSwgY2FuY2VsQnV0dG9uUHJvcHMsIG9rQnV0dG9uUHJvcHMgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJzdHlsZVwiLCBcInByZWZpeENsc1wiLCBcIm9wZW5cIiwgXCJzaXplXCIsIFwibWFza0Nsb3NhYmxlXCIsIFwic2hvd0Nsb3NlSWNvblwiLCBcInNob3dCYWNrSWNvblwiLCBcImZ1bGxXaWR0aFwiLCBcImZpeGVkXCIsIFwidGl0bGVcIiwgXCJjaGlsZHJlblwiLCBcImlsbHVzdHJhdGlvblwiLCBcIm1lZGlhXCIsIFwiY2xvc2VJY29uXCIsIFwiYmFja0ljb25cIiwgXCJmb290ZXJcIiwgXCJvbk9rXCIsIFwib25DYW5jZWxcIiwgXCJvbkJhY2tcIiwgXCJva1RleHRcIiwgXCJjYW5jZWxUZXh0XCIsIFwicm9vdFN0eWxlXCIsIFwid3JhcHBlclN0eWxlXCIsIFwiYm9keVN0eWxlXCIsIFwiaGVhZGVyU3R5bGVcIiwgXCJjb250ZW50U3R5bGVcIiwgXCJmb290ZXJTdHlsZVwiLCBcImNhbmNlbEJ1dHRvblByb3BzXCIsIFwib2tCdXR0b25Qcm9wc1wiXSk7XG4gICAgY29uc3QgbW91bnRlZCA9IHVzZVByZXNlbmNlKG9wZW4sIERJQUxPR19ERUZBVUxUUy5jbG9zZVRpbWVvdXRNcyk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHRpdGxlSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGhhbmRsZVNldERpYWxvZ1JlZiA9IHVzZUNhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIGRpYWxvZ1JlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgZmlsbFJlZihyZWYsIG5vZGUpO1xuICAgIH0sIFtyZWZdKTtcbiAgICBjb25zdCBoYW5kbGVDYW5jZWwgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdm9pZCAob25DYW5jZWwgPT09IG51bGwgfHwgb25DYW5jZWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2FuY2VsKCkpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU9rID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZvaWQgKG9uT2sgPT09IG51bGwgfHwgb25PayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PaygpKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCYWNrID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZvaWQgKG9uQmFjayA9PT0gbnVsbCB8fCBvbkJhY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmFjaygpKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPdmVybGF5Q2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKCFtYXNrQ2xvc2FibGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGhhbmRsZUNhbmNlbCgpO1xuICAgIH0pO1xuICAgIHVzZUJvZHlTY3JvbGxMb2NrKG1vdW50ZWQgJiYgb3Blbik7XG4gICAgdXNlRGlhbG9nRm9jdXMobW91bnRlZCAmJiBvcGVuLCBkaWFsb2dSZWYpO1xuICAgIHVzZUVzY2FwZUNsb3NlKG1vdW50ZWQgJiYgb3BlbiwgaGFuZGxlQ2FuY2VsKTtcbiAgICBjb25zdCBoYXNNZWRpYSA9IG1lZGlhICE9IG51bGw7XG4gICAgY29uc3QgY2xvc2VDb250cm9sTm9kZSA9IHNob3dDbG9zZUljb25cbiAgICAgICAgPyByZW5kZXJDb250cm9sQnV0dG9uKHByZWZpeENscywgRElBTE9HX0NPTlRST0xfVFlQRS5jbG9zZSwgY2xvc2VJY29uICE9PSBudWxsICYmIGNsb3NlSWNvbiAhPT0gdm9pZCAwID8gY2xvc2VJY29uIDogKF9qc3goSWNvbnMsIHsgbmFtZTogRElBTE9HX0RFRkFVTFRfSUNPTlNbRElBTE9HX0NPTlRST0xfVFlQRS5jbG9zZV0sIHNpemU6IERJQUxPR19ERUZBVUxUUy5jb250cm9sSWNvblNpemUgfSkpLCBoYW5kbGVDYW5jZWwpXG4gICAgICAgIDogbnVsbDtcbiAgICBjb25zdCBiYWNrQ29udHJvbE5vZGUgPSBzaG93QmFja0ljb25cbiAgICAgICAgPyByZW5kZXJDb250cm9sQnV0dG9uKHByZWZpeENscywgRElBTE9HX0NPTlRST0xfVFlQRS5iYWNrLCBiYWNrSWNvbiAhPT0gbnVsbCAmJiBiYWNrSWNvbiAhPT0gdm9pZCAwID8gYmFja0ljb24gOiAoX2pzeChJY29ucywgeyBuYW1lOiBESUFMT0dfREVGQVVMVF9JQ09OU1tESUFMT0dfQ09OVFJPTF9UWVBFLmJhY2tdLCBzaXplOiBESUFMT0dfREVGQVVMVFMuY29udHJvbEljb25TaXplIH0pKSwgaGFuZGxlQmFjaylcbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IGlsbHVzdHJhdGlvbk5vZGUgPSByZW5kZXJJbGx1c3RyYXRpb25Ob2RlKGlsbHVzdHJhdGlvbik7XG4gICAgY29uc3QgdGl0bGVOb2RlID0gcmVuZGVyVHlwb2dyYXBoeU5vZGUodGl0bGUsICh2YWx1ZSkgPT4gKF9qc3goVHlwb2dyYXBoeUhlYWRsaW5lLCB7IHNpemU6IFwibWRcIiwgYXM6IFwiaDJcIiwgY29sb3I6IFwiZGVmYXVsdFwiLCBjaGlsZHJlbjogdmFsdWUgfSkpKTtcbiAgICBjb25zdCBjaGlsZHJlbk5vZGUgPSByZW5kZXJUeXBvZ3JhcGh5Tm9kZShjaGlsZHJlbiwgKHZhbHVlKSA9PiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBcIm1kXCIsIGFzOiBcInBcIiwgc3Ryb25nOiB0cnVlLCBjb2xvcjogXCJkZWZhdWx0LXNlY29uZGFyeVwiLCBjaGlsZHJlbjogdmFsdWUgfSkpKTtcbiAgICBjb25zdCBjYW5jZWxCdXR0b24gPSByZW5kZXJBY3Rpb25CdXR0b24oe1xuICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgIGtpbmQ6IERJQUxPR19BQ1RJT05fS0lORC5jYW5jZWwsXG4gICAgICAgIHRleHQ6IGNhbmNlbFRleHQsXG4gICAgICAgIGFjdGlvbjogb25DYW5jZWwsXG4gICAgICAgIGJ1dHRvblByb3BzOiBjYW5jZWxCdXR0b25Qcm9wcyxcbiAgICB9KTtcbiAgICBjb25zdCBva0J1dHRvbiA9IHJlbmRlckFjdGlvbkJ1dHRvbih7XG4gICAgICAgIHByZWZpeENscyxcbiAgICAgICAga2luZDogRElBTE9HX0FDVElPTl9LSU5ELm9rLFxuICAgICAgICB0ZXh0OiBva1RleHQsXG4gICAgICAgIGFjdGlvbjogb25PayxcbiAgICAgICAgYnV0dG9uUHJvcHM6IG9rQnV0dG9uUHJvcHMsXG4gICAgfSk7XG4gICAgY29uc3QgZm9vdGVyTm9kZSA9IHJlc29sdmVGb290ZXJOb2RlKHtcbiAgICAgICAgZm9vdGVyLFxuICAgICAgICBzaXplLFxuICAgICAgICBjYW5jZWxCdXR0b24sXG4gICAgICAgIG9rQnV0dG9uLFxuICAgIH0pO1xuICAgIGlmICghbW91bnRlZClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChfanN4KFBvcnRhbCwgeyBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBzdHlsZTogcm9vdFN0eWxlLCBjbGFzc05hbWU6IGNsYXNzTmFtZXMoZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1Qucm9vdCksIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnJvb3QsIG9wZW4gPyBESUFMT0dfTU9ESUZJRVIub3BlbiA6IERJQUxPR19NT0RJRklFUi5jbG9zZWQpKSwgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIiwgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5vdmVybGF5KSwgb25DbGljazogaGFuZGxlT3ZlcmxheUNsaWNrIH0pLCBfanN4KFwiZGl2XCIsIHsgc3R5bGU6IHdyYXBwZXJTdHlsZSwgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC53cmFwcGVyKSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBoYW5kbGVTZXREaWFsb2dSZWYsIHJvbGU6IFwiZGlhbG9nXCIsIFwiYXJpYS1tb2RhbFwiOiBcInRydWVcIiwgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGUgPyB0aXRsZUlkIDogdW5kZWZpbmVkLCB0YWJJbmRleDogLTEsIHN0eWxlOiBzdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldENsYXNzTmFtZShwcmVmaXhDbHMpLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCB1bmRlZmluZWQsIHNpemUpLCBmdWxsV2lkdGggJiYgZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgdW5kZWZpbmVkLCBESUFMT0dfTU9ESUZJRVIuZnVsbFdpZHRoKSwgZml4ZWQgJiYgZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgdW5kZWZpbmVkLCBESUFMT0dfTU9ESUZJRVIuZml4ZWQpLCBoYXNNZWRpYSAmJiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCB1bmRlZmluZWQsIERJQUxPR19NT0RJRklFUi53aXRoTWVkaWEpLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW2Nsb3NlQ29udHJvbE5vZGUsIGhhc01lZGlhICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULm1lZGlhKSwgY2hpbGRyZW46IG1lZGlhIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuaW5uZXIpLCBjaGlsZHJlbjogWyhiYWNrQ29udHJvbE5vZGUgfHwgKGZpeGVkICYmIChpbGx1c3RyYXRpb25Ob2RlIHx8IHRpdGxlTm9kZSkpKSAmJiAoX2pzeHMoXCJkaXZcIiwgeyBzdHlsZTogaGVhZGVyU3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuaGVhZGVyKSwgY2hpbGRyZW46IFtiYWNrQ29udHJvbE5vZGUsIGZpeGVkICYmIGlsbHVzdHJhdGlvbk5vZGUgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmlsbHVzdHJhdGlvbiksIGNoaWxkcmVuOiBpbGx1c3RyYXRpb25Ob2RlIH0pKSwgZml4ZWQgJiYgdGl0bGVOb2RlICYmIChfanN4KFwiZGl2XCIsIHsgaWQ6IHRpdGxlSWQsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QudGl0bGUpLCBjaGlsZHJlbjogdGl0bGVOb2RlIH0pKV0gfSkpLCBfanN4cyhcImRpdlwiLCB7IHN0eWxlOiBib2R5U3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuYm9keSksIGNoaWxkcmVuOiBbIWZpeGVkICYmIGlsbHVzdHJhdGlvbk5vZGUgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmlsbHVzdHJhdGlvbiksIGNoaWxkcmVuOiBpbGx1c3RyYXRpb25Ob2RlIH0pKSwgIWZpeGVkICYmIHRpdGxlTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IGlkOiB0aXRsZUlkLCBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnRpdGxlKSwgY2hpbGRyZW46IHRpdGxlTm9kZSB9KSksIGNoaWxkcmVuTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBjb250ZW50U3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuY29udGVudCksIGNoaWxkcmVuOiBjaGlsZHJlbk5vZGUgfSkpXSB9KSwgZm9vdGVyTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBmb290ZXJTdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmZvb3RlciksIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmZvb3Rlciwgc2l6ZSkpLCBjaGlsZHJlbjogZm9vdGVyTm9kZSB9KSldIH0pXSB9KSkgfSldIH0pIH0pKTtcbn0pO1xuRGlhbG9nQmFzZS5kaXNwbGF5TmFtZSA9ICdEaWFsb2cnO1xuZXhwb3J0IGNvbnN0IERpYWxvZyA9IG1lbW8oRGlhbG9nQmFzZSk7XG5EaWFsb2cuZGlzcGxheU5hbWUgPSAnRGlhbG9nJztcbmV4cG9ydCBkZWZhdWx0IERpYWxvZzsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
345
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3VzZUV2ZW50Q2FsbGJhY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2NsYXNzbmFtZXMiLCJfcmVhY3QiLCJfQnV0dG9uIiwiX0ljb25zIiwiX1BvcnRhbCIsIl9UeXBvZ3JhcGh5IiwiX3JlZjMiLCJfY29uc3RhbnRzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJzY3JvbGxMb2NrQ291bnQiLCJnZXRDbGFzc05hbWUiLCJwcmVmaXhDbHMiLCJzbG90IiwibW9kaWZpZXIiLCJiYXNlQ2xhc3NOYW1lIiwiY29uY2F0IiwiRElBTE9HX05BTUVTUEFDRSIsInNldEJvZHlPdmVyZmxvdyIsInZhbHVlIiwiZG9jdW1lbnQiLCJib2R5Iiwic3R5bGUiLCJvdmVyZmxvdyIsImxvY2tCb2R5U2Nyb2xsIiwiRElBTE9HX0RFRkFVTFRTIiwib3ZlcmZsb3dIaWRkZW4iLCJ1bmxvY2tCb2R5U2Nyb2xsIiwiTWF0aCIsIm1heCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIm92ZXJmbG93UmVzZXQiLCJ1c2VCb2R5U2Nyb2xsTG9jayIsImxvY2tlZCIsImlzTG9ja2VkUmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsInVzZURpYWxvZ0ZvY3VzIiwiYWN0aXZlIiwiZGlhbG9nUmVmIiwicHJldmlvdXNBY3RpdmVFbGVtZW50UmVmIiwiYWN0aXZlRWxlbWVudCIsIkhUTUxFbGVtZW50IiwiZnJhbWUiLCJ3aW5kb3ciLCJfYSIsImZvY3VzIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJfYiIsInVzZUVzY2FwZUNsb3NlIiwiZW5hYmxlZCIsIm9uQ2xvc2UiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJrZXkiLCJlc2NhcGVLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJrZXlkb3duRXZlbnQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVyVHlwb2dyYXBoeU5vZGUiLCJub2RlIiwicmVuZGVyVGV4dCIsInJlbmRlcklsbHVzdHJhdGlvbk5vZGUiLCJpbGx1c3RyYXRpb24iLCJfanN4IiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsImlsbHVzdHJhdGlvblNpemUiLCJpc1ZhbGlkRWxlbWVudCIsInRvVm9pZEhhbmRsZXIiLCJhY3Rpb24iLCJjcmVhdGVBY3Rpb25IYW5kbGVyIiwiYnV0dG9uQ2xpY2siLCJkZWZhdWx0UHJldmVudGVkIiwicmVuZGVyQ29udHJvbEJ1dHRvbiIsInR5cGUiLCJpY29uTm9kZSIsIm9uQ2xpY2siLCJidXR0b25IdG1sVHlwZSIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJESUFMT0dfU0xPVCIsImNvbnRyb2wiLCJESUFMT0dfQ09OVFJPTF9MQUJFTFMiLCJjaGlsZHJlbiIsInJlbmRlckFjdGlvbkJ1dHRvbiIsIl9yZWYiLCJraW5kIiwidGV4dCIsImJ1dHRvblByb3BzIiwiQnV0dG9uIiwiYXNzaWduIiwiYnV0dG9uU2l6ZSIsImNvbG9yIiwiRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUyIsImFjdGlvbkJ1dHRvbiIsInJlc29sdmVGb290ZXJOb2RlIiwiX3JlZjIiLCJmb290ZXIiLCJjYW5jZWxCdXR0b24iLCJva0J1dHRvbiIsIkRJQUxPR19TSVpFIiwibGFyZ2UiLCJfanN4cyIsIl9GcmFnbWVudCIsIkRpYWxvZ0Jhc2UiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkcHJlZml4Q2xzIiwiRElBTE9HX0RFRkFVTFRfUFJFRklYIiwiX3Byb3BzJG9wZW4iLCJvcGVuIiwiX3Byb3BzJHNpemUiLCJzbWFsbCIsIl9wcm9wcyRtYXNrQ2xvc2FibGUiLCJtYXNrQ2xvc2FibGUiLCJfcHJvcHMkc2hvd0Nsb3NlSWNvbiIsInNob3dDbG9zZUljb24iLCJfcHJvcHMkc2hvd0JhY2tJY29uIiwic2hvd0JhY2tJY29uIiwiX3Byb3BzJGZ1bGxXaWR0aCIsImZ1bGxXaWR0aCIsIl9wcm9wcyRmaXhlZCIsImZpeGVkIiwidGl0bGUiLCJtZWRpYSIsImNsb3NlSWNvbiIsImJhY2tJY29uIiwib25PayIsIm9uQ2FuY2VsIiwib25CYWNrIiwiX3Byb3BzJG9rVGV4dCIsIm9rVGV4dCIsIl9wcm9wcyRjYW5jZWxUZXh0IiwiY2FuY2VsVGV4dCIsInJvb3RTdHlsZSIsIndyYXBwZXJTdHlsZSIsImJvZHlTdHlsZSIsImhlYWRlclN0eWxlIiwiY29udGVudFN0eWxlIiwiZm9vdGVyU3R5bGUiLCJjYW5jZWxCdXR0b25Qcm9wcyIsIm9rQnV0dG9uUHJvcHMiLCJyZXN0IiwidGl0bGVJZCIsInVzZUlkIiwiaGFuZGxlU2V0RGlhbG9nUmVmIiwidXNlQ2FsbGJhY2siLCJmaWxsUmVmIiwiaGFuZGxlQ2FuY2VsIiwidXNlRXZlbnRDYWxsYmFjayIsImhhbmRsZU9rIiwiaGFuZGxlQmFjayIsImhhbmRsZU92ZXJsYXlDbGljayIsImhhc01lZGlhIiwiY2xvc2VDb250cm9sTm9kZSIsIkRJQUxPR19DT05UUk9MX1RZUEUiLCJjbG9zZSIsIkRJQUxPR19ERUZBVUxUX0lDT05TIiwiY29udHJvbEljb25TaXplIiwiYmFja0NvbnRyb2xOb2RlIiwiYmFjayIsImlsbHVzdHJhdGlvbk5vZGUiLCJ0aXRsZU5vZGUiLCJUeXBvZ3JhcGh5SGVhZGxpbmUiLCJhcyIsImNoaWxkcmVuTm9kZSIsIlR5cG9ncmFwaHlCb2R5Iiwic3Ryb25nIiwiRElBTE9HX0FDVElPTl9LSU5EIiwiY2FuY2VsIiwib2siLCJmb290ZXJOb2RlIiwiUG9ydGFsIiwicm9vdCIsIm92ZXJsYXkiLCJ3cmFwcGVyIiwicm9sZSIsInRhYkluZGV4IiwiRElBTE9HX01PRElGSUVSIiwid2l0aE1lZGlhIiwiaW5uZXIiLCJoZWFkZXIiLCJpZCIsImNvbnRlbnQiLCJkaXNwbGF5TmFtZSIsIkRpYWxvZyIsImV4cG9ydHMiLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBU0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsS0FBQSxHQUFBVCxPQUFBO0FBSUEsSUFBQVUsVUFBQSxHQUFBVixPQUFBO0FBZUFBLE9BQUE7QURsQ0EsSUFBSVcsTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FB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L0RpYWxvZy9EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwgRnJhZ21lbnQgYXMgX0ZyYWdtZW50LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBmb3J3YXJkUmVmLCBpc1ZhbGlkRWxlbWVudCwgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlSWQsIHVzZVJlZiwgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi9CdXR0b24nO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBQb3J0YWwgfSBmcm9tICcuLi9Qb3J0YWwnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlIZWFkbGluZSB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZmlsbFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzL3JlZic7XG5pbXBvcnQgeyBESUFMT0dfQUNUSU9OX0tJTkQsIERJQUxPR19DT05UUk9MX0xBQkVMUywgRElBTE9HX0NPTlRST0xfVFlQRSwgRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUywgRElBTE9HX0RFRkFVTFRfSUNPTlMsIERJQUxPR19ERUZBVUxUX1BSRUZJWCwgRElBTE9HX0RFRkFVTFRTLCBESUFMT0dfTU9ESUZJRVIsIERJQUxPR19OQU1FU1BBQ0UsIERJQUxPR19TSVpFLCBESUFMT0dfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xubGV0IHNjcm9sbExvY2tDb3VudCA9IDA7XG5jb25zdCBnZXRDbGFzc05hbWUgPSAocHJlZml4Q2xzLCBzbG90LCBtb2RpZmllcikgPT4ge1xuICAgIGNvbnN0IGJhc2VDbGFzc05hbWUgPSBgJHtESUFMT0dfTkFNRVNQQUNFfS0ke3ByZWZpeENsc30ke3Nsb3QgPyBgLSR7c2xvdH1gIDogJyd9YDtcbiAgICByZXR1cm4gbW9kaWZpZXIgPyBgJHtiYXNlQ2xhc3NOYW1lfS0ke21vZGlmaWVyfWAgOiBiYXNlQ2xhc3NOYW1lO1xufTtcbmNvbnN0IHNldEJvZHlPdmVyZmxvdyA9ICh2YWx1ZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm47XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IHZhbHVlO1xufTtcbmNvbnN0IGxvY2tCb2R5U2Nyb2xsID0gKCkgPT4ge1xuICAgIHNjcm9sbExvY2tDb3VudCArPSAxO1xuICAgIHNldEJvZHlPdmVyZmxvdyhESUFMT0dfREVGQVVMVFMub3ZlcmZsb3dIaWRkZW4pO1xufTtcbmNvbnN0IHVubG9ja0JvZHlTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2Nyb2xsTG9ja0NvdW50ID0gTWF0aC5tYXgoMCwgc2Nyb2xsTG9ja0NvdW50IC0gMSk7XG4gICAgaWYgKHNjcm9sbExvY2tDb3VudCA9PT0gMCkge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNjcm9sbExvY2tDb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHNldEJvZHlPdmVyZmxvdyhESUFMT0dfREVGQVVMVFMub3ZlcmZsb3dSZXNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5jb25zdCB1c2VCb2R5U2Nyb2xsTG9jayA9IChsb2NrZWQpID0+IHtcbiAgICBjb25zdCBpc0xvY2tlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFsb2NrZWQgfHwgaXNMb2NrZWRSZWYuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGlzTG9ja2VkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBsb2NrQm9keVNjcm9sbCgpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpc0xvY2tlZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGlzTG9ja2VkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHVubG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbbG9ja2VkXSk7XG59O1xuY29uc3QgdXNlRGlhbG9nRm9jdXMgPSAoYWN0aXZlLCBkaWFsb2dSZWYpID0+IHtcbiAgICBjb25zdCBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFhY3RpdmUgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHByZXZpb3VzQWN0aXZlRWxlbWVudFJlZi5jdXJyZW50ID1cbiAgICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgICAgICBjb25zdCBmcmFtZSA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgKF9hID0gZGlhbG9nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cygpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShmcmFtZSk7XG4gICAgICAgIH07XG4gICAgfSwgW2FjdGl2ZSwgZGlhbG9nUmVmXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgaWYgKGFjdGl2ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgKF9iID0gKF9hID0gcHJldmlvdXNBY3RpdmVFbGVtZW50UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpO1xuICAgICAgICBwcmV2aW91c0FjdGl2ZUVsZW1lbnRSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfSwgW2FjdGl2ZV0pO1xufTtcbmNvbnN0IHVzZUVzY2FwZUNsb3NlID0gKGVuYWJsZWQsIG9uQ2xvc2UpID0+IHtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWVuYWJsZWQgfHwgdHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgIT09IERJQUxPR19ERUZBVUxUUy5lc2NhcGVLZXkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHZvaWQgKG9uQ2xvc2UgPT09IG51bGwgfHwgb25DbG9zZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbG9zZSgpKTtcbiAgICAgICAgfTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihESUFMT0dfREVGQVVMVFMua2V5ZG93bkV2ZW50LCBoYW5kbGVLZXlEb3duKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoRElBTE9HX0RFRkFVTFRTLmtleWRvd25FdmVudCwgaGFuZGxlS2V5RG93bik7XG4gICAgICAgIH07XG4gICAgfSwgW2VuYWJsZWQsIG9uQ2xvc2VdKTtcbn07XG5jb25zdCByZW5kZXJUeXBvZ3JhcGh5Tm9kZSA9IChub2RlLCByZW5kZXJUZXh0KSA9PiB7XG4gICAgaWYgKG5vZGUgPT0gbnVsbCB8fCB0eXBlb2Ygbm9kZSA9PT0gJ2Jvb2xlYW4nKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodHlwZW9mIG5vZGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBub2RlID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gcmVuZGVyVGV4dChub2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG59O1xuY29uc3QgcmVuZGVySWxsdXN0cmF0aW9uTm9kZSA9IChpbGx1c3RyYXRpb24pID0+IHtcbiAgICBpZiAoIWlsbHVzdHJhdGlvbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgaWYgKHR5cGVvZiBpbGx1c3RyYXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6IGlsbHVzdHJhdGlvbiwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmlsbHVzdHJhdGlvblNpemUgfSk7XG4gICAgfVxuICAgIHJldHVybiBpc1ZhbGlkRWxlbWVudChpbGx1c3RyYXRpb24pID8gaWxsdXN0cmF0aW9uIDogbnVsbDtcbn07XG5jb25zdCB0b1ZvaWRIYW5kbGVyID0gKGFjdGlvbikgPT4gKCkgPT4ge1xuICAgIHZvaWQgKGFjdGlvbiA9PT0gbnVsbCB8fCBhY3Rpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFjdGlvbigpKTtcbn07XG5jb25zdCBjcmVhdGVBY3Rpb25IYW5kbGVyID0gKGFjdGlvbiwgYnV0dG9uQ2xpY2spID0+IChldmVudCkgPT4ge1xuICAgIGJ1dHRvbkNsaWNrID09PSBudWxsIHx8IGJ1dHRvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBidXR0b25DbGljayhldmVudCk7XG4gICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgfHwgIWFjdGlvbilcbiAgICAgICAgcmV0dXJuO1xuICAgIHZvaWQgYWN0aW9uKCk7XG59O1xuY29uc3QgcmVuZGVyQ29udHJvbEJ1dHRvbiA9IChwcmVmaXhDbHMsIHR5cGUsIGljb25Ob2RlLCBvbkNsaWNrKSA9PiAoX2pzeChcImJ1dHRvblwiLCB7IHR5cGU6IERJQUxPR19ERUZBVUxUUy5idXR0b25IdG1sVHlwZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmNvbnRyb2wpLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5jb250cm9sLCB0eXBlKSksIFwiYXJpYS1sYWJlbFwiOiBESUFMT0dfQ09OVFJPTF9MQUJFTFNbdHlwZV0sIG9uQ2xpY2s6IHRvVm9pZEhhbmRsZXIob25DbGljayksIGNoaWxkcmVuOiBpY29uTm9kZSB9KSk7XG5jb25zdCByZW5kZXJBY3Rpb25CdXR0b24gPSAoeyBwcmVmaXhDbHMsIGtpbmQsIHRleHQsIGFjdGlvbiwgYnV0dG9uUHJvcHMsIH0pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgaWYgKHRleHQgPT0gbnVsbCB8fCAhYWN0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gKF9qc3goQnV0dG9uLCBPYmplY3QuYXNzaWduKHt9LCBidXR0b25Qcm9wcywgeyB0eXBlOiBESUFMT0dfREVGQVVMVFMuYnV0dG9uSHRtbFR5cGUsIHNpemU6IERJQUxPR19ERUZBVUxUUy5idXR0b25TaXplLCBjb2xvcjogKF9hID0gYnV0dG9uUHJvcHMgPT09IG51bGwgfHwgYnV0dG9uUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJ1dHRvblByb3BzLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBESUFMT0dfREVGQVVMVF9CVVRUT05fQ09MT1JTW2tpbmRdLCBjbGFzc05hbWU6IGNsYXNzTmFtZXMoZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuYWN0aW9uQnV0dG9uKSwgZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuYWN0aW9uQnV0dG9uLCBraW5kKSwgYnV0dG9uUHJvcHMgPT09IG51bGwgfHwgYnV0dG9uUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJ1dHRvblByb3BzLmNsYXNzTmFtZSksIHN0eWxlOiBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMuc3R5bGUsIG9uQ2xpY2s6IGNyZWF0ZUFjdGlvbkhhbmRsZXIoYWN0aW9uLCBidXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBidXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uUHJvcHMub25DbGljayksIGNoaWxkcmVuOiB0ZXh0IH0pKSk7XG59O1xuY29uc3QgcmVzb2x2ZUZvb3Rlck5vZGUgPSAoeyBmb290ZXIsIHNpemUsIGNhbmNlbEJ1dHRvbiwgb2tCdXR0b24sIH0pID0+IHtcbiAgICBpZiAoZm9vdGVyID09PSBudWxsKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAodHlwZW9mIGZvb3RlciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgcmV0dXJuIGZvb3RlcihjYW5jZWxCdXR0b24sIG9rQnV0dG9uKTtcbiAgICBpZiAoZm9vdGVyICE9PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiBmb290ZXI7XG4gICAgaWYgKCFjYW5jZWxCdXR0b24gJiYgIW9rQnV0dG9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gc2l6ZSA9PT0gRElBTE9HX1NJWkUubGFyZ2VcbiAgICAgICAgPyAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbY2FuY2VsQnV0dG9uLCBva0J1dHRvbl0gfSkpXG4gICAgICAgIDogKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW29rQnV0dG9uLCBjYW5jZWxCdXR0b25dIH0pKTtcbn07XG5jb25zdCBEaWFsb2dCYXNlID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBzdHlsZSwgcHJlZml4Q2xzID0gRElBTE9HX0RFRkFVTFRfUFJFRklYLCBvcGVuID0gZmFsc2UsIHNpemUgPSBESUFMT0dfU0laRS5zbWFsbCwgbWFza0Nsb3NhYmxlID0gdHJ1ZSwgc2hvd0Nsb3NlSWNvbiA9IHRydWUsIHNob3dCYWNrSWNvbiA9IGZhbHNlLCBmdWxsV2lkdGggPSBmYWxzZSwgZml4ZWQgPSBmYWxzZSwgdGl0bGUsIGNoaWxkcmVuLCBpbGx1c3RyYXRpb24sIG1lZGlhLCBjbG9zZUljb24sIGJhY2tJY29uLCBmb290ZXIsIG9uT2ssIG9uQ2FuY2VsLCBvbkJhY2ssIG9rVGV4dCA9IERJQUxPR19ERUZBVUxUUy5va1RleHQsIGNhbmNlbFRleHQgPSBESUFMT0dfREVGQVVMVFMuY2FuY2VsVGV4dCwgcm9vdFN0eWxlLCB3cmFwcGVyU3R5bGUsIGJvZHlTdHlsZSwgaGVhZGVyU3R5bGUsIGNvbnRlbnRTdHlsZSwgZm9vdGVyU3R5bGUsIGNhbmNlbEJ1dHRvblByb3BzLCBva0J1dHRvblByb3BzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwic3R5bGVcIiwgXCJwcmVmaXhDbHNcIiwgXCJvcGVuXCIsIFwic2l6ZVwiLCBcIm1hc2tDbG9zYWJsZVwiLCBcInNob3dDbG9zZUljb25cIiwgXCJzaG93QmFja0ljb25cIiwgXCJmdWxsV2lkdGhcIiwgXCJmaXhlZFwiLCBcInRpdGxlXCIsIFwiY2hpbGRyZW5cIiwgXCJpbGx1c3RyYXRpb25cIiwgXCJtZWRpYVwiLCBcImNsb3NlSWNvblwiLCBcImJhY2tJY29uXCIsIFwiZm9vdGVyXCIsIFwib25Pa1wiLCBcIm9uQ2FuY2VsXCIsIFwib25CYWNrXCIsIFwib2tUZXh0XCIsIFwiY2FuY2VsVGV4dFwiLCBcInJvb3RTdHlsZVwiLCBcIndyYXBwZXJTdHlsZVwiLCBcImJvZHlTdHlsZVwiLCBcImhlYWRlclN0eWxlXCIsIFwiY29udGVudFN0eWxlXCIsIFwiZm9vdGVyU3R5bGVcIiwgXCJjYW5jZWxCdXR0b25Qcm9wc1wiLCBcIm9rQnV0dG9uUHJvcHNcIl0pO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0aXRsZUlkID0gdXNlSWQoKTtcbiAgICBjb25zdCBoYW5kbGVTZXREaWFsb2dSZWYgPSB1c2VDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICBkaWFsb2dSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGZpbGxSZWYocmVmLCBub2RlKTtcbiAgICB9LCBbcmVmXSk7XG4gICAgY29uc3QgaGFuZGxlQ2FuY2VsID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZvaWQgKG9uQ2FuY2VsID09PSBudWxsIHx8IG9uQ2FuY2VsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNhbmNlbCgpKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPayA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2b2lkIChvbk9rID09PSBudWxsIHx8IG9uT2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT2soKSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQmFjayA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2b2lkIChvbkJhY2sgPT09IG51bGwgfHwgb25CYWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJhY2soKSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3ZlcmxheUNsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghbWFza0Nsb3NhYmxlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBoYW5kbGVDYW5jZWwoKTtcbiAgICB9KTtcbiAgICB1c2VCb2R5U2Nyb2xsTG9jayhvcGVuKTtcbiAgICB1c2VEaWFsb2dGb2N1cyhvcGVuLCBkaWFsb2dSZWYpO1xuICAgIHVzZUVzY2FwZUNsb3NlKG9wZW4sIGhhbmRsZUNhbmNlbCk7XG4gICAgY29uc3QgaGFzTWVkaWEgPSBtZWRpYSAhPSBudWxsO1xuICAgIGNvbnN0IGNsb3NlQ29udHJvbE5vZGUgPSBzaG93Q2xvc2VJY29uXG4gICAgICAgID8gcmVuZGVyQ29udHJvbEJ1dHRvbihwcmVmaXhDbHMsIERJQUxPR19DT05UUk9MX1RZUEUuY2xvc2UsIGNsb3NlSWNvbiAhPT0gbnVsbCAmJiBjbG9zZUljb24gIT09IHZvaWQgMCA/IGNsb3NlSWNvbiA6IChfanN4KEljb25zLCB7IG5hbWU6IERJQUxPR19ERUZBVUxUX0lDT05TW0RJQUxPR19DT05UUk9MX1RZUEUuY2xvc2VdLCBzaXplOiBESUFMT0dfREVGQVVMVFMuY29udHJvbEljb25TaXplIH0pKSwgaGFuZGxlQ2FuY2VsKVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgYmFja0NvbnRyb2xOb2RlID0gc2hvd0JhY2tJY29uXG4gICAgICAgID8gcmVuZGVyQ29udHJvbEJ1dHRvbihwcmVmaXhDbHMsIERJQUxPR19DT05UUk9MX1RZUEUuYmFjaywgYmFja0ljb24gIT09IG51bGwgJiYgYmFja0ljb24gIT09IHZvaWQgMCA/IGJhY2tJY29uIDogKF9qc3goSWNvbnMsIHsgbmFtZTogRElBTE9HX0RFRkFVTFRfSUNPTlNbRElBTE9HX0NPTlRST0xfVFlQRS5iYWNrXSwgc2l6ZTogRElBTE9HX0RFRkFVTFRTLmNvbnRyb2xJY29uU2l6ZSB9KSksIGhhbmRsZUJhY2spXG4gICAgICAgIDogbnVsbDtcbiAgICBjb25zdCBpbGx1c3RyYXRpb25Ob2RlID0gcmVuZGVySWxsdXN0cmF0aW9uTm9kZShpbGx1c3RyYXRpb24pO1xuICAgIGNvbnN0IHRpdGxlTm9kZSA9IHJlbmRlclR5cG9ncmFwaHlOb2RlKHRpdGxlLCAodmFsdWUpID0+IChfanN4KFR5cG9ncmFwaHlIZWFkbGluZSwgeyBzaXplOiBcIm1kXCIsIGFzOiBcImgyXCIsIGNvbG9yOiBcImRlZmF1bHRcIiwgY2hpbGRyZW46IHZhbHVlIH0pKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlID0gcmVuZGVyVHlwb2dyYXBoeU5vZGUoY2hpbGRyZW4sICh2YWx1ZSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogXCJtZFwiLCBhczogXCJwXCIsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IFwiZGVmYXVsdC1zZWNvbmRhcnlcIiwgY2hpbGRyZW46IHZhbHVlIH0pKSk7XG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gcmVuZGVyQWN0aW9uQnV0dG9uKHtcbiAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICBraW5kOiBESUFMT0dfQUNUSU9OX0tJTkQuY2FuY2VsLFxuICAgICAgICB0ZXh0OiBjYW5jZWxUZXh0LFxuICAgICAgICBhY3Rpb246IG9uQ2FuY2VsLFxuICAgICAgICBidXR0b25Qcm9wczogY2FuY2VsQnV0dG9uUHJvcHMsXG4gICAgfSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSByZW5kZXJBY3Rpb25CdXR0b24oe1xuICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgIGtpbmQ6IERJQUxPR19BQ1RJT05fS0lORC5vayxcbiAgICAgICAgdGV4dDogb2tUZXh0LFxuICAgICAgICBhY3Rpb246IG9uT2ssXG4gICAgICAgIGJ1dHRvblByb3BzOiBva0J1dHRvblByb3BzLFxuICAgIH0pO1xuICAgIGNvbnN0IGZvb3Rlck5vZGUgPSByZXNvbHZlRm9vdGVyTm9kZSh7XG4gICAgICAgIGZvb3RlcixcbiAgICAgICAgc2l6ZSxcbiAgICAgICAgY2FuY2VsQnV0dG9uLFxuICAgICAgICBva0J1dHRvbixcbiAgICB9KTtcbiAgICBpZiAoIW9wZW4pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeChQb3J0YWwsIHsgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgc3R5bGU6IHJvb3RTdHlsZSwgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5yb290KSwgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIiwgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC5vdmVybGF5KSwgb25DbGljazogaGFuZGxlT3ZlcmxheUNsaWNrIH0pLCBfanN4KFwiZGl2XCIsIHsgc3R5bGU6IHdyYXBwZXJTdHlsZSwgY2xhc3NOYW1lOiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCBESUFMT0dfU0xPVC53cmFwcGVyKSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBoYW5kbGVTZXREaWFsb2dSZWYsIHJvbGU6IFwiZGlhbG9nXCIsIFwiYXJpYS1tb2RhbFwiOiBcInRydWVcIiwgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGUgPyB0aXRsZUlkIDogdW5kZWZpbmVkLCB0YWJJbmRleDogLTEsIHN0eWxlOiBzdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldENsYXNzTmFtZShwcmVmaXhDbHMpLCBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCB1bmRlZmluZWQsIHNpemUpLCBmdWxsV2lkdGggJiYgZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgdW5kZWZpbmVkLCBESUFMT0dfTU9ESUZJRVIuZnVsbFdpZHRoKSwgZml4ZWQgJiYgZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgdW5kZWZpbmVkLCBESUFMT0dfTU9ESUZJRVIuZml4ZWQpLCBoYXNNZWRpYSAmJiBnZXRDbGFzc05hbWUocHJlZml4Q2xzLCB1bmRlZmluZWQsIERJQUxPR19NT0RJRklFUi53aXRoTWVkaWEpLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW2Nsb3NlQ29udHJvbE5vZGUsIGhhc01lZGlhICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULm1lZGlhKSwgY2hpbGRyZW46IG1lZGlhIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuaW5uZXIpLCBjaGlsZHJlbjogWyhiYWNrQ29udHJvbE5vZGUgfHwgKGZpeGVkICYmIChpbGx1c3RyYXRpb25Ob2RlIHx8IHRpdGxlTm9kZSkpKSAmJiAoX2pzeHMoXCJkaXZcIiwgeyBzdHlsZTogaGVhZGVyU3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuaGVhZGVyKSwgY2hpbGRyZW46IFtiYWNrQ29udHJvbE5vZGUsIGZpeGVkICYmIGlsbHVzdHJhdGlvbk5vZGUgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmlsbHVzdHJhdGlvbiksIGNoaWxkcmVuOiBpbGx1c3RyYXRpb25Ob2RlIH0pKSwgZml4ZWQgJiYgdGl0bGVOb2RlICYmIChfanN4KFwiZGl2XCIsIHsgaWQ6IHRpdGxlSWQsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QudGl0bGUpLCBjaGlsZHJlbjogdGl0bGVOb2RlIH0pKV0gfSkpLCBfanN4cyhcImRpdlwiLCB7IHN0eWxlOiBib2R5U3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuYm9keSksIGNoaWxkcmVuOiBbIWZpeGVkICYmIGlsbHVzdHJhdGlvbk5vZGUgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmlsbHVzdHJhdGlvbiksIGNoaWxkcmVuOiBpbGx1c3RyYXRpb25Ob2RlIH0pKSwgIWZpeGVkICYmIHRpdGxlTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IGlkOiB0aXRsZUlkLCBjbGFzc05hbWU6IGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULnRpdGxlKSwgY2hpbGRyZW46IHRpdGxlTm9kZSB9KSksIGNoaWxkcmVuTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBjb250ZW50U3R5bGUsIGNsYXNzTmFtZTogZ2V0Q2xhc3NOYW1lKHByZWZpeENscywgRElBTE9HX1NMT1QuY29udGVudCksIGNoaWxkcmVuOiBjaGlsZHJlbk5vZGUgfSkpXSB9KSwgZm9vdGVyTm9kZSAmJiAoX2pzeChcImRpdlwiLCB7IHN0eWxlOiBmb290ZXJTdHlsZSwgY2xhc3NOYW1lOiBjbGFzc05hbWVzKGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmZvb3RlciksIGdldENsYXNzTmFtZShwcmVmaXhDbHMsIERJQUxPR19TTE9ULmZvb3Rlciwgc2l6ZSkpLCBjaGlsZHJlbjogZm9vdGVyTm9kZSB9KSldIH0pXSB9KSkgfSldIH0pIH0pKTtcbn0pO1xuRGlhbG9nQmFzZS5kaXNwbGF5TmFtZSA9ICdEaWFsb2cnO1xuZXhwb3J0IGNvbnN0IERpYWxvZyA9IG1lbW8oRGlhbG9nQmFzZSk7XG5EaWFsb2cuZGlzcGxheU5hbWUgPSAnRGlhbG9nJztcbmV4cG9ydCBkZWZhdWx0IERpYWxvZzsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -31,8 +31,6 @@ export declare const DIALOG_SLOT: {
31
31
  readonly footer: "footer";
32
32
  };
33
33
  export declare const DIALOG_MODIFIER: {
34
- readonly open: "open";
35
- readonly closed: "closed";
36
34
  readonly fullWidth: "full-width";
37
35
  readonly withMedia: "with-media";
38
36
  readonly fixed: "fixed";
@@ -43,7 +41,6 @@ export declare const DIALOG_DEFAULT_BUTTON_COLORS: Record<DialogActionKind, NonN
43
41
  export declare const DIALOG_DEFAULTS: {
44
42
  readonly buttonHtmlType: "button";
45
43
  readonly buttonSize: "large";
46
- readonly closeTimeoutMs: 200;
47
44
  readonly controlIconSize: 24;
48
45
  readonly illustrationSize: 74;
49
46
  readonly okText: "Confirm";
@@ -37,8 +37,6 @@ var DIALOG_SLOT = exports.DIALOG_SLOT = {
37
37
  footer: 'footer'
38
38
  };
39
39
  var DIALOG_MODIFIER = exports.DIALOG_MODIFIER = {
40
- open: 'open',
41
- closed: 'closed',
42
40
  fullWidth: 'full-width',
43
41
  withMedia: 'with-media',
44
42
  fixed: 'fixed'
@@ -49,7 +47,6 @@ var DIALOG_DEFAULT_BUTTON_COLORS = exports.DIALOG_DEFAULT_BUTTON_COLORS = (0, _d
49
47
  var DIALOG_DEFAULTS = exports.DIALOG_DEFAULTS = {
50
48
  buttonHtmlType: 'button',
51
49
  buttonSize: 'large',
52
- closeTimeoutMs: 200,
53
50
  controlIconSize: 24,
54
51
  illustrationSize: 74,
55
52
  okText: 'Confirm',
@@ -59,4 +56,4 @@ var DIALOG_DEFAULTS = exports.DIALOG_DEFAULTS = {
59
56
  escapeKey: 'Escape',
60
57
  keydownEvent: 'keydown'
61
58
  };
62
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy50cyIsImNvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJESUFMT0dfTkFNRVNQQUNFIiwiZXhwb3J0cyIsIkRJQUxPR19ERUZBVUxUX1BSRUZJWCIsIkRJQUxPR19TSVpFIiwic21hbGwiLCJsYXJnZSIsIkRJQUxPR19TSVpFUyIsIkRJQUxPR19BQ1RJT05fS0lORCIsIm9rIiwiY2FuY2VsIiwiRElBTE9HX0NPTlRST0xfVFlQRSIsImJhY2siLCJjbG9zZSIsIkRJQUxPR19TTE9UIiwicm9vdCIsIm92ZXJsYXkiLCJ3cmFwcGVyIiwiY29udHJvbCIsImFjdGlvbkJ1dHRvbiIsIm1lZGlhIiwiaW5uZXIiLCJoZWFkZXIiLCJib2R5IiwiaWxsdXN0cmF0aW9uIiwidGl0bGUiLCJjb250ZW50IiwiZm9vdGVyIiwiRElBTE9HX01PRElGSUVSIiwib3BlbiIsImNsb3NlZCIsImZ1bGxXaWR0aCIsIndpdGhNZWRpYSIsImZpeGVkIiwiRElBTE9HX0NPTlRST0xfTEFCRUxTIiwiX2RlZmluZVByb3BlcnR5MiIsIkRJQUxPR19ERUZBVUxUX0lDT05TIiwiRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUyIsIkRJQUxPR19ERUZBVUxUUyIsImJ1dHRvbkh0bWxUeXBlIiwiYnV0dG9uU2l6ZSIsImNsb3NlVGltZW91dE1zIiwiY29udHJvbEljb25TaXplIiwiaWxsdXN0cmF0aW9uU2l6ZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvdmVyZmxvd0hpZGRlbiIsIm92ZXJmbG93UmVzZXQiLCJlc2NhcGVLZXkiLCJrZXlkb3duRXZlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR08sSUFBTUEsZ0JBQWdCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRyxpQkFBaUI7QUFDMUMsSUFBTUUscUJBQXFCLEdBQUFELE9BQUEsQ0FBQUMscUJBQUEsR0FBRyxRQUFRO0FBRXRDLElBQU1DLFdBQVcsR0FBQUYsT0FBQSxDQUFBRSxXQUFBLEdBQUc7RUFDekJDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLEtBQUssRUFBRTtBQ0hULENESVU7QUFFSCxJQUFNQyxZQUFZLEdBQUFMLE9BQUEsQ0FBQUssWUFBQSxHQUFHLENBQUNILFdBQVcsQ0FBQ0MsS0FBSyxFQUFFRCxXQUFXLENBQUNFLEtBQUssQ0FBVTtBQUVwRSxJQUFNRSxrQkFBa0IsR0FBQU4sT0FBQSxDQUFBTSxrQkFBQSxHQUFHO0VBQ2hDQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxNQUFNLEVBQUU7QUNMVixDRE1VO0FBRUgsSUFBTUMsbUJBQW1CLEdBQUFULE9BQUEsQ0FBQVMsbUJBQUEsR0FBRztFQUNqQ0MsSUFBSSxFQUFFLE1BQU07RUFDWkMsS0FBSyxFQUFFO0FDTlQsQ0RPVTtBQUVILElBQU1DLFdBQVcsR0FBQVosT0FBQSxDQUFBWSxXQUFBLEdBQUc7RUFDekJDLElBQUksRUFBRSxNQUFNO0VBQ1pDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxPQUFPLEVBQUUsU0FBUztFQUNsQkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLFlBQVksRUFBRSxlQUFlO0VBQzdCQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsWUFBWSxFQUFFLGNBQWM7RUFDNUJDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxNQUFNLEVBQUU7QUNQVixDRFFVO0FBRUgsSUFBTUMsZUFBZSxHQUFBMUIsT0FBQSxDQUFBMEIsZUFBQSxHQUFHO0VBQzdCQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsU0FBUyxFQUFFLFlBQVk7RUFDdkJDLFNBQVMsRUFBRSxZQUFZO0VBQ3ZCQyxLQUFLLEVBQUU7QUNSVCxDRFNVO0FBRUgsSUFBTUMscUJBQXFCLEdBQUFoQyxPQUFBLENBQUFnQyxxQkFBQSxPQUFBQyxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQy9CeEIsbUJBQW1CLENBQUNDLElBQUksRUFBRyxTQUFTLEdBQ3BDRCxtQkFBbUIsQ0FBQ0UsS0FBSyxFQUFHLGNBQWMsQ0FDNUM7QUFFTSxJQUFNdUIsb0JBQW9CLEdBQUFsQyxPQUFBLENBQUFrQyxvQkFBQSxPQUFBRCxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQzlCeEIsbUJBQW1CLENBQUNDLElBQUksRUFBRyxXQUFXLEdBQ3RDRCxtQkFBbUIsQ0FBQ0UsS0FBSyxFQUFHLE9BQU8sQ0FDckM7QUFFTSxJQUFNd0IsNEJBQTRCLEdBQUFuQyxPQUFBLENBQUFtQyw0QkFBQSxPQUFBRixnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBSXRDM0Isa0JBQWtCLENBQUNFLE1BQU0sRUFBRyxNQUFNLEdBQ2xDRixrQkFBa0IsQ0FBQ0MsRUFBRSxFQUFHLFNBQVMsQ0FDbkM7QUFFTSxJQUFNNkIsZUFBZSxHQUFBcEMsT0FBQSxDQUFBb0MsZUFBQSxHQUFHO0VBQzdCQyxjQUFjLEVBQUUsUUFBUTtFQUN4QkMsVUFBVSxFQUFFLE9BQWtEO0VBQzlEQyxjQUFjLEVBQUUsR0FBRztFQUNuQkMsZUFBZSxFQUFFLEVBQUU7RUFDbkJDLGdCQUFnQixFQUFFLEVBQUU7RUFDcEJDLE1BQU0sRUFBRSxTQUFTO0VBQ2pCQyxVQUFVLEVBQUUsUUFBUTtFQUNwQkMsY0FBYyxFQUFFLFFBQVE7RUFDeEJDLGFBQWEsRUFBRSxFQUFFO0VBQ2pCQyxTQUFTLEVBQUUsUUFBUTtFQUNuQkMsWUFBWSxFQUFFO0FDZmhCLENEZ0JVIiwiZmlsZSI6ImNvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiZXhwb3J0IGNvbnN0IERJQUxPR19OQU1FU1BBQ0UgPSAnb20tY29tcG9uZW50LXVpJztcbmV4cG9ydCBjb25zdCBESUFMT0dfREVGQVVMVF9QUkVGSVggPSAnZGlhbG9nJztcbmV4cG9ydCBjb25zdCBESUFMT0dfU0laRSA9IHtcbiAgICBzbWFsbDogJ3NtYWxsJyxcbiAgICBsYXJnZTogJ2xhcmdlJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX1NJWkVTID0gW0RJQUxPR19TSVpFLnNtYWxsLCBESUFMT0dfU0laRS5sYXJnZV07XG5leHBvcnQgY29uc3QgRElBTE9HX0FDVElPTl9LSU5EID0ge1xuICAgIG9rOiAnb2snLFxuICAgIGNhbmNlbDogJ2NhbmNlbCcsXG59O1xuZXhwb3J0IGNvbnN0IERJQUxPR19DT05UUk9MX1RZUEUgPSB7XG4gICAgYmFjazogJ2JhY2snLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfU0xPVCA9IHtcbiAgICByb290OiAncm9vdCcsXG4gICAgb3ZlcmxheTogJ292ZXJsYXknLFxuICAgIHdyYXBwZXI6ICd3cmFwcGVyJyxcbiAgICBjb250cm9sOiAnY29udHJvbCcsXG4gICAgYWN0aW9uQnV0dG9uOiAnYWN0aW9uLWJ1dHRvbicsXG4gICAgbWVkaWE6ICdtZWRpYScsXG4gICAgaW5uZXI6ICdpbm5lcicsXG4gICAgaGVhZGVyOiAnaGVhZGVyJyxcbiAgICBib2R5OiAnYm9keScsXG4gICAgaWxsdXN0cmF0aW9uOiAnaWxsdXN0cmF0aW9uJyxcbiAgICB0aXRsZTogJ3RpdGxlJyxcbiAgICBjb250ZW50OiAnY29udGVudCcsXG4gICAgZm9vdGVyOiAnZm9vdGVyJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX01PRElGSUVSID0ge1xuICAgIG9wZW46ICdvcGVuJyxcbiAgICBjbG9zZWQ6ICdjbG9zZWQnLFxuICAgIGZ1bGxXaWR0aDogJ2Z1bGwtd2lkdGgnLFxuICAgIHdpdGhNZWRpYTogJ3dpdGgtbWVkaWEnLFxuICAgIGZpeGVkOiAnZml4ZWQnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfQ09OVFJPTF9MQUJFTFMgPSB7XG4gICAgW0RJQUxPR19DT05UUk9MX1RZUEUuYmFja106ICdHbyBiYWNrJyxcbiAgICBbRElBTE9HX0NPTlRST0xfVFlQRS5jbG9zZV06ICdDbG9zZSBkaWFsb2cnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfREVGQVVMVF9JQ09OUyA9IHtcbiAgICBbRElBTE9HX0NPTlRST0xfVFlQRS5iYWNrXTogJ2Fycm93TGVmdCcsXG4gICAgW0RJQUxPR19DT05UUk9MX1RZUEUuY2xvc2VdOiAnY3Jvc3MnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfREVGQVVMVF9CVVRUT05fQ09MT1JTID0ge1xuICAgIFtESUFMT0dfQUNUSU9OX0tJTkQuY2FuY2VsXTogJ2dyZXknLFxuICAgIFtESUFMT0dfQUNUSU9OX0tJTkQub2tdOiAncHJpbWFyeScsXG59O1xuZXhwb3J0IGNvbnN0IERJQUxPR19ERUZBVUxUUyA9IHtcbiAgICBidXR0b25IdG1sVHlwZTogJ2J1dHRvbicsXG4gICAgYnV0dG9uU2l6ZTogJ2xhcmdlJyxcbiAgICBjbG9zZVRpbWVvdXRNczogMjAwLFxuICAgIGNvbnRyb2xJY29uU2l6ZTogMjQsXG4gICAgaWxsdXN0cmF0aW9uU2l6ZTogNzQsXG4gICAgb2tUZXh0OiAnQ29uZmlybScsXG4gICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXG4gICAgb3ZlcmZsb3dIaWRkZW46ICdoaWRkZW4nLFxuICAgIG92ZXJmbG93UmVzZXQ6ICcnLFxuICAgIGVzY2FwZUtleTogJ0VzY2FwZScsXG4gICAga2V5ZG93bkV2ZW50OiAna2V5ZG93bicsXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
59
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy50cyIsImNvbXBvbmVudHMvRGlhbG9nL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJESUFMT0dfTkFNRVNQQUNFIiwiZXhwb3J0cyIsIkRJQUxPR19ERUZBVUxUX1BSRUZJWCIsIkRJQUxPR19TSVpFIiwic21hbGwiLCJsYXJnZSIsIkRJQUxPR19TSVpFUyIsIkRJQUxPR19BQ1RJT05fS0lORCIsIm9rIiwiY2FuY2VsIiwiRElBTE9HX0NPTlRST0xfVFlQRSIsImJhY2siLCJjbG9zZSIsIkRJQUxPR19TTE9UIiwicm9vdCIsIm92ZXJsYXkiLCJ3cmFwcGVyIiwiY29udHJvbCIsImFjdGlvbkJ1dHRvbiIsIm1lZGlhIiwiaW5uZXIiLCJoZWFkZXIiLCJib2R5IiwiaWxsdXN0cmF0aW9uIiwidGl0bGUiLCJjb250ZW50IiwiZm9vdGVyIiwiRElBTE9HX01PRElGSUVSIiwiZnVsbFdpZHRoIiwid2l0aE1lZGlhIiwiZml4ZWQiLCJESUFMT0dfQ09OVFJPTF9MQUJFTFMiLCJfZGVmaW5lUHJvcGVydHkyIiwiRElBTE9HX0RFRkFVTFRfSUNPTlMiLCJESUFMT0dfREVGQVVMVF9CVVRUT05fQ09MT1JTIiwiRElBTE9HX0RFRkFVTFRTIiwiYnV0dG9uSHRtbFR5cGUiLCJidXR0b25TaXplIiwiY29udHJvbEljb25TaXplIiwiaWxsdXN0cmF0aW9uU2l6ZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvdmVyZmxvd0hpZGRlbiIsIm92ZXJmbG93UmVzZXQiLCJlc2NhcGVLZXkiLCJrZXlkb3duRXZlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR08sSUFBTUEsZ0JBQWdCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRyxpQkFBaUI7QUFDMUMsSUFBTUUscUJBQXFCLEdBQUFELE9BQUEsQ0FBQUMscUJBQUEsR0FBRyxRQUFRO0FBRXRDLElBQU1DLFdBQVcsR0FBQUYsT0FBQSxDQUFBRSxXQUFBLEdBQUc7RUFDekJDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLEtBQUssRUFBRTtBQ0hULENESVU7QUFFSCxJQUFNQyxZQUFZLEdBQUFMLE9BQUEsQ0FBQUssWUFBQSxHQUFHLENBQUNILFdBQVcsQ0FBQ0MsS0FBSyxFQUFFRCxXQUFXLENBQUNFLEtBQUssQ0FBVTtBQUVwRSxJQUFNRSxrQkFBa0IsR0FBQU4sT0FBQSxDQUFBTSxrQkFBQSxHQUFHO0VBQ2hDQyxFQUFFLEVBQUUsSUFBSTtFQUNSQyxNQUFNLEVBQUU7QUNMVixDRE1VO0FBRUgsSUFBTUMsbUJBQW1CLEdBQUFULE9BQUEsQ0FBQVMsbUJBQUEsR0FBRztFQUNqQ0MsSUFBSSxFQUFFLE1BQU07RUFDWkMsS0FBSyxFQUFFO0FDTlQsQ0RPVTtBQUVILElBQU1DLFdBQVcsR0FBQVosT0FBQSxDQUFBWSxXQUFBLEdBQUc7RUFDekJDLElBQUksRUFBRSxNQUFNO0VBQ1pDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxPQUFPLEVBQUUsU0FBUztFQUNsQkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLFlBQVksRUFBRSxlQUFlO0VBQzdCQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsWUFBWSxFQUFFLGNBQWM7RUFDNUJDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxNQUFNLEVBQUU7QUNQVixDRFFVO0FBRUgsSUFBTUMsZUFBZSxHQUFBMUIsT0FBQSxDQUFBMEIsZUFBQSxHQUFHO0VBQzdCQyxTQUFTLEVBQUUsWUFBWTtFQUN2QkMsU0FBUyxFQUFFLFlBQVk7RUFDdkJDLEtBQUssRUFBRTtBQ1JULENEU1U7QUFFSCxJQUFNQyxxQkFBcUIsR0FBQTlCLE9BQUEsQ0FBQThCLHFCQUFBLE9BQUFDLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFDL0J0QixtQkFBbUIsQ0FBQ0MsSUFBSSxFQUFHLFNBQVMsR0FDcENELG1CQUFtQixDQUFDRSxLQUFLLEVBQUcsY0FBYyxDQUM1QztBQUVNLElBQU1xQixvQkFBb0IsR0FBQWhDLE9BQUEsQ0FBQWdDLG9CQUFBLE9BQUFELGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFDOUJ0QixtQkFBbUIsQ0FBQ0MsSUFBSSxFQUFHLFdBQVcsR0FDdENELG1CQUFtQixDQUFDRSxLQUFLLEVBQUcsT0FBTyxDQUNyQztBQUVNLElBQU1zQiw0QkFBNEIsR0FBQWpDLE9BQUEsQ0FBQWlDLDRCQUFBLE9BQUFGLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFJdEN6QixrQkFBa0IsQ0FBQ0UsTUFBTSxFQUFHLE1BQU0sR0FDbENGLGtCQUFrQixDQUFDQyxFQUFFLEVBQUcsU0FBUyxDQUNuQztBQUVNLElBQU0yQixlQUFlLEdBQUFsQyxPQUFBLENBQUFrQyxlQUFBLEdBQUc7RUFDN0JDLGNBQWMsRUFBRSxRQUFRO0VBQ3hCQyxVQUFVLEVBQUUsT0FBa0Q7RUFDOURDLGVBQWUsRUFBRSxFQUFFO0VBQ25CQyxnQkFBZ0IsRUFBRSxFQUFFO0VBQ3BCQyxNQUFNLEVBQUUsU0FBUztFQUNqQkMsVUFBVSxFQUFFLFFBQVE7RUFDcEJDLGNBQWMsRUFBRSxRQUFRO0VBQ3hCQyxhQUFhLEVBQUUsRUFBRTtFQUNqQkMsU0FBUyxFQUFFLFFBQVE7RUFDbkJDLFlBQVksRUFBRTtBQ2ZoQixDRGdCVSIsImZpbGUiOiJjb21wb25lbnRzL0RpYWxvZy9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBjb25zdCBESUFMT0dfTkFNRVNQQUNFID0gJ29tLWNvbXBvbmVudC11aSc7XG5leHBvcnQgY29uc3QgRElBTE9HX0RFRkFVTFRfUFJFRklYID0gJ2RpYWxvZyc7XG5leHBvcnQgY29uc3QgRElBTE9HX1NJWkUgPSB7XG4gICAgc21hbGw6ICdzbWFsbCcsXG4gICAgbGFyZ2U6ICdsYXJnZScsXG59O1xuZXhwb3J0IGNvbnN0IERJQUxPR19TSVpFUyA9IFtESUFMT0dfU0laRS5zbWFsbCwgRElBTE9HX1NJWkUubGFyZ2VdO1xuZXhwb3J0IGNvbnN0IERJQUxPR19BQ1RJT05fS0lORCA9IHtcbiAgICBvazogJ29rJyxcbiAgICBjYW5jZWw6ICdjYW5jZWwnLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfQ09OVFJPTF9UWVBFID0ge1xuICAgIGJhY2s6ICdiYWNrJyxcbiAgICBjbG9zZTogJ2Nsb3NlJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX1NMT1QgPSB7XG4gICAgcm9vdDogJ3Jvb3QnLFxuICAgIG92ZXJsYXk6ICdvdmVybGF5JyxcbiAgICB3cmFwcGVyOiAnd3JhcHBlcicsXG4gICAgY29udHJvbDogJ2NvbnRyb2wnLFxuICAgIGFjdGlvbkJ1dHRvbjogJ2FjdGlvbi1idXR0b24nLFxuICAgIG1lZGlhOiAnbWVkaWEnLFxuICAgIGlubmVyOiAnaW5uZXInLFxuICAgIGhlYWRlcjogJ2hlYWRlcicsXG4gICAgYm9keTogJ2JvZHknLFxuICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzdHJhdGlvbicsXG4gICAgdGl0bGU6ICd0aXRsZScsXG4gICAgY29udGVudDogJ2NvbnRlbnQnLFxuICAgIGZvb3RlcjogJ2Zvb3RlcicsXG59O1xuZXhwb3J0IGNvbnN0IERJQUxPR19NT0RJRklFUiA9IHtcbiAgICBmdWxsV2lkdGg6ICdmdWxsLXdpZHRoJyxcbiAgICB3aXRoTWVkaWE6ICd3aXRoLW1lZGlhJyxcbiAgICBmaXhlZDogJ2ZpeGVkJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX0NPTlRST0xfTEFCRUxTID0ge1xuICAgIFtESUFMT0dfQ09OVFJPTF9UWVBFLmJhY2tdOiAnR28gYmFjaycsXG4gICAgW0RJQUxPR19DT05UUk9MX1RZUEUuY2xvc2VdOiAnQ2xvc2UgZGlhbG9nJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX0RFRkFVTFRfSUNPTlMgPSB7XG4gICAgW0RJQUxPR19DT05UUk9MX1RZUEUuYmFja106ICdhcnJvd0xlZnQnLFxuICAgIFtESUFMT0dfQ09OVFJPTF9UWVBFLmNsb3NlXTogJ2Nyb3NzJyxcbn07XG5leHBvcnQgY29uc3QgRElBTE9HX0RFRkFVTFRfQlVUVE9OX0NPTE9SUyA9IHtcbiAgICBbRElBTE9HX0FDVElPTl9LSU5ELmNhbmNlbF06ICdncmV5JyxcbiAgICBbRElBTE9HX0FDVElPTl9LSU5ELm9rXTogJ3ByaW1hcnknLFxufTtcbmV4cG9ydCBjb25zdCBESUFMT0dfREVGQVVMVFMgPSB7XG4gICAgYnV0dG9uSHRtbFR5cGU6ICdidXR0b24nLFxuICAgIGJ1dHRvblNpemU6ICdsYXJnZScsXG4gICAgY29udHJvbEljb25TaXplOiAyNCxcbiAgICBpbGx1c3RyYXRpb25TaXplOiA3NCxcbiAgICBva1RleHQ6ICdDb25maXJtJyxcbiAgICBjYW5jZWxUZXh0OiAnQ2FuY2VsJyxcbiAgICBvdmVyZmxvd0hpZGRlbjogJ2hpZGRlbicsXG4gICAgb3ZlcmZsb3dSZXNldDogJycsXG4gICAgZXNjYXBlS2V5OiAnRXNjYXBlJyxcbiAgICBrZXlkb3duRXZlbnQ6ICdrZXlkb3duJyxcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -30,8 +30,6 @@
30
30
  position: absolute;
31
31
  inset: 0;
32
32
  background-color: var(--om-bg-scrim-dark, rgba(0, 0, 0, 0.2));
33
- opacity: 0;
34
- transition: opacity 200ms ease;
35
33
  }
36
34
 
37
35
  .om-component-ui-dialog-wrapper {
@@ -59,9 +57,6 @@
59
57
  border-radius: var(--om-radius-600, 24px);
60
58
  outline: none;
61
59
  box-shadow: var(--om-shadow-200, 0 10px 22px rgba(0, 0, 0, 0.1));
62
- transform: translateY(var(--om-spacing-400, 16px));
63
- opacity: 0;
64
- transition: opacity 200ms ease, transform 200ms ease;
65
60
  pointer-events: auto;
66
61
  }
67
62
  .om-component-ui-dialog-small {
@@ -200,22 +195,6 @@
200
195
  flex: 1 1 0;
201
196
  }
202
197
 
203
- .om-component-ui-dialog-root-open .om-component-ui-dialog-overlay {
204
- opacity: 1;
205
- }
206
- .om-component-ui-dialog-root-open .om-component-ui-dialog {
207
- transform: translateY(0);
208
- opacity: 1;
209
- }
210
-
211
- .om-component-ui-dialog-root-closed .om-component-ui-dialog-overlay {
212
- opacity: 0;
213
- }
214
- .om-component-ui-dialog-root-closed .om-component-ui-dialog {
215
- transform: translateY(var(--om-spacing-400, 16px));
216
- opacity: 0;
217
- }
218
-
219
198
  @media (max-width: 767.98px) {
220
199
  .om-component-ui-dialog-wrapper {
221
200
  align-items: flex-end;