@1money/react-ui 1.3.8-alpha.6 → 1.3.8-alpha.9

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.
@@ -54,11 +54,11 @@ var CustomDropdown = function CustomDropdown(props) {
54
54
  success = props.success,
55
55
  invalid = props.invalid,
56
56
  disabled = props.disabled,
57
- placeholder = props.placeholder,
57
+ editable = props.editable,
58
+ _props$placeholder = props.placeholder,
59
+ placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,
58
60
  _props$className = props.className,
59
61
  className = _props$className === void 0 ? '' : _props$className,
60
- _props$iconName = props.iconName,
61
- iconName = _props$iconName === void 0 ? 'chevronDown' : _props$iconName,
62
62
  selectedTemplate = props.selectedTemplate,
63
63
  tailTemplate = props.tailTemplate,
64
64
  _onClick = props.onClick,
@@ -68,13 +68,17 @@ var CustomDropdown = function CustomDropdown(props) {
68
68
  var isClickInside = useRef(false);
69
69
  var dataIdRef = useRef(dataId);
70
70
  var lastFocusRef = useRef(false);
71
- var _useState = useState(false),
71
+ var _useState = useState(''),
72
72
  _useState2 = _slicedToArray(_useState, 2),
73
- isFocus = _useState2[0],
74
- setIsFocus = _useState2[1];
73
+ value = _useState2[0],
74
+ setValue = _useState2[1];
75
+ var _useState3 = useState(false),
76
+ _useState4 = _slicedToArray(_useState3, 2),
77
+ isFocus = _useState4[0],
78
+ setIsFocus = _useState4[1];
75
79
  var selectCls = useMemo(function () {
76
- return classes(void 0, [classes(size), classes('custom'), isFocus ? classes('focus') : '', success ? classes('success') : '', invalid ? classes('invalid') : '', disabled ? classes('disabled') : '', className].join(' '));
77
- }, [size, isFocus, success, invalid, disabled, className]);
80
+ return classes(void 0, [classes(size), classes('custom'), isFocus ? classes('focus') : '', success ? classes('success') : '', invalid ? classes('invalid') : '', disabled ? classes('disabled') : '', editable ? classes('editable') : '', className].join(' '));
81
+ }, [size, isFocus, success, invalid, disabled, editable, className]);
78
82
  useImperativeHandle(ref, function () {
79
83
  return {
80
84
  focus: function focus() {
@@ -136,21 +140,36 @@ var CustomDropdown = function CustomDropdown(props) {
136
140
  disabled: disabled,
137
141
  children: _jsxs("div", {
138
142
  className: selectCls,
143
+ contentEditable: editable,
144
+ autoFocus: editable,
145
+ "data-placeholder": placeholder,
146
+ "data-value": value,
139
147
  onClick: function onClick(e) {
140
- isClickInside.current = true;
141
- setIsFocus(function (prev) {
142
- return !prev;
143
- });
148
+ if (disabled) return;
149
+ if (!editable) {
150
+ isClickInside.current = true;
151
+ setIsFocus(function (prev) {
152
+ return !prev;
153
+ });
154
+ }
144
155
  _onClick === null || _onClick === void 0 ? void 0 : _onClick(e);
145
156
  },
146
- children: [typeof selectedTemplate === 'function' ? selectedTemplate(isFocus) : _jsx("span", {
157
+ onInput: function onInput(e) {
158
+ var val = e.currentTarget.innerText;
159
+ if (val === '\n') {
160
+ val = '';
161
+ e.currentTarget.innerText = '';
162
+ }
163
+ setValue(val);
164
+ },
165
+ children: [editable ? null : typeof selectedTemplate === 'function' ? selectedTemplate(isFocus) : _jsx("span", {
147
166
  className: classes('custom-placeholder'),
148
167
  children: placeholder
149
- }), typeof tailTemplate === 'function' ? tailTemplate(isFocus) : _jsx(Icons, {
150
- name: iconName,
168
+ }), editable ? null : typeof tailTemplate === 'function' ? tailTemplate(isFocus) : _jsx(Icons, {
169
+ name: 'chevronDown',
151
170
  color: '#131313',
152
171
  size: 20,
153
- wrapperCls: classes('custom-tail', isFocus && iconName === 'chevronDown' ? classes('custom-tail-focus') : '')
172
+ wrapperCls: classes('custom-tail', isFocus ? classes('custom-tail-focus') : '')
154
173
  })]
155
174
  })
156
175
  });
@@ -187,14 +206,14 @@ export var Select = function Select(props) {
187
206
  unselectable = props.unselectable,
188
207
  rest = __rest(props, ["ref", "label", "message", "required", "prefixCls", "wrapperCls", "labelCls", "messageCls", "value", "size", "success", "invalid", "disabled", "placeholder", "className", "multiple", "options", "name", "panelClassName", "defaultValue", "itemTemplate", "onChange", "onHide", "onShow", "unselectable"]);
189
208
  var classes = classnames(prefixCls);
190
- var _useState3 = useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
191
- _useState4 = _slicedToArray(_useState3, 2),
192
- selected = _useState4[0],
193
- setSelected = _useState4[1];
194
- var _useState5 = useState(false),
209
+ var _useState5 = useState((_a = value !== null && value !== void 0 ? value : defaultValue) !== null && _a !== void 0 ? _a : null),
195
210
  _useState6 = _slicedToArray(_useState5, 2),
196
- isOpen = _useState6[0],
197
- setIsOpen = _useState6[1];
211
+ selected = _useState6[0],
212
+ setSelected = _useState6[1];
213
+ var _useState7 = useState(false),
214
+ _useState8 = _slicedToArray(_useState7, 2),
215
+ isOpen = _useState8[0],
216
+ setIsOpen = _useState8[1];
198
217
  var selectRef = useRef(null);
199
218
  var _ref = useRef(null);
200
219
  var selectCls = useMemo(function () {
@@ -346,4 +365,4 @@ export var Select = function Select(props) {
346
365
  };
347
366
  Select.CustomDropdown = CustomDropdown;
348
367
  export default /*#__PURE__*/memo(Select);
349
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJEcm9wZG93biIsIk11bHRpU2VsZWN0IiwiY2xhc3NuYW1lcyIsIkljb25zIiwiU2VsZWN0V3JhcHBlciIsInByb3BzIiwibGFiZWwiLCJtZXNzYWdlIiwicmVxdWlyZWQiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xzIiwibGFiZWxDbHMiLCJtZXNzYWdlQ2xzIiwic3VjY2VzcyIsImludmFsaWQiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImpvaW4iLCJDdXN0b21Ecm9wZG93biIsInJlZiIsImRhdGFJZCIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRjbGFzc05hbWUiLCJfcHJvcHMkaWNvbk5hbWUiLCJpY29uTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJvbkNsaWNrIiwib25Gb2N1cyIsIm9uQmx1ciIsImlzQ2xpY2tJbnNpZGUiLCJkYXRhSWRSZWYiLCJsYXN0Rm9jdXNSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsImZvY3VzIiwiYmx1ciIsImN1cnJlbnQiLCJmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQiLCJ0YXJnZXQiLCJfYSIsImRhdGFzZXQiLCJzZWxlY3RDdXN0b21Ecm9wZG93bklkIiwiZG9jdW1lbnQiLCJib2R5IiwicGFyZW50IiwicGFyZW50Tm9kZSIsInBhcmVudEVsZW1lbnQiLCJyZW1vdmVGb2N1cyIsInByZXYiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm5hbWUiLCJjb2xvciIsIlNlbGVjdCIsIl9wcm9wcyRwcmVmaXhDbHMyIiwidmFsdWUiLCJfcHJvcHMkc2l6ZTIiLCJfcHJvcHMkY2xhc3NOYW1lMiIsIm11bHRpcGxlIiwib3B0aW9ucyIsInBhbmVsQ2xhc3NOYW1lIiwiZGVmYXVsdFZhbHVlIiwiaXRlbVRlbXBsYXRlIiwib25DaGFuZ2UiLCJvbkhpZGUiLCJvblNob3ciLCJ1bnNlbGVjdGFibGUiLCJyZXN0IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJzZWxlY3RSZWYiLCJfcmVmIiwiQXJyYXkiLCJpc0FycmF5IiwiU2VsZWN0Q29tcG9uZW50IiwiYXNzaWduIiwic2hvd1NlbGVjdEFsbCIsImNoZWNrYm94SWNvbiIsInJlbW92ZUljb24iLCJfcHJvcHMkaWNvblByb3BzIiwiaWNvblByb3BzIiwib25LZXlEb3duIiwidGFiSW5kZXgiLCJwYW5lbEhlYWRlclRlbXBsYXRlIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJmaWx0ZXJFbGVtZW50Iiwib25DbG9zZUNsaWNrIiwic2VsZWN0ZWROdW0iLCJtZXRhRGF0YSIsInJlc2V0RmlsdGVyIiwiY29sbGFwc2VJY29uIiwidW5kZWZpbmVkIiwiZmlsdGVyUGxhY2Vob2xkZXIiLCJvcHRpb24iLCJjbGVhciIsImZpbHRlckljb24iLCJkcm9wZG93bkljb24iXSwi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c291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVJlZiwgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2guaXNlcXVhbCc7XG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lcmVhY3QvZHJvcGRvd24nO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3QgfSBmcm9tICdwcmltZXJlYWN0L211bHRpc2VsZWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5jb25zdCBTZWxlY3RXcmFwcGVyID0gbWVtbyhwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscywgd3JhcHBlckNscywgbGFiZWxDbHMsIG1lc3NhZ2VDbHMsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBjaGlsZHJlbiwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCd3cmFwcGVyJywgd3JhcHBlckNscyksIGNoaWxkcmVuOiBbbGFiZWwgJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJywgW3JlcXVpcmVkICYmIGNsYXNzZXMoJ2xhYmVsLXJlcXVpcmVkJyksIGxhYmVsQ2xzXS5qb2luKCcgJykpLCBjaGlsZHJlbjogbGFiZWwgfSksIGNoaWxkcmVuLCBtZXNzYWdlICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdtZXNzYWdlJywgW1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID8gY2xhc3NlcygnbWVzc2FnZS1zdWNjZXNzJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ21lc3NhZ2UtZXJyb3InKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlQ2xzXG4gICAgICAgICAgICAgICAgXS5qb2luKCcgJykpLCBjaGlsZHJlbjogbWVzc2FnZSB9KV0gfSk7XG59KTtcbmNvbnN0IEN1c3RvbURyb3Bkb3duID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgcmVmLCBkYXRhSWQsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzaXplID0gJ2xhcmdlJywgc3VjY2VzcywgaW52YWxpZCwgZGlzYWJsZWQsIHBsYWNlaG9sZGVyLCBjbGFzc05hbWUgPSAnJywgaWNvbk5hbWUgPSAnY2hldnJvbkRvd24nLCBzZWxlY3RlZFRlbXBsYXRlLCB0YWlsVGVtcGxhdGUsIG9uQ2xpY2ssIG9uRm9jdXMsIG9uQmx1ciwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgZGF0YUlkUmVmID0gdXNlUmVmKGRhdGFJZCk7XG4gICAgY29uc3QgbGFzdEZvY3VzUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBbaXNGb2N1cywgc2V0SXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBjbGFzc2VzKCdjdXN0b20nKSxcbiAgICAgICAgaXNGb2N1cyA/IGNsYXNzZXMoJ2ZvY3VzJykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc0ZvY3VzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2xhc3NOYW1lXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGZvY3VzOiAoKSA9PiBzZXRJc0ZvY3VzKHRydWUpLFxuICAgICAgICBibHVyOiAoKSA9PiBzZXRJc0ZvY3VzKGZhbHNlKSxcbiAgICB9KSwgW3JlZl0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGRhdGFJZFJlZi5jdXJyZW50ID0gZGF0YUlkO1xuICAgIH0sIFtkYXRhSWRdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoaXNGb2N1cyAhPT0gbGFzdEZvY3VzUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGxhc3RGb2N1c1JlZi5jdXJyZW50ID0gaXNGb2N1cztcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzKSB7XG4gICAgICAgICAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtpc0ZvY3VzLCBvbkZvY3VzLCBvbkJsdXJdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQgPSAodGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIWRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGlmICgoKF9hID0gdGFyZ2V0ID09PSBudWxsIHx8IHRhcmdldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdGFyZ2V0LmRhdGFzZXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZWxlY3RDdXN0b21Ecm9wZG93bklkKSA9PT0gZGF0YUlkUmVmLmN1cnJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5IHx8IHRhcmdldCA9PT0gZG9jdW1lbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGFyZ2V0LnBhcmVudE5vZGUgfHwgdGFyZ2V0LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIXBhcmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKHBhcmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlbW92ZUZvY3VzID0gKGUpID0+IHtcbiAgICAgICAgICAgIGlmIChpc0NsaWNrSW5zaWRlLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBpc0NsaWNrSW5zaWRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcHJldilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIHJldHVybiBmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQoZS50YXJnZXQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZW1vdmVGb2N1cyk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBfanN4KFNlbGVjdFdyYXBwZXIsIHsgbGFiZWw6IGxhYmVsLCBtZXNzYWdlOiBtZXNzYWdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHByZWZpeENsczogcHJlZml4Q2xzLCB3cmFwcGVyQ2xzOiB3cmFwcGVyQ2xzLCBsYWJlbENsczogbGFiZWxDbHMsIG1lc3NhZ2VDbHM6IG1lc3NhZ2VDbHMsIHN1Y2Nlc3M6IHN1Y2Nlc3MsIGludmFsaWQ6IGludmFsaWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBzZWxlY3RDbHMsIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKHByZXYgPT4gIXByZXYpO1xuICAgICAgICAgICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbdHlwZW9mIHNlbGVjdGVkVGVtcGxhdGUgPT09ICdmdW5jdGlvbicgPyBzZWxlY3RlZFRlbXBsYXRlKGlzRm9jdXMpIDogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1c3RvbS1wbGFjZWhvbGRlcicpLCBjaGlsZHJlbjogcGxhY2Vob2xkZXIgfSksIHR5cGVvZiB0YWlsVGVtcGxhdGUgPT09ICdmdW5jdGlvbicgPyB0YWlsVGVtcGxhdGUoaXNGb2N1cykgOiBfanN4KEljb25zLCB7IG5hbWU6IGljb25OYW1lLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCwgd3JhcHBlckNsczogY2xhc3NlcygnY3VzdG9tLXRhaWwnLCBpc0ZvY3VzICYmIGljb25OYW1lID09PSAnY2hldnJvbkRvd24nID8gY2xhc3NlcygnY3VzdG9tLXRhaWwtZm9jdXMnKSA6ICcnKSB9KV0gfSkgfSk7XG59O1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IHByb3BzID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyByZWYsIGxhYmVsLCBtZXNzYWdlLCByZXF1aXJlZCwgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCB2YWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBwbGFjZWhvbGRlciwgY2xhc3NOYW1lID0gJycsIG11bHRpcGxlLCBvcHRpb25zLCBuYW1lLCBwYW5lbENsYXNzTmFtZSwgZGVmYXVsdFZhbHVlLCBpdGVtVGVtcGxhdGUsIG9uQ2hhbmdlLCBvbkhpZGUsIG9uU2hvdywgdW5zZWxlY3RhYmxlIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wicmVmXCIsIFwibGFiZWxcIiwgXCJtZXNzYWdlXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhDbHNcIiwgXCJ3cmFwcGVyQ2xzXCIsIFwibGFiZWxDbHNcIiwgXCJtZXNzYWdlQ2xzXCIsIFwidmFsdWVcIiwgXCJzaXplXCIsIFwic3VjY2Vzc1wiLCBcImludmFsaWRcIiwgXCJkaXNhYmxlZFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiY2xhc3NOYW1lXCIsIFwibXVsdGlwbGVcIiwgXCJvcHRpb25zXCIsIFwibmFtZVwiLCBcInBhbmVsQ2xhc3NOYW1lXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwiaXRlbVRlbXBsYXRlXCIsIFwib25DaGFuZ2VcIiwgXCJvbkhpZGVcIiwgXCJvblNob3dcIiwgXCJ1bnNlbGVjdGFibGVcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VTdGF0ZSgoX2EgPSB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwID8gdmFsdWUgOiBkZWZhdWx0VmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwpO1xuICAgIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3Qgc2VsZWN0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IF9yZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VsZWN0Q2xzID0gdXNlTWVtbygoKSA9PiBjbGFzc2VzKHZvaWQgMCwgW1xuICAgICAgICBjbGFzc2VzKHNpemUpLFxuICAgICAgICBpc09wZW4gPyBjbGFzc2VzKCdzaG93JykgOiAnJyxcbiAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ3N1Y2Nlc3MnKSA6ICcnLFxuICAgICAgICBpbnZhbGlkID8gY2xhc3NlcygnaW52YWxpZCcpIDogJycsXG4gICAgICAgIGRpc2FibGVkID8gY2xhc3NlcygnZGlzYWJsZWQnKSA6ICcnLFxuICAgICAgICAoQXJyYXkuaXNBcnJheShzZWxlY3RlZCkgPyBzZWxlY3RlZC5sZW5ndGggOiBzZWxlY3RlZCkgPyBjbGFzc2VzKCdmaWxsZWQnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc09wZW4sIHN1Y2Nlc3MsIHNlbGVjdGVkLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2xhc3NOYW1lXSk7XG4gICAgY29uc3QgU2VsZWN0Q29tcG9uZW50ID0gdXNlQ2FsbGJhY2soKHByb3BzKSA9PiBtdWx0aXBsZVxuICAgICAgICA/IF9qc3goTXVsdGlTZWxlY3QsIE9iamVjdC5hc3NpZ24oeyB1bnNlbGVjdGFibGU6IHVuc2VsZWN0YWJsZSwgc2hvd1NlbGVjdEFsbDogZmFsc2UsIGNoZWNrYm94SWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxMiwgY29sb3I6ICcjRkVGRUZFJyB9KSwgcmVtb3ZlSWNvbjogcHJvcHMgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb25DbGljaywgb25LZXlEb3duLCB0YWJJbmRleCB9ID0gcHJvcHMuaWNvblByb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyMxMzEzMTMnLCB0YWJJbmRleDogdGFiSW5kZXgsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ3Rva2VuLXJlbW92ZS1pY29uJyksIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogb25LZXlEb3duIH0pO1xuICAgICAgICAgICAgfSwgcGFuZWxIZWFkZXJUZW1wbGF0ZTogb3B0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGZpbHRlckVsZW1lbnQsIG9uQ2hhbmdlLCBvbkNsb3NlQ2xpY2ssIHByb3BzIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE51bSA9IChfZCA9IChfYyA9IChfYiA9IChfYSA9IHByb3BzID09PSBudWxsIHx8IHByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcm9wcy5tZXRhRGF0YSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnByb3BzKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IudmFsdWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8nKSwgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNvdW50JyksIGNoaWxkcmVuOiBbc2VsZWN0ZWROdW0sIFwiIHNlbGVjdGVkXCJdIH0pLCBfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvLWNsZWFyJyksIG9uQ2xpY2s6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5yZXNldEZpbHRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdjbG9zZScsIHNpemU6IDE2LCBjb2xvcjogJyNBRTAwMDAnLCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhci1pY29uJykgfSksIFwiQ2xlYXIgYWxsXCJdIH0pXSB9KSwgKF9lID0gZmlsdGVyRWxlbWVudCA9PT0gbnVsbCB8fCBmaWx0ZXJFbGVtZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWx0ZXJFbGVtZW50LnByb3BzKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UuY2hpbGRyZW5dIH0pO1xuICAgICAgICAgICAgfSB9LCBwcm9wcykpXG4gICAgICAgIDogX2pzeChEcm9wZG93biwgT2JqZWN0LmFzc2lnbih7IGNvbGxhcHNlSWNvbjogbXVsdGlwbGUgPyB2b2lkIDAgOiAoKSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uVXAnLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9LCBwcm9wcykpLCBbbXVsdGlwbGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhaXNFcXVhbChzZWxlY3RlZCwgdmFsdWUpKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWVdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHZvaWQgMCA/IHJlZiA6IF9yZWYsICgpID0+IHNlbGVjdFJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0V3JhcHBlciwgeyBsYWJlbDogbGFiZWwsIG1lc3NhZ2U6IG1lc3NhZ2UsIHJlcXVpcmVkOiByZXF1aXJlZCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIHdyYXBwZXJDbHM6IHdyYXBwZXJDbHMsIGxhYmVsQ2xzOiBsYWJlbENscywgbWVzc2FnZUNsczogbWVzc2FnZUNscywgc3VjY2Vzczogc3VjY2VzcywgaW52YWxpZDogaW52YWxpZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBjaGlsZHJlbjogX2pzeChTZWxlY3RDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBzZWxlY3RSZWYsIG5hbWU6IG5hbWUsIGZpbHRlclBsYWNlaG9sZGVyOiAnU2VhcmNoJywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGludmFsaWQ6IGludmFsaWQsIG9wdGlvbnM6IG9wdGlvbnMsIHZhbHVlOiBzZWxlY3RlZCA9PSBudWxsID8gdW5kZWZpbmVkIDogc2VsZWN0ZWQsIGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBpdGVtVGVtcGxhdGU6IChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWl0ZW0nKSwgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtdWx0aXBsZSAmJiB1bnNlbGVjdGFibGUgPT09ICdvbicgJiYgb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IHNlbGVjdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBpdGVtVGVtcGxhdGUgPyBpdGVtVGVtcGxhdGUob3B0aW9uKSA6IG9wdGlvbi5sYWJlbCB9KSwgX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiAxNiwgY29sb3I6ICcjMDczMzg3JyB9KV0gfSk7XG4gICAgICAgICAgICB9LCBmaWx0ZXJJY29uOiBfanN4KEljb25zLCB7IG5hbWU6ICdzZWFyY2gnLCBzaXplOiAyMCwgY29sb3I6ICcjMTMxMzEzJywgd3JhcHBlckNsczogY2xhc3NlcygnZmlsdGVyLWljb24nKSB9KSwgcGFuZWxDbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJywgcGFuZWxDbGFzc05hbWUpLCBvbkNoYW5nZTogKGUpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZChlLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgICAgICAgICAgfSwgb25IaWRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBvbkhpZGUgPT09IG51bGwgfHwgb25IaWRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkhpZGUoKTtcbiAgICAgICAgICAgIH0sIG9uU2hvdzogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzT3Blbih0cnVlKTtcbiAgICAgICAgICAgICAgICBvblNob3cgPT09IG51bGwgfHwgb25TaG93ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNob3coKTtcbiAgICAgICAgICAgIH0sIGRyb3Bkb3duSWNvbjogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvbkRvd24nLCBjb2xvcjogJyMxMzEzMTMnLCBzaXplOiAyMCB9KSB9KSkgfSkpO1xufTtcblNlbGVjdC5DdXN0b21Ecm9wZG93biA9IEN1c3RvbURyb3Bkb3duO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
368
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZUNhbGxiYWNrIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImlzRXF1YWwiLCJEcm9wZG93biIsIk11bHRpU2VsZWN0IiwiY2xhc3NuYW1lcyIsIkljb25zIiwiU2VsZWN0V3JhcHBlciIsInByb3BzIiwibGFiZWwiLCJtZXNzYWdlIiwicmVxdWlyZWQiLCJwcmVmaXhDbHMiLCJ3cmFwcGVyQ2xzIiwibGFiZWxDbHMiLCJtZXNzYWdlQ2xzIiwic3VjY2VzcyIsImludmFsaWQiLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImpvaW4iLCJDdXN0b21Ecm9wZG93biIsInJlZiIsImRhdGFJZCIsIl9wcm9wcyRwcmVmaXhDbHMiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJlZGl0YWJsZSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJGNsYXNzTmFtZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJ0YWlsVGVtcGxhdGUiLCJvbkNsaWNrIiwib25Gb2N1cyIsIm9uQmx1ciIsImlzQ2xpY2tJbnNpZGUiLCJkYXRhSWRSZWYiLCJsYXN0Rm9jdXNSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0ZvY3VzIiwic2V0SXNGb2N1cyIsInNlbGVjdENscyIsImZvY3VzIiwiYmx1ciIsImN1cnJlbnQiLCJmaW5kQ3VzdG9tRHJvcGRvd25EYXRhSWQiLCJ0YXJnZXQiLCJfYSIsImRhdGFzZXQiLCJzZWxlY3RDdXN0b21Ecm9wZG93bklkIiwiZG9jdW1lbnQiLCJib2R5IiwicGFyZW50IiwicGFyZW50Tm9kZSIsInBhcmVudEVsZW1lbnQiLCJyZW1vdmVGb2N1cyIsInByZXYiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNvbnRlbnRFZGl0YWJsZSIsImF1dG9Gb2N1cyIsIm9uSW5wdXQiLCJ2YWwiLCJjdXJyZW50VGFyZ2V0IiwiaW5uZXJUZXh0IiwibmFtZSIsImNvbG9yIiwiU2VsZWN0IiwiX3Byb3BzJHByZWZpeENsczIiLCJfcHJvcHMkc2l6ZTIiLCJfcHJvcHMkY2xhc3NOYW1lMiIsIm11bHRpcGxlIiwib3B0aW9ucyIsInBhbmVsQ2xhc3NOYW1lIiwiZGVmYXVsdFZhbHVlIiwiaXRlbVRlbXBsYXRlIiwib25DaGFuZ2UiLCJvbkhpZGUiLCJvblNob3ciLCJ1bnNlbGVjdGFibGUiLCJyZXN0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJzZWxlY3RSZWYiLCJfcmVmIiwiQXJyYXkiLCJpc0FycmF5IiwiU2VsZWN0Q29tcG9uZW50IiwiYXNzaWduIiwic2hvd1NlbGVjdEFsbCIsImNoZWNrYm94SWNvbiIsInJlbW92ZUljb24iLCJfcHJvcHMkaWNvblByb3BzIiwiaWNvblByb3BzIiwib25LZXlEb3duIiwidGFiSW5kZXgiLCJwYW5lbEhlYWRlclRlbXBsYXRlIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJmaWx0ZXJFbGVtZW50Iiwib25DbG9zZUNsaWNrIiwic2VsZWN0ZWROdW0iLCJtZXRhRGF0YSIsInJlc2V0RmlsdGVyIiwiY29sbGFwc2VJY29uIiwidW5kZWZpbmVkIiwiZmlsdGVyUGxhY2Vob2xkZXIiLCJvcHRpb24iLCJjbGVhciIsImZpbHRlckljb24iLCJkcm9wZG93bkljb24iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtFQUNKLE9BQU9SLENBQUM7QUFDWixDQUFDO0FBQ0QsU0FBU1csR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ1g5RCxTQUFTQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxtQkFBbUIsUUFBUSxPQUFPO0FBQ3BHLE9BQU9DLE9BQU8sTUFBTSxnQkFBZ0I7QUFDcEMsU0FBU0MsUUFBUSxRQUE0QixxQkFBcUI7QUFDbEUsU0FBU0MsV0FBVyxRQUErQix3QkFBd0I7QUFDM0UsT0FBT0MsVUFBVSxNQUFNLHdCQUF3QjtBQUMvQyxTQUFTQyxLQUFLLFFBQVEsVUFBVTtBQUtoQyxJQUFNQyxhQUFhLGdCQUE2S1osSUFBSSxDQUFDLFVBQUFhLEtBQUssRUFBRztFQUMzTSxJQUNFQyxLQUFLLEdBV0hELEtBQUssQ0FYUEMsS0FBSztJQUNMQyxPQUFPLEdBVUxGLEtBQUssQ0FWUEUsT0FBTztJQUNQQyxRQUFRLEdBU05ILEtBQUssQ0FUUEcsUUFBUTtJQUNSQyxTQUFTLEdBUVBKLEtBQUssQ0FSUEksU0FBUztJQUNUQyxVQUFVLEdBT1JMLEtBQUssQ0FQUEssVUFBVTtJQUNWQyxRQUFRLEdBTU5OLEtBQUssQ0FOUE0sUUFBUTtJQUNSQyxVQUFVLEdBS1JQLEtBQUssQ0FMUE8sVUFBVTtJQUNWQyxPQUFPLEdBSUxSLEtBQUssQ0FKUFEsT0FBTztJQUNQQyxPQUFPLEdBR0xULEtBQUssQ0FIUFMsT0FBTztJQUNQQyxRQUFRLEdBRU5WLEtBQUssQ0FGUFUsUUFBUTtJQUNSQyxRQUFRLEdBQ05YLEtBQUssQ0FEUFcsUUFBUTtFQUVWLElBQU1DLE9BQU8sR0FBR2YsVUFBVSxDQUFDTyxTQUFTLENBQUM7RUFFckMsT0FBT2xCLEtBQUEsQ0FBQSxLQUFBLEVBQUE7SUFBSzJCLFNBQVMsRUFBRUQsT0FBTyxDQUFDLFNBQVMsRUFBRVAsVUFBVSxDQUFDO0lBQUFNLFFBQUEsRUFBQSxDQUNsRFYsS0FBSyxJQUFJakIsSUFBQSxDQUFBLE1BQUEsRUFBQTtNQUFNNkIsU0FBUyxFQUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUNULFFBQVEsSUFBSVMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUVOLFFBQVEsQ0FBQyxDQUFDUSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7TUFBQUgsUUFBQSxFQUFHVjtJQUFLLENBQUEsQ0FBUSxFQUN2SFUsUUFBUSxFQUVQVCxPQUFPLElBQUlsQixJQUFBLENBQUEsTUFBQSxFQUFBO01BQ1Q2QixTQUFTLEVBQUVELE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FDNUJKLE9BQU8sR0FBR0ksT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxFQUN6Q0gsT0FBTyxHQUFHRyxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxFQUN2Q0wsVUFBVSxDQUNYLENBQUNPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUFBSCxRQUFBLEVBRVhUO0lBQU8sQ0FBQSxDQUNIO0VBQUEsQ0FBQSxDQUVMO0FBQ1IsQ0FBQyxDQUFDO0FBRUYsSUFBTWEsY0FBYyxHQUErQyxTQUE3REEsY0FBY0EsQ0FBK0NmLEtBQUssRUFBRztFQUN6RSxJQUNFZ0IsR0FBRyxHQXFCRGhCLEtBQUssQ0FyQlBnQixHQUFHO0lBQ0hDLE1BQU0sR0FvQkpqQixLQUFLLENBcEJQaUIsTUFBTTtJQUNOaEIsS0FBSyxHQW1CSEQsS0FBSyxDQW5CUEMsS0FBSztJQUNMQyxPQUFPLEdBa0JMRixLQUFLLENBbEJQRSxPQUFPO0lBQ1BDLFFBQVEsR0FpQk5ILEtBQUssQ0FqQlBHLFFBQVE7SUFBQWUsZ0JBQUEsR0FpQk5sQixLQUFLLENBaEJQSSxTQUFTO0lBQVRBLFNBQVMsR0FBQWMsZ0JBQUEsY0FBRyxRQUFRLEdBQUFBLGdCQUFBO0lBQ3BCYixVQUFVLEdBZVJMLEtBQUssQ0FmUEssVUFBVTtJQUNWQyxRQUFRLEdBY05OLEtBQUssQ0FkUE0sUUFBUTtJQUNSQyxVQUFVLEdBYVJQLEtBQUssQ0FiUE8sVUFBVTtJQUFBWSxXQUFBLEdBYVJuQixLQUFLLENBWlBvQixJQUFJO0lBQUpBLElBQUksR0FBQUQsV0FBQSxjQUFHLE9BQU8sR0FBQUEsV0FBQTtJQUNkWCxPQUFPLEdBV0xSLEtBQUssQ0FYUFEsT0FBTztJQUNQQyxPQUFPLEdBVUxULEtBQUssQ0FWUFMsT0FBTztJQUNQQyxRQUFRLEdBU05WLEtBQUssQ0FUUFUsUUFBUTtJQUNSVyxRQUFRLEdBUU5yQixLQUFLLENBUlBxQixRQUFRO0lBQUFDLGtCQUFBLEdBUU50QixLQUFLLENBUFB1QixXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxFQUFFLEdBQUFBLGtCQUFBO0lBQUFFLGdCQUFBLEdBT2R4QixLQUFLLENBTlBhLFNBQVM7SUFBVEEsU0FBUyxHQUFBVyxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFDZEMsZ0JBQWdCLEdBS2R6QixLQUFLLENBTFB5QixnQkFBZ0I7SUFDaEJDLFlBQVksR0FJVjFCLEtBQUssQ0FKUDBCLFlBQVk7SUFDWkMsUUFBTyxHQUdMM0IsS0FBSyxDQUhQMkIsT0FBTztJQUNQQyxPQUFPLEdBRUw1QixLQUFLLENBRlA0QixPQUFPO0lBQ1BDLE1BQU0sR0FDSjdCLEtBQUssQ0FEUDZCLE1BQU07RUFFUixJQUFNakIsT0FBTyxHQUFHZixVQUFVLENBQUNPLFNBQVMsQ0FBQztFQUVyQyxJQUFNMEIsYUFBYSxHQUFHMUMsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUNuQyxJQUFNMkMsU0FBUyxHQUFHM0MsTUFBTSxDQUFDNkIsTUFBTSxDQUFDO0VBQ2hDLElBQU1lLFlBQVksR0FBRzVDLE1BQU0sQ0FBQyxLQUFLLENBQUM7RUFFbEMsSUFBQTZDLFNBQUEsR0FBMEIzQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQUE0QyxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUEvQkcsS0FBSyxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN0QixJQUFBSSxVQUFBLEdBQThCaEQsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBaUQsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFFMUIsSUFBTUcsU0FBUyxHQUFHckQsT0FBTyxDQUFDO0lBQUEsT0FBTXVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUM5Q0EsT0FBTyxDQUFDUSxJQUFJLENBQUMsRUFDYlIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUNqQjRCLE9BQU8sR0FBRzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQy9CSixPQUFPLEdBQUdJLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ2pDSCxPQUFPLEdBQUdHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ2pDRixRQUFRLEdBQUdFLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQ25DUyxRQUFRLEdBQUdULE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQ25DQyxTQUFTLENBQ1YsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQUEsR0FBRSxDQUFDTSxJQUFJLEVBQUVvQixPQUFPLEVBQUVoQyxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFVyxRQUFRLEVBQUVSLFNBQVMsQ0FBQyxDQUFDO0VBRS9FcEIsbUJBQW1CLENBQUN1QixHQUFHLEVBQUU7SUFBQSxPQUFPO01BQzlCMkIsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUE7UUFBQSxPQUFRRixVQUFVLENBQUMsSUFBSSxDQUFDO01BQUE7TUFDN0JHLElBQUksRUFBRSxTQUFOQSxJQUFJQSxDQUFBO1FBQUEsT0FBUUgsVUFBVSxDQUFDLEtBQUssQ0FBQztNQUFBO0lEekM3QixDQzBDRDtFQUFBLENBQUMsRUFBRSxDQUFDekIsR0FBRyxDQUFDLENBQUM7RUFFVnpCLFNBQVMsQ0FBQyxZQUFLO0lBQ2J3QyxTQUFTLENBQUNjLE9BQU8sR0FBRzVCLE1BQU07RUFDNUIsQ0FBQyxFQUFFLENBQUNBLE1BQU0sQ0FBQyxDQUFDO0VBRVoxQixTQUFTLENBQUMsWUFBSztJQUNiLElBQUlpRCxPQUFPLEtBQUtSLFlBQVksQ0FBQ2EsT0FBTyxFQUFFO01BQ3BDYixZQUFZLENBQUNhLE9BQU8sR0FBR0wsT0FBTztNQUM5QixJQUFJQSxPQUFPLEVBQUU7UUFDWFosT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLENBQUEsQ0FBSTtNQUNiLENBQUMsTUFBTTtRQUNMQyxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO01BQ1o7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDVyxPQUFPLEVBQUVaLE9BQU8sRUFBRUMsTUFBTSxDQUFDLENBQUM7RUFFOUJ0QyxTQUFTLENBQUMsWUFBSztJQUNiLElBQU11RCx5QkFBd0IsR0FBRyxTQUEzQkEsd0JBQXdCQSxDQUFJQyxNQUEwQixFQUFJO01EM0N4RCxJQUFJQyxFQUFFO01DNENaLElBQUksQ0FBQ2pCLFNBQVMsQ0FBQ2MsT0FBTyxFQUFFLE9BQU8sS0FBSztNQUNwQyxJQUFJLENBQUEsQ0FBQUcsRUFBQSxHQUFDRCxNQUFzQixLQUFBLElBQUEsSUFBdEJBLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFrQkUsT0FBTyxNQUFBLElBQUEsSUFBQUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVFLHNCQUFzQixNQUFLbkIsU0FBUyxDQUFDYyxPQUFPLEVBQUUsT0FBTyxJQUFJO01BQy9GLElBQUlFLE1BQU0sS0FBS0ksUUFBUSxDQUFDQyxJQUFJLElBQUlMLE1BQU0sS0FBS0ksUUFBUSxFQUFFLE9BQU8sS0FBSztNQUNqRSxJQUFNRSxNQUFNLEdBQUlOLE1BQWUsQ0FBQ08sVUFBVSxJQUFLUCxNQUFrQixDQUFDUSxhQUFhO01BQy9FLElBQUksQ0FBQ0YsTUFBTSxFQUFFLE9BQU8sS0FBSztNQUN6QixPQUFPUCx5QkFBd0IsQ0FBQ08sTUFBTSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFNRyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSXJGLENBQWEsRUFBSTtNQUNwQyxJQUFJMkQsYUFBYSxDQUFDZSxPQUFPLEVBQUU7UUFDekJmLGFBQWEsQ0FBQ2UsT0FBTyxHQUFHLEtBQUs7UUFDN0I7TUFDRjtNQUNBSixVQUFVLENBQUMsVUFBQWdCLElBQUksRUFBRztRQUNoQixJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPLEtBQUs7UUFDdkIsT0FBT1gseUJBQXdCLENBQUMzRSxDQUFDLENBQUM0RSxNQUFNLENBQUM7TUFDM0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNESSxRQUFRLENBQUNPLGdCQUFnQixDQUFDLE9BQU8sRUFBRUYsV0FBVyxDQUFDO0lBQy9DLE9BQU8sWUFBSztNQUNWTCxRQUFRLENBQUNRLG1CQUFtQixDQUFDLE9BQU8sRUFBRUgsV0FBVyxDQUFDO0lBQ3BELENBQUM7RUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBT3hFLElBQUEsQ0FBQ2UsYUFBYSxFQUFBO0lBQ25CRSxLQUFLLEVBQUVBLEtBQUs7SUFDWkMsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxRQUFRLEVBQUVBLFFBQVE7SUFDbEJDLFNBQVMsRUFBRUEsU0FBUztJQUNwQkMsVUFBVSxFQUFFQSxVQUFVO0lBQ3RCQyxRQUFRLEVBQUVBLFFBQVE7SUFDbEJDLFVBQVUsRUFBRUEsVUFBVTtJQUN0QkMsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxPQUFPLEVBQUVBLE9BQU87SUFDaEJDLFFBQVEsRUFBRUEsUUFBUTtJQUFBQyxRQUFBLEVBRWxCekIsS0FBQSxDQUFBLEtBQUEsRUFBQTtNQUNFMkIsU0FBUyxFQUFFNkIsU0FBUztNQUNwQmtCLGVBQWUsRUFBRXZDLFFBQVE7TUFDekJ3QyxTQUFTLEVBQUV4QyxRQUFRO01BQUEsa0JBQUEsRUFDREUsV0FBVztNQUFBLFlBQUEsRUFDakJhLEtBQUs7TUFDakJULE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFHeEQsQ0FBQyxFQUFJO1FBQ2IsSUFBSXVDLFFBQVEsRUFBRTtRQUNkLElBQUksQ0FBQ1csUUFBUSxFQUFFO1VBQ2JTLGFBQWEsQ0FBQ2UsT0FBTyxHQUFHLElBQUk7VUFDNUJKLFVBQVUsQ0FBQyxVQUFBZ0IsSUFBSTtZQUFBLE9BQUksQ0FBQ0EsSUFBSTtVQUFBLEVBQUM7UUFDM0I7UUFDQTlCLFFBQU8sS0FBQSxJQUFBLElBQVBBLFFBQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUEEsUUFBTyxDQUFHeEQsQ0FBQyxDQUFDO01BQ2QsQ0FBQztNQUNEMkYsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUUzRixDQUFDLEVBQUc7UUFDWCxJQUFJNEYsR0FBRyxHQUFHNUYsQ0FBQyxDQUFDNkYsYUFBYSxDQUFDQyxTQUFTO1FBQ25DLElBQUlGLEdBQUcsS0FBSyxJQUFJLEVBQUU7VUFDaEJBLEdBQUcsR0FBRyxFQUFFO1VBQ1I1RixDQUFDLENBQUM2RixhQUFhLENBQUNDLFNBQVMsR0FBRyxFQUFFO1FBQ2hDO1FBQ0E1QixRQUFRLENBQUMwQixHQUFHLENBQUM7TUFDZixDQUFDO01BQUFwRCxRQUFBLEVBQUEsQ0FHQ1UsUUFBUSxHQUNKLElBQUksR0FDSixPQUFPSSxnQkFBZ0IsS0FBSyxVQUFVLEdBQ3BDQSxnQkFBZ0IsQ0FBQ2UsT0FBTyxDQUFDLEdBQ3pCeEQsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNNkIsU0FBUyxFQUFFRCxPQUFPLENBQUMsb0JBQW9CLENBQUM7UUFBQUQsUUFBQSxFQUFHWTtNQUFXLENBQUEsQ0FBUSxFQUcxRUYsUUFBUSxHQUNKLElBQUksR0FDSixPQUFPSyxZQUFZLEtBQUssVUFBVSxHQUNoQ0EsWUFBWSxDQUFDYyxPQUFPLENBQUMsR0FDckJ4RCxJQUFBLENBQUNjLEtBQUssRUFBQTtRQUFDb0UsSUFBSSxFQUFDLGFBQWE7UUFBQ0MsS0FBSyxFQUFDLFNBQVM7UUFBQy9DLElBQUksRUFBRSxFQUFFO1FBQUVmLFVBQVUsRUFBRU8sT0FBTyxDQUFDLGFBQWEsRUFBRTRCLE9BQU8sR0FBRzVCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7TUFBQyxDQUFBLENBQUk7SUFBQSxDQUFBO0VBRTNJLENBQUEsQ0FDUTtBQUNsQixDQUFDO0FBRUQsT0FBTyxJQUFNd0QsTUFBTSxHQUFtRixTQUF6RkEsTUFBTUEsQ0FBbUZwRSxLQUFLLEVBQUc7RURsRTFHLElBQUlnRCxFQUFFO0VDbUVSLElBQ0VoQyxHQUFHLEdBMEJEaEIsS0FBSyxDQTFCUGdCLEdBQUc7SUFDSGYsS0FBSyxHQXlCSEQsS0FBSyxDQXpCUEMsS0FBSztJQUNMQyxPQUFPLEdBd0JMRixLQUFLLENBeEJQRSxPQUFPO0lBQ1BDLFFBQVEsR0F1Qk5ILEtBQUssQ0F2QlBHLFFBQVE7SUFBQWtFLGlCQUFBLEdBdUJOckUsS0FBSyxDQXRCUEksU0FBUztJQUFUQSxTQUFTLEdBQUFpRSxpQkFBQSxjQUFHLFFBQVEsR0FBQUEsaUJBQUE7SUFDcEJoRSxVQUFVLEdBcUJSTCxLQUFLLENBckJQSyxVQUFVO0lBQ1ZDLFFBQVEsR0FvQk5OLEtBQUssQ0FwQlBNLFFBQVE7SUFDUkMsVUFBVSxHQW1CUlAsS0FBSyxDQW5CUE8sVUFBVTtJQUNWNkIsS0FBSyxHQWtCSHBDLEtBQUssQ0FsQlBvQyxLQUFLO0lBQUFrQyxZQUFBLEdBa0JIdEUsS0FBSyxDQWpCUG9CLElBQUk7SUFBSkEsSUFBSSxHQUFBa0QsWUFBQSxjQUFHLE9BQU8sR0FBQUEsWUFBQTtJQUNkOUQsT0FBTyxHQWdCTFIsS0FBSyxDQWhCUFEsT0FBTztJQUNQQyxPQUFPLEdBZUxULEtBQUssQ0FmUFMsT0FBTztJQUNQQyxRQUFRLEdBY05WLEtBQUssQ0FkUFUsUUFBUTtJQUNSYSxXQUFXLEdBYVR2QixLQUFLLENBYlB1QixXQUFXO0lBQUFnRCxpQkFBQSxHQWFUdkUsS0FBSyxDQVpQYSxTQUFTO0lBQVRBLFNBQVMsR0FBQTBELGlCQUFBLGNBQUcsRUFBRSxHQUFBQSxpQkFBQTtJQUNkQyxRQUFRLEdBV054RSxLQUFLLENBWFB3RSxRQUFRO0lBQ1JDLE9BQU8sR0FVTHpFLEtBQUssQ0FWUHlFLE9BQU87SUFDUFAsSUFBSSxHQVNGbEUsS0FBSyxDQVRQa0UsSUFBSTtJQUNKUSxjQUFjLEdBUVoxRSxLQUFLLENBUlAwRSxjQUFjO0lBQ2RDLFlBQVksR0FPVjNFLEtBQUssQ0FQUDJFLFlBQVk7SUFDWkMsYUFBWSxHQU1WNUUsS0FBSyxDQU5QNEUsWUFBWTtJQUNaQyxTQUFRLEdBS043RSxLQUFLLENBTFA2RSxRQUFRO0lBQ1JDLE9BQU0sR0FJSjlFLEtBQUssQ0FKUDhFLE1BQU07SUFDTkMsT0FBTSxHQUdKL0UsS0FBSyxDQUhQK0UsTUFBTTtJQUNOQyxZQUFZLEdBRVZoRixLQUFLLENBRlBnRixZQUFZO0lBQ1RDLElBQUksR0FBQWhILE1BQUEsQ0FDTCtCLEtBQUssRUEzQkgsQ0FBQSxLQUFBLEVBQUEsT0FBQSxFQUFBLFNBQUEsRUFBQSxVQUFBLEVBQUEsV0FBQSxFQUFBLFlBQUEsRUFBQSxVQUFBLEVBQUEsWUFBQSxFQUFBLE9BQUEsRUFBQSxNQUFBLEVBQUEsU0FBQSxFQUFBLFNBQUEsRUFBQSxVQUFBLEVBQUEsYUFBQSxFQUFBLFdBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLE1BQUEsRUFBQSxnQkFBQSxFQUFBLGNBQUEsRUFBQSxjQUFBLEVBQUEsVUFBQSxFQUFBLFFBQUEsRUFBQSxRQUFBLEVBQUEsY0FBQSxDQTJCTCxDQUFRO0VBQ1QsSUFBTVksT0FBTyxHQUFHZixVQUFVLENBQUNPLFNBQVMsQ0FBQztFQUNyQyxJQUFBOEUsVUFBQSxHQUFnQzVGLFFBQVEsQ0FBNkMsQ0FBQTBELEVBQUEsR0FBQVosS0FBSyxLQUFBLElBQUEsSUFBTEEsS0FBSyxLQUFBLEtBQUEsQ0FBQSxHQUFMQSxLQUFLLEdBQUl1QyxZQUFZLE1BQUEsSUFBQSxJQUFBM0IsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksSUFBSSxDQUFDO0lBQUFtQyxVQUFBLEdBQUFoRCxjQUFBLENBQUErQyxVQUFBO0lBQTVHRSxRQUFRLEdBQUFELFVBQUE7SUFBRUUsV0FBVyxHQUFBRixVQUFBO0VBQzVCLElBQUFHLFVBQUEsR0FBNEJoRyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFpRyxVQUFBLEdBQUFwRCxjQUFBLENBQUFtRCxVQUFBO0lBQXBDRSxNQUFNLEdBQUFELFVBQUE7SUFBRUUsU0FBUyxHQUFBRixVQUFBO0VBRXhCLElBQU1HLFNBQVMsR0FBR3RHLE1BQU0sQ0FBaUQsSUFBSSxDQUFDO0VBQzlFLElBQU11RyxJQUFJLEdBQUd2RyxNQUFNLENBQWlELElBQUksQ0FBQztFQUV6RSxJQUFNc0QsU0FBUyxHQUFHckQsT0FBTyxDQUFDO0lBQUEsT0FBTXVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUM5Q0EsT0FBTyxDQUFDUSxJQUFJLENBQUMsRUFDYm9FLE1BQU0sR0FBRzVFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQzdCSixPQUFPLEdBQUdJLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ2pDSCxPQUFPLEdBQUdHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQ2pDRixRQUFRLEdBQUdFLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQ25DLENBQUNnRixLQUFLLENBQUNDLE9BQU8sQ0FBQ1QsUUFBUSxDQUFDLEdBQUdBLFFBQVEsQ0FBQ3ZHLE1BQU0sR0FBR3VHLFFBQVEsSUFBSXhFLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQy9FQyxTQUFTLENBQ1YsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQUEsR0FBRSxDQUFDTSxJQUFJLEVBQUVvRSxNQUFNLEVBQUVoRixPQUFPLEVBQUU0RSxRQUFRLEVBQUUzRSxPQUFPLEVBQUVDLFFBQVEsRUFBRUcsU0FBUyxDQUFDLENBQUM7RUFFOUUsSUFBTWlGLGVBQWUsR0FBR3RHLFdBQVcsQ0FDakMsVUFBQ1EsS0FBdUM7SUFBQSxPQUFLd0UsUUFBUSxHQUNqRHhGLElBQUEsQ0FBQ1ksV0FBVyxFQUFBdEIsTUFBQSxDQUFBeUgsTUFBQSxDQUFBO01BQ1pmLFlBQVksRUFBRUEsWUFBWTtNQUMxQmdCLGFBQWEsRUFBRSxLQUFLO01BQ3BCQyxZQUFZLEVBQUVqSCxJQUFBLENBQUNjLEtBQUssRUFBQTtRQUFDb0UsSUFBSSxFQUFDLE9BQU87UUFBQzlDLElBQUksRUFBRSxFQUFFO1FBQUUrQyxLQUFLLEVBQUM7TUFBUyxDQUFBLENBQUc7TUFDOUQrQixVQUFVLEVBQUUsU0FBWkEsVUFBVUEsQ0FBRWxHLEtBQUssRUFBRztRQUNsQixJQUFBbUcsZ0JBQUEsR0FBeUNuRyxLQUFLLENBQUNvRyxTQUFTO1VBQWhEekUsT0FBTyxHQUFBd0UsZ0JBQUEsQ0FBUHhFLE9BQU87VUFBRTBFLFNBQVMsR0FBQUYsZ0JBQUEsQ0FBVEUsU0FBUztVQUFFQyxRQUFRLEdBQUFILGdCQUFBLENBQVJHLFFBQVE7UUFDcEMsT0FBT3RILElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1VBQ1hvRSxJQUFJLEVBQUMsT0FBTztVQUNaOUMsSUFBSSxFQUFFLEVBQUU7VUFDUitDLEtBQUssRUFBQyxTQUFTO1VBQ2ZtQyxRQUFRLEVBQUVBLFFBQVE7VUFDbEJqRyxVQUFVLEVBQUVPLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztVQUN4Q2UsT0FBTyxFQUFFQSxPQUFPO1VBQ2hCMEUsU0FBUyxFQUFFQTtRQUFTLENBQUEsQ0FDcEI7TUFDSixDQUFDO01BQ0RFLG1CQUFtQixFQUFFLFNBQXJCQSxtQkFBbUJBLENBQUU5QixPQUFPLEVBQUc7UUQ3R3ZCLElBQUl6QixFQUFFLEVBQUV3RCxFQUFFLEVBQUVDLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFO1FDOEc1QixJQUFRQyxhQUFhLEdBQW9DbkMsT0FBTyxDQUF4RG1DLGFBQWE7VUFBRS9CLFFBQVEsR0FBMEJKLE9BQU8sQ0FBekNJLFFBQVE7VUFBRWdDLFlBQVksR0FBWXBDLE9BQU8sQ0FBL0JvQyxZQUFZO1VBQUU3RyxLQUFLLEdBQUt5RSxPQUFPLENBQWpCekUsS0FBSztRQUNwRDtRQUNBLElBQU04RyxXQUFXLEdBQUcsQ0FBQUosRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQSxDQUFBRCxFQUFBLEdBQUEsQ0FBQXhELEVBQUEsR0FBQWhELEtBQUssS0FBQSxJQUFBLElBQUxBLEtBQUssS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTEEsS0FBSyxDQUFFK0csUUFBUSxNQUFBLElBQUEsSUFBQS9ELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFaEQsS0FBSyxNQUFBLElBQUEsSUFBQXdHLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFcEUsS0FBSyxNQUFBLElBQUEsSUFBQXFFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFNUgsTUFBTSxNQUFBLElBQUEsSUFBQTZILEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUM7UUFDOUQsT0FBT3hILEtBQUEsQ0FBQSxLQUFBLEVBQUE7VUFBSzJCLFNBQVMsRUFBRUQsT0FBTyxDQUFDLGNBQWMsQ0FBQztVQUFBRCxRQUFBLEVBQUEsQ0FDNUN6QixLQUFBLENBQUEsS0FBQSxFQUFBO1lBQUsyQixTQUFTLEVBQUVELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUFBRCxRQUFBLEVBQUEsQ0FDMUN6QixLQUFBLENBQUEsTUFBQSxFQUFBO2NBQU0yQixTQUFTLEVBQUVELE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztjQUFBRCxRQUFBLEVBQUEsQ0FDaERtRyxXQUFXLEVBQUEsV0FBQTtZQUFBLENBQUEsQ0FDUCxFQUNQNUgsS0FBQSxDQUFBLE1BQUEsRUFBQTtjQUNFMkIsU0FBUyxFQUFFRCxPQUFPLENBQUMseUJBQXlCLENBQUM7Y0FDN0NlLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFeEQsQ0FBQyxFQUFHO2dCQUNYO2dCQUNBNkIsS0FBSyxDQUFDZ0gsV0FBVyxDQUFBLENBQUU7Z0JBQ25CM0IsV0FBVyxDQUFDLElBQUksQ0FBQztjQUNuQixDQUFDO2NBQUExRSxRQUFBLEVBQUEsQ0FFRDNCLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO2dCQUFDb0UsSUFBSSxFQUFDLE9BQU87Z0JBQUM5QyxJQUFJLEVBQUUsRUFBRTtnQkFBRStDLEtBQUssRUFBQyxTQUFTO2dCQUFDOUQsVUFBVSxFQUFFTyxPQUFPLENBQUMsOEJBQThCO2NBQUMsQ0FBQSxDQUFJLEVBQUEsV0FBQTtZQUFBLENBQUEsQ0FFaEc7VUFBQSxDQUFBLENBQ0gsRUFDTCxDQUFBK0YsRUFBQSxHQUFBQyxhQUFhLEtBQUEsSUFBQSxJQUFiQSxhQUFhLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWJBLGFBQWEsQ0FBRTVHLEtBQUssTUFBQSxJQUFBLElBQUEyRyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRWhHLFFBQVE7UUFBQSxDQUFBLENBQzNCO01BQ1I7SUFBQyxDQUFBLEVBQ0lYLEtBQTBCLENBQUEsQ0FDL0IsR0FDQWhCLElBQUEsQ0FBQ1csUUFBUSxFQUFBckIsTUFBQSxDQUFBeUgsTUFBQSxDQUFBO01BQ1RrQixZQUFZLEVBQUV6QyxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUc7UUFBQSxPQUFNeEYsSUFBQSxDQUFDYyxLQUFLLEVBQUE7VUFBQ29FLElBQUksRUFBQyxXQUFXO1VBQUNDLEtBQUssRUFBQyxTQUFTO1VBQUMvQyxJQUFJLEVBQUU7UUFBRSxDQUFBLENBQUk7TUFBQTtJQUFBLENBQUEsRUFDdkZwQixLQUF1QixDQUFBLENBQzVCO0VBQUEsR0FDRixDQUFDd0UsUUFBUSxDQUFDLENBQ2I7RUFFRGpGLFNBQVMsQ0FBQyxZQUFLO0lBQ2IsSUFBSTZDLEtBQUssS0FBSzhFLFNBQVMsSUFBSSxDQUFDeEgsT0FBTyxDQUFDMEYsUUFBUSxFQUFFaEQsS0FBSyxDQUFDLEVBQUU7TUFDcERpRCxXQUFXLENBQUNqRCxLQUFLLENBQUM7SUFDcEI7RUFDRixDQUFDLEVBQUUsQ0FBQ0EsS0FBSyxDQUFDLENBQUM7RUFFWDNDLG1CQUFtQixDQUFDdUIsR0FBRyxLQUFBLElBQUEsSUFBSEEsR0FBRyxLQUFBLEtBQUEsQ0FBQSxHQUFIQSxHQUFHLEdBQUkyRSxJQUFJLEVBQUU7SUFBQSxPQUFNRCxTQUFTLENBQUM3QyxPQUFRO0VBQUEsRUFBQztFQUUxRCxPQUNFN0QsSUFBQSxDQUFDZSxhQUFhLEVBQUE7SUFDWkUsS0FBSyxFQUFFQSxLQUFLO0lBQ1pDLE9BQU8sRUFBRUEsT0FBTztJQUNoQkMsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCQyxTQUFTLEVBQUVBLFNBQVM7SUFDcEJDLFVBQVUsRUFBRUEsVUFBVTtJQUN0QkMsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCQyxVQUFVLEVBQUVBLFVBQVU7SUFDdEJDLE9BQU8sRUFBRUEsT0FBTztJQUNoQkMsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxRQUFRLEVBQUVBLFFBQVE7SUFBQUMsUUFBQSxFQUVsQjNCLElBQUEsQ0FBQzhHLGVBQWUsRUFBQXhILE1BQUEsQ0FBQXlILE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDVmQsSUFBVyxFQUFBO01BQ2ZqRSxHQUFHLEVBQUUwRSxTQUFTO01BQ2R4QixJQUFJLEVBQUVBLElBQUk7TUFDVmlELGlCQUFpQixFQUFDLFFBQVE7TUFDMUJoSCxRQUFRLEVBQUVBLFFBQVE7TUFDbEJPLFFBQVEsRUFBRUEsUUFBUTtNQUNsQkQsT0FBTyxFQUFFQSxPQUFPO01BQ2hCZ0UsT0FBTyxFQUFFQSxPQUFPO01BQ2hCckMsS0FBSyxFQUFFZ0QsUUFBUSxJQUFJLElBQUksR0FBRzhCLFNBQVMsR0FBRzlCLFFBQVE7TUFDOUN2RSxTQUFTLEVBQUU2QixTQUFTO01BQ3BCa0MsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUd3QyxNQUFNLEVBQUk7UUFDdkIsT0FBT2xJLEtBQUEsQ0FBQSxLQUFBLEVBQUE7VUFBSzJCLFNBQVMsRUFBRUQsT0FBTyxDQUFDLFlBQVksQ0FBQztVQUMxQ2UsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUEsRUFBTztZRDdKRixJQUFJcUIsRUFBRTtZQzhKaEIsSUFBSSxDQUFDd0IsUUFBUSxJQUFJUSxZQUFZLEtBQUssSUFBSSxJQUFJb0MsTUFBTSxDQUFDaEYsS0FBSyxLQUFLZ0QsUUFBUSxFQUFFO2NBQ25FLENBQUFwQyxFQUFBLEdBQUMwQyxTQUFTLENBQUM3QyxPQUFvQixNQUFBLElBQUEsSUFBQUcsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVxRSxLQUFLLENBQUEsQ0FBRTtZQUMxQztVQUNGLENBQUM7VUFBQTFHLFFBQUEsRUFBQSxDQUVEM0IsSUFBQSxDQUFBLEtBQUEsRUFBQTtZQUFLNkIsU0FBUyxFQUFFRCxPQUFPLENBQUMsa0JBQWtCLENBQUM7WUFBQUQsUUFBQSxFQUN4Q2lFLGFBQVksR0FBR0EsYUFBWSxDQUFDd0MsTUFBTSxDQUFDLEdBQUdBLE1BQU0sQ0FBQ25IO1VBQUssQ0FBQSxDQUMvQyxFQUNOakIsSUFBQSxDQUFDYyxLQUFLLEVBQUE7WUFBQ29FLElBQUksRUFBQyxPQUFPO1lBQUM5QyxJQUFJLEVBQUUsRUFBRTtZQUFFK0MsS0FBSyxFQUFDO1VBQVMsQ0FBQSxDQUFHO1FBQUEsQ0FBQSxDQUM1QztNQUNSLENBQUM7TUFDRG1ELFVBQVUsRUFBRXRJLElBQUEsQ0FBQ2MsS0FBSyxFQUFBO1FBQUNvRSxJQUFJLEVBQUMsUUFBUTtRQUFDOUMsSUFBSSxFQUFFLEVBQUU7UUFBRStDLEtBQUssRUFBQyxTQUFTO1FBQUM5RCxVQUFVLEVBQUVPLE9BQU8sQ0FBQyxhQUFhO01BQUMsQ0FBQSxDQUFJO01BQ2pHOEQsY0FBYyxFQUFFOUQsT0FBTyxDQUFDLE9BQU8sRUFBRThELGNBQWMsQ0FBQztNQUNoREcsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUcxRyxDQUFDLEVBQUk7UUFDZGtILFdBQVcsQ0FBQ2xILENBQUMsQ0FBQ2lFLEtBQUssQ0FBQztRQUNwQjtRQUNBeUMsU0FBUSxLQUFBLElBQUEsSUFBUkEsU0FBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxTQUFRLENBQUcxRyxDQUFDLENBQUM7TUFDZixDQUFDO01BQ0QyRyxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBQSxFQUFPO1FBQ1hXLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDaEJYLE9BQU0sS0FBQSxJQUFBLElBQU5BLE9BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsT0FBTSxDQUFBLENBQUk7TUFDWixDQUFDO01BQ0RDLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFBLEVBQU87UUFDWFUsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNmVixPQUFNLEtBQUEsSUFBQSxJQUFOQSxPQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE9BQU0sQ0FBQSxDQUFJO01BQ1osQ0FBQztNQUNEd0MsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7UUFBQSxPQUFRdkksSUFBQSxDQUFDYyxLQUFLLEVBQUE7VUFBQ29FLElBQUksRUFBQyxhQUFhO1VBQUNDLEtBQUssRUFBQyxTQUFTO1VBQUMvQyxJQUFJLEVBQUU7UUFBRSxDQUFBLENBQUk7TUFBQTtJQUFBLENBQUEsQ0FBQTtFQUMxRSxDQUFBLENBQ1k7QUFFcEIsQ0FBQztBQUVEZ0QsTUFBTSxDQUFDckQsY0FBYyxHQUFHQSxjQUFjO0FBRXRDLDRCQUFlNUIsSUFBSSxDQUFDaUYsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VJbXBlcmF0aXZlSGFuZGxlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLmlzZXF1YWwnO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICdwcmltZXJlYWN0L2Ryb3Bkb3duJztcbmltcG9ydCB7IE11bHRpU2VsZWN0IH0gZnJvbSAncHJpbWVyZWFjdC9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuY29uc3QgU2VsZWN0V3JhcHBlciA9IG1lbW8ocHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIG1lc3NhZ2UsIHJlcXVpcmVkLCBwcmVmaXhDbHMsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBtZXNzYWdlQ2xzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgY2hpbGRyZW4sIH0gPSBwcm9wcztcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnd3JhcHBlcicsIHdyYXBwZXJDbHMpLCBjaGlsZHJlbjogW2xhYmVsICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIFtyZXF1aXJlZCAmJiBjbGFzc2VzKCdsYWJlbC1yZXF1aXJlZCcpLCBsYWJlbENsc10uam9pbignICcpKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBjaGlsZHJlbiwgbWVzc2FnZSAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVzc2FnZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA/IGNsYXNzZXMoJ21lc3NhZ2Utc3VjY2VzcycpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdtZXNzYWdlLWVycm9yJykgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZUNsc1xuICAgICAgICAgICAgICAgIF0uam9pbignICcpKSwgY2hpbGRyZW46IG1lc3NhZ2UgfSldIH0pO1xufSk7XG5jb25zdCBDdXN0b21Ecm9wZG93biA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IHJlZiwgZGF0YUlkLCBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgc2l6ZSA9ICdsYXJnZScsIHN1Y2Nlc3MsIGludmFsaWQsIGRpc2FibGVkLCBlZGl0YWJsZSwgcGxhY2Vob2xkZXIgPSAnJywgY2xhc3NOYW1lID0gJycsIHNlbGVjdGVkVGVtcGxhdGUsIHRhaWxUZW1wbGF0ZSwgb25DbGljaywgb25Gb2N1cywgb25CbHVyLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBpc0NsaWNrSW5zaWRlID0gdXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBkYXRhSWRSZWYgPSB1c2VSZWYoZGF0YUlkKTtcbiAgICBjb25zdCBsYXN0Rm9jdXNSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBzZWxlY3RDbHMgPSB1c2VNZW1vKCgpID0+IGNsYXNzZXModm9pZCAwLCBbXG4gICAgICAgIGNsYXNzZXMoc2l6ZSksXG4gICAgICAgIGNsYXNzZXMoJ2N1c3RvbScpLFxuICAgICAgICBpc0ZvY3VzID8gY2xhc3NlcygnZm9jdXMnKSA6ICcnLFxuICAgICAgICBzdWNjZXNzID8gY2xhc3Nlcygnc3VjY2VzcycpIDogJycsXG4gICAgICAgIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiAnJyxcbiAgICAgICAgZGlzYWJsZWQgPyBjbGFzc2VzKCdkaXNhYmxlZCcpIDogJycsXG4gICAgICAgIGVkaXRhYmxlID8gY2xhc3NlcygnZWRpdGFibGUnKSA6ICcnLFxuICAgICAgICBjbGFzc05hbWVcbiAgICBdLmpvaW4oJyAnKSksIFtzaXplLCBpc0ZvY3VzLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgZWRpdGFibGUsIGNsYXNzTmFtZV0pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBmb2N1czogKCkgPT4gc2V0SXNGb2N1cyh0cnVlKSxcbiAgICAgICAgYmx1cjogKCkgPT4gc2V0SXNGb2N1cyhmYWxzZSksXG4gICAgfSksIFtyZWZdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkYXRhSWRSZWYuY3VycmVudCA9IGRhdGFJZDtcbiAgICB9LCBbZGF0YUlkXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGlzRm9jdXMgIT09IGxhc3RGb2N1c1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBsYXN0Rm9jdXNSZWYuY3VycmVudCA9IGlzRm9jdXM7XG4gICAgICAgICAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICAgICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbaXNGb2N1cywgb25Gb2N1cywgb25CbHVyXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkID0gKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgaWYgKCFkYXRhSWRSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICBpZiAoKChfYSA9IHRhcmdldCA9PT0gbnVsbCB8fCB0YXJnZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHRhcmdldC5kYXRhc2V0KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VsZWN0Q3VzdG9tRHJvcGRvd25JZCkgPT09IGRhdGFJZFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgaWYgKHRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSB8fCB0YXJnZXQgPT09IGRvY3VtZW50KVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRhcmdldC5wYXJlbnROb2RlIHx8IHRhcmdldC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFwYXJlbnQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGZpbmRDdXN0b21Ecm9wZG93bkRhdGFJZChwYXJlbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZW1vdmVGb2N1cyA9IChlKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNDbGlja0luc2lkZS5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgaXNDbGlja0luc2lkZS5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0SXNGb2N1cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXByZXYpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmluZEN1c3RvbURyb3Bkb3duRGF0YUlkKGUudGFyZ2V0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlbW92ZUZvY3VzKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVtb3ZlRm9jdXMpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gX2pzeChTZWxlY3RXcmFwcGVyLCB7IGxhYmVsOiBsYWJlbCwgbWVzc2FnZTogbWVzc2FnZSwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBwcmVmaXhDbHM6IHByZWZpeENscywgd3JhcHBlckNsczogd3JhcHBlckNscywgbGFiZWxDbHM6IGxhYmVsQ2xzLCBtZXNzYWdlQ2xzOiBtZXNzYWdlQ2xzLCBzdWNjZXNzOiBzdWNjZXNzLCBpbnZhbGlkOiBpbnZhbGlkLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogc2VsZWN0Q2xzLCBjb250ZW50RWRpdGFibGU6IGVkaXRhYmxlLCBhdXRvRm9jdXM6IGVkaXRhYmxlLCBcImRhdGEtcGxhY2Vob2xkZXJcIjogcGxhY2Vob2xkZXIsIFwiZGF0YS12YWx1ZVwiOiB2YWx1ZSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBpZiAoIWVkaXRhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzQ2xpY2tJbnNpZGUuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXMocHJldiA9PiAhcHJldik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICAgICAgICAgIH0sIG9uSW5wdXQ6IGUgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBlLmN1cnJlbnRUYXJnZXQuaW5uZXJUZXh0O1xuICAgICAgICAgICAgICAgIGlmICh2YWwgPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuaW5uZXJUZXh0ID0gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFZhbHVlKHZhbCk7XG4gICAgICAgICAgICB9LCBjaGlsZHJlbjogW2VkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiBzZWxlY3RlZFRlbXBsYXRlID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGVkVGVtcGxhdGUoaXNGb2N1cylcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1c3RvbS1wbGFjZWhvbGRlcicpLCBjaGlsZHJlbjogcGxhY2Vob2xkZXIgfSksIGVkaXRhYmxlXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IHR5cGVvZiB0YWlsVGVtcGxhdGUgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFpbFRlbXBsYXRlKGlzRm9jdXMpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2N1c3RvbS10YWlsJywgaXNGb2N1cyA/IGNsYXNzZXMoJ2N1c3RvbS10YWlsLWZvY3VzJykgOiAnJykgfSldIH0pIH0pO1xufTtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSBwcm9wcyA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcmVmLCBsYWJlbCwgbWVzc2FnZSwgcmVxdWlyZWQsIHByZWZpeENscyA9ICdzZWxlY3QnLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgbWVzc2FnZUNscywgdmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdWNjZXNzLCBpbnZhbGlkLCBkaXNhYmxlZCwgcGxhY2Vob2xkZXIsIGNsYXNzTmFtZSA9ICcnLCBtdWx0aXBsZSwgb3B0aW9ucywgbmFtZSwgcGFuZWxDbGFzc05hbWUsIGRlZmF1bHRWYWx1ZSwgaXRlbVRlbXBsYXRlLCBvbkNoYW5nZSwgb25IaWRlLCBvblNob3csIHVuc2VsZWN0YWJsZSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInJlZlwiLCBcImxhYmVsXCIsIFwibWVzc2FnZVwiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4Q2xzXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwibWVzc2FnZUNsc1wiLCBcInZhbHVlXCIsIFwic2l6ZVwiLCBcInN1Y2Nlc3NcIiwgXCJpbnZhbGlkXCIsIFwiZGlzYWJsZWRcIiwgXCJwbGFjZWhvbGRlclwiLCBcImNsYXNzTmFtZVwiLCBcIm11bHRpcGxlXCIsIFwib3B0aW9uc1wiLCBcIm5hbWVcIiwgXCJwYW5lbENsYXNzTmFtZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIml0ZW1UZW1wbGF0ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25IaWRlXCIsIFwib25TaG93XCIsIFwidW5zZWxlY3RhYmxlXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoKF9hID0gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogZGVmYXVsdFZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsKTtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IHNlbGVjdFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBfcmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlbGVjdENscyA9IHVzZU1lbW8oKCkgPT4gY2xhc3Nlcyh2b2lkIDAsIFtcbiAgICAgICAgY2xhc3NlcyhzaXplKSxcbiAgICAgICAgaXNPcGVuID8gY2xhc3Nlcygnc2hvdycpIDogJycsXG4gICAgICAgIHN1Y2Nlc3MgPyBjbGFzc2VzKCdzdWNjZXNzJykgOiAnJyxcbiAgICAgICAgaW52YWxpZCA/IGNsYXNzZXMoJ2ludmFsaWQnKSA6ICcnLFxuICAgICAgICBkaXNhYmxlZCA/IGNsYXNzZXMoJ2Rpc2FibGVkJykgOiAnJyxcbiAgICAgICAgKEFycmF5LmlzQXJyYXkoc2VsZWN0ZWQpID8gc2VsZWN0ZWQubGVuZ3RoIDogc2VsZWN0ZWQpID8gY2xhc3NlcygnZmlsbGVkJykgOiAnJyxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgXS5qb2luKCcgJykpLCBbc2l6ZSwgaXNPcGVuLCBzdWNjZXNzLCBzZWxlY3RlZCwgaW52YWxpZCwgZGlzYWJsZWQsIGNsYXNzTmFtZV0pO1xuICAgIGNvbnN0IFNlbGVjdENvbXBvbmVudCA9IHVzZUNhbGxiYWNrKChwcm9wcykgPT4gbXVsdGlwbGVcbiAgICAgICAgPyBfanN4KE11bHRpU2VsZWN0LCBPYmplY3QuYXNzaWduKHsgdW5zZWxlY3RhYmxlOiB1bnNlbGVjdGFibGUsIHNob3dTZWxlY3RBbGw6IGZhbHNlLCBjaGVja2JveEljb246IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTIsIGNvbG9yOiAnI0ZFRkVGRScgfSksIHJlbW92ZUljb246IHByb3BzID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG9uQ2xpY2ssIG9uS2V5RG93biwgdGFiSW5kZXggfSA9IHByb3BzLmljb25Qcm9wcztcbiAgICAgICAgICAgICAgICByZXR1cm4gX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjMTMxMzEzJywgdGFiSW5kZXg6IHRhYkluZGV4LCB3cmFwcGVyQ2xzOiBjbGFzc2VzKCd0b2tlbi1yZW1vdmUtaWNvbicpLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IG9uS2V5RG93biB9KTtcbiAgICAgICAgICAgIH0sIHBhbmVsSGVhZGVyVGVtcGxhdGU6IG9wdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJFbGVtZW50LCBvbkNoYW5nZSwgb25DbG9zZUNsaWNrLCBwcm9wcyB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROdW0gPSAoX2QgPSAoX2MgPSAoX2IgPSAoX2EgPSBwcm9wcyA9PT0gbnVsbCB8fCBwcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJvcHMubWV0YURhdGEpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5wcm9wcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnZhbHVlKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubGVuZ3RoKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWhlYWRlci1pbmZvJyksIGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jb3VudCcpLCBjaGlsZHJlbjogW3NlbGVjdGVkTnVtLCBcIiBzZWxlY3RlZFwiXSB9KSwgX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXItaW5mby1jbGVhcicpLCBvbkNsaWNrOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMucmVzZXRGaWx0ZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnY2xvc2UnLCBzaXplOiAxNiwgY29sb3I6ICcjQUUwMDAwJywgd3JhcHBlckNsczogY2xhc3NlcygncGFuZWwtaGVhZGVyLWluZm8tY2xlYXItaWNvbicpIH0pLCBcIkNsZWFyIGFsbFwiXSB9KV0gfSksIChfZSA9IGZpbHRlckVsZW1lbnQgPT09IG51bGwgfHwgZmlsdGVyRWxlbWVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmlsdGVyRWxlbWVudC5wcm9wcykgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLmNoaWxkcmVuXSB9KTtcbiAgICAgICAgICAgIH0gfSwgcHJvcHMpKVxuICAgICAgICA6IF9qc3goRHJvcGRvd24sIE9iamVjdC5hc3NpZ24oeyBjb2xsYXBzZUljb246IG11bHRpcGxlID8gdm9pZCAwIDogKCkgPT4gX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblVwJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSkgfSwgcHJvcHMpKSwgW211bHRpcGxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWlzRXF1YWwoc2VsZWN0ZWQsIHZhbHVlKSkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWQodmFsdWUpO1xuICAgICAgICB9XG4gICAgfSwgW3ZhbHVlXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYgIT09IG51bGwgJiYgcmVmICE9PSB2b2lkIDAgPyByZWYgOiBfcmVmLCAoKSA9PiBzZWxlY3RSZWYuY3VycmVudCk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdFdyYXBwZXIsIHsgbGFiZWw6IGxhYmVsLCBtZXNzYWdlOiBtZXNzYWdlLCByZXF1aXJlZDogcmVxdWlyZWQsIHByZWZpeENsczogcHJlZml4Q2xzLCB3cmFwcGVyQ2xzOiB3cmFwcGVyQ2xzLCBsYWJlbENsczogbGFiZWxDbHMsIG1lc3NhZ2VDbHM6IG1lc3NhZ2VDbHMsIHN1Y2Nlc3M6IHN1Y2Nlc3MsIGludmFsaWQ6IGludmFsaWQsIGRpc2FibGVkOiBkaXNhYmxlZCwgY2hpbGRyZW46IF9qc3goU2VsZWN0Q29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc2VsZWN0UmVmLCBuYW1lOiBuYW1lLCBmaWx0ZXJQbGFjZWhvbGRlcjogJ1NlYXJjaCcsIHJlcXVpcmVkOiByZXF1aXJlZCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpbnZhbGlkOiBpbnZhbGlkLCBvcHRpb25zOiBvcHRpb25zLCB2YWx1ZTogc2VsZWN0ZWQgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IHNlbGVjdGVkLCBjbGFzc05hbWU6IHNlbGVjdENscywgaXRlbVRlbXBsYXRlOiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1pdGVtJyksIG9uQ2xpY2s6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXVsdGlwbGUgJiYgdW5zZWxlY3RhYmxlID09PSAnb24nICYmIG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBzZWxlY3RSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlKG9wdGlvbikgOiBvcHRpb24ubGFiZWwgfSksIF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZWNrJywgc2l6ZTogMTYsIGNvbG9yOiAnIzA3MzM4NycgfSldIH0pO1xuICAgICAgICAgICAgfSwgZmlsdGVySWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMjAsIGNvbG9yOiAnIzEzMTMxMycsIHdyYXBwZXJDbHM6IGNsYXNzZXMoJ2ZpbHRlci1pY29uJykgfSksIHBhbmVsQ2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbCcsIHBhbmVsQ2xhc3NOYW1lKSwgb25DaGFuZ2U6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWQoZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShlKTtcbiAgICAgICAgICAgIH0sIG9uSGlkZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgb25IaWRlID09PSBudWxsIHx8IG9uSGlkZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25IaWRlKCk7XG4gICAgICAgICAgICB9LCBvblNob3c6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgb25TaG93ID09PSBudWxsIHx8IG9uU2hvdyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TaG93KCk7XG4gICAgICAgICAgICB9LCBkcm9wZG93bkljb246ICgpID0+IF9qc3goSWNvbnMsIHsgbmFtZTogJ2NoZXZyb25Eb3duJywgY29sb3I6ICcjMTMxMzEzJywgc2l6ZTogMjAgfSkgfSkpIH0pKTtcbn07XG5TZWxlY3QuQ3VzdG9tRHJvcGRvd24gPSBDdXN0b21Ecm9wZG93bjtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,7 +1,6 @@
1
1
  import type { ReactNode, RefObject, MouseEvent } from 'react';
2
2
  import type { DropdownProps, Dropdown, DropdownChangeEvent } from 'primereact/dropdown';
3
3
  import type { MultiSelectProps as PrimeMultiSelectProps, MultiSelect, MultiSelectChangeEvent } from 'primereact/multiselect';
4
- import type { IconName } from '../Icons';
5
4
  interface BaseProps {
6
5
  prefixCls?: string;
7
6
  wrapperCls?: string;
@@ -38,7 +37,7 @@ export interface CustomDropdownProps extends Omit<BaseProps, 'itemTemplate'> {
38
37
  disabled?: boolean;
39
38
  placeholder?: string;
40
39
  className?: string;
41
- iconName?: IconName;
40
+ editable?: boolean;
42
41
  selectedTemplate?: (isFocus: boolean) => ReactNode;
43
42
  tailTemplate?: (isFocus: boolean) => ReactNode;
44
43
  onClick?: (e: MouseEvent<HTMLDivElement>) => void;
@@ -1 +1 @@
1
- .om-react-ui-select{position:relative;display:inline-flex;min-height:56px;padding:8px 16px;font-family:inherit;line-height:22px;background-color:#f8f8f8;border:1px solid #d1d2d2;border-radius:12px;transition:none}.om-react-ui-select.om-react-ui-select-small{min-height:44px;line-height:18px}.om-react-ui-select.om-react-ui-select-small .p-dropdown-label,.om-react-ui-select.om-react-ui-select-small .p-multiselect-label{font-size:14px!important}.om-react-ui-select.om-react-ui-select-small .p-dropdown-label{padding:4px 8px 4px 0}.om-react-ui-select.p-multiselect.om-react-ui-select-small.om-react-ui-select-filled{padding:8px 16px}.om-react-ui-select.p-invalid{border-color:#ae0000;box-shadow:none}.om-react-ui-select.p-invalid .p-dropdown-label,.om-react-ui-select.p-invalid .p-multiselect-label{color:#ae0000}.om-react-ui-select.p-disabled{background-color:#e3e4e4;border-color:#e3e4e4;opacity:1}.om-react-ui-select-filled.p-disabled{background-color:#f0f0f0;border-color:#f0f0f0}.om-react-ui-select-success:not(.p-disabled,.p-invalid){border-color:#1f5800}.om-react-ui-select-success:not(.p-disabled,.p-invalid) .p-dropdown-label,.om-react-ui-select-success:not(.p-disabled,.p-invalid) .p-multiselect-label{color:#1f5800!important}.om-react-ui-select .p-dropdown-label{display:inline-block;padding:8px 8px 8px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-react-ui-select .p-dropdown-label,.om-react-ui-select .p-multiselect-label{color:#131313;font-weight:400;font-size:16px;font-family:inherit;transition:none}.om-react-ui-select .p-multiselect-label{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 8px 0 0;line-height:140%}.om-react-ui-select .p-multiselect-label .p-multiselect-token{max-width:100%;margin-right:0;padding:4px 8px;background-color:#e3e4e4;border-radius:12px}.om-react-ui-select .p-multiselect-label .p-multiselect-token .p-multiselect-token-label{display:inline-block;overflow:hidden;color:#131313;font-weight:500;font-size:12px;line-height:13px;white-space:nowrap;text-overflow:ellipsis}.om-react-ui-select .p-multiselect-label-container{display:flex;align-items:center;line-height:inherit}.om-react-ui-select .p-multiselect-label,.om-react-ui-select>.p-placeholder{color:#9fa3a3;font-weight:400;font-size:16px;font-style:normal;line-height:inherit}.om-react-ui-select .p-dropdown-trigger,.om-react-ui-select .p-multiselect-trigger{width:auto}.om-react-ui-select.p-multiselect{padding:12px 16px}.om-react-ui-select-focus:not(.om-react-ui-select-disabled,.om-react-ui-select-invalid),.om-react-ui-select:not(.om-react-ui-select-disabled,.om-react-ui-select-invalid).p-focus{border-color:#073387;border-width:2px;box-shadow:none}.om-react-ui-select:not(.om-react-ui-select-disabled,.om-react-ui-select-invalid):hover{border-color:#131313}.om-react-ui-select-panel{padding:8px;font-family:inherit;background-color:#fefefe;border-radius:8px;box-shadow:0 4px 8px 0 rgba(65,91,130,.12)}.om-react-ui-select-panel ::-webkit-scrollbar{width:2px}.om-react-ui-select-panel ::-webkit-scrollbar-thumb{background-color:#9fa3a3;border-radius:2px}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus{background-color:#f8f8f8}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight .om-react-ui-select-panel-item svg,.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus .om-react-ui-select-panel-item svg{display:inline-block}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight,.p-disabled).p-focus{background-color:#f8f8f8}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:8px;color:#131313;font-weight:400;font-size:16px;font-style:normal;line-height:22px;border-radius:8px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header{margin-bottom:8px;padding:0;background-color:inherit;border:none}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info{display:inline-flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px;padding:4px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info-count{font-weight:500;font-size:14px;line-height:15px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info-clear{display:inline-flex;gap:4px;align-items:center;color:#ae0000;font-weight:500;font-size:12px;line-height:13px;cursor:pointer}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info-clear-icon{padding:2px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-close{display:none}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter{height:44px;padding:12px 16px 12px 44px;color:#131313;font-size:14px;line-height:22px;background-color:#f8f8f8;border:1px solid #d1d2d2;border-radius:12px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter:hover{border-color:#131313}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter.p-inputtext:enabled:focus{border-color:#073387;border-width:2px;box-shadow:none}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter::placeholder{color:#9fa3a3}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items{font-family:inherit}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item{color:#131313;font-weight:400}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight,.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-disabled,.p-invalid,.p-highlight).p-focus{background-color:#f8f8f8}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox{display:inline-flex;align-items:center}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox .p-checkbox{width:16px;height:16px;margin-right:8px}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox .p-checkbox.p-highlight .p-checkbox-box{background-color:#073387;border-color:#073387}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox .p-checkbox .p-checkbox-box{width:16px;height:16px;padding:2px;background-color:#fefefe;border:1px solid #9fa3a3;border-radius:4px;box-shadow:none}.om-react-ui-select-panel .p-dropdown-header{margin-bottom:8px;padding:0;border:none}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext{height:44px;padding:12px 16px 12px 44px;color:#131313;font-size:14px;background-color:#f8f8f8;border:1px solid #d1d2d2;border-radius:12px}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext:enabled:focus:not(.p-invalid){border-color:#073387;border-width:2px;box-shadow:none}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext:hover{border-color:#131313}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext::placeholder{color:#9fa3a3}.om-react-ui-select-panel .p-dropdown-filter-icon{right:1rem}.om-react-ui-select-panel .p-dropdown-item-label{width:100%}.om-react-ui-select-panel-item{display:inline-flex;align-items:center;justify-content:space-between;width:100%}.om-react-ui-select-panel-item-label{width:100%;font-weight:inherit;font-size:16px;font-family:inherit;line-height:22px}.om-react-ui-select-panel-item svg{display:none;color:#073387;font-size:16px}.om-react-ui-select-show.p-multiselect .p-multiselect-trigger svg{transform:rotate(180deg)}.om-react-ui-select-wrapper{display:inline-flex;flex-direction:column;width:100%}.om-react-ui-select-wrapper:has(.p-disabled){cursor:not-allowed}.om-react-ui-select-wrapper:has(.om-react-ui-select-filled,.p-disabled){cursor:text}.om-react-ui-select-wrapper:has(.om-react-ui-select-filled,.p-disabled) .p-dropdown-label.p-inputtext{-webkit-user-select:text;-moz-user-select:text;user-select:text}.om-react-ui-select-label{margin-bottom:8px;font-weight:600;font-size:16px;font-style:normal;line-height:108%;cursor:text}.om-react-ui-select-label-required:after{margin-left:4px;color:#ae0000;font-size:16px;font-style:normal;line-height:120%;content:"*"}.om-react-ui-select-message{display:inline-block;margin-top:4px;color:#646465;font-weight:400;font-size:12px;font-style:normal;line-height:17px;word-wrap:break-word;word-break:break-all;cursor:text}.om-react-ui-select-message-success{color:#1f5800}.om-react-ui-select-message-error{color:#ae0000}.om-react-ui-select-filter-icon{position:absolute;top:50%;left:16px;transform:translateY(-50%)}.om-react-ui-select-custom{align-items:center;justify-content:space-between;cursor:pointer}.om-react-ui-select-custom-placeholder{color:#9fa3a3;font-weight:400;font-size:16px;font-style:normal;line-height:inherit}.om-react-ui-select-custom-tail-focus{transform:rotate(180deg)}.om-react-ui-select-token-remove-icon{margin-left:4px;padding:2px;cursor:pointer}
1
+ .om-react-ui-select{position:relative;display:inline-flex;min-height:56px;padding:8px 16px;font-family:inherit;line-height:22px;background-color:#f8f8f8;border:1px solid #d1d2d2;border-radius:12px;transition:none}.om-react-ui-select.om-react-ui-select-small{min-height:44px;line-height:18px}.om-react-ui-select.om-react-ui-select-small .p-dropdown-label,.om-react-ui-select.om-react-ui-select-small .p-multiselect-label{font-size:14px!important}.om-react-ui-select.om-react-ui-select-small .p-dropdown-label{padding:4px 8px 4px 0}.om-react-ui-select.p-multiselect.om-react-ui-select-small.om-react-ui-select-filled{padding:8px 16px}.om-react-ui-select.p-invalid{border-color:#ae0000;box-shadow:none}.om-react-ui-select.p-invalid .p-dropdown-label,.om-react-ui-select.p-invalid .p-multiselect-label{color:#ae0000}.om-react-ui-select.p-disabled{background-color:#e3e4e4;border-color:#e3e4e4;opacity:1}.om-react-ui-select-filled.p-disabled{background-color:#f0f0f0;border-color:#f0f0f0}.om-react-ui-select-success:not(.p-disabled,.p-invalid){border-color:#1f5800}.om-react-ui-select-success:not(.p-disabled,.p-invalid) .p-dropdown-label,.om-react-ui-select-success:not(.p-disabled,.p-invalid) .p-multiselect-label{color:#1f5800!important}.om-react-ui-select .p-dropdown-label{display:inline-block;padding:8px 8px 8px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.om-react-ui-select .p-dropdown-label,.om-react-ui-select .p-multiselect-label{color:#131313;font-weight:400;font-size:16px;font-family:inherit;transition:none}.om-react-ui-select .p-multiselect-label{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 8px 0 0;line-height:140%}.om-react-ui-select .p-multiselect-label .p-multiselect-token{max-width:100%;margin-right:0;padding:4px 8px;background-color:#e3e4e4;border-radius:12px}.om-react-ui-select .p-multiselect-label .p-multiselect-token .p-multiselect-token-label{display:inline-block;overflow:hidden;color:#131313;font-weight:500;font-size:12px;line-height:13px;white-space:nowrap;text-overflow:ellipsis}.om-react-ui-select .p-multiselect-label-container{display:flex;align-items:center;line-height:inherit}.om-react-ui-select .p-multiselect-label,.om-react-ui-select>.p-placeholder{color:#9fa3a3;font-weight:400;font-size:16px;font-style:normal;line-height:inherit}.om-react-ui-select .p-dropdown-trigger,.om-react-ui-select .p-multiselect-trigger{width:auto}.om-react-ui-select.p-multiselect{padding:12px 16px}.om-react-ui-select-focus:not(.om-react-ui-select-disabled,.om-react-ui-select-invalid),.om-react-ui-select:not(.om-react-ui-select-disabled,.om-react-ui-select-invalid).p-focus{border-color:#073387;border-width:2px;box-shadow:none}.om-react-ui-select:not(.om-react-ui-select-disabled,.om-react-ui-select-invalid):hover{border-color:#131313}.om-react-ui-select-panel{padding:8px;font-family:inherit;background-color:#fefefe;border-radius:8px;box-shadow:0 4px 8px 0 rgba(65,91,130,.12)}.om-react-ui-select-panel ::-webkit-scrollbar{width:2px}.om-react-ui-select-panel ::-webkit-scrollbar-thumb{background-color:#9fa3a3;border-radius:2px}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus{background-color:#f8f8f8}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight .om-react-ui-select-panel-item svg,.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus .om-react-ui-select-panel-item svg{display:inline-block}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight,.p-disabled).p-focus{background-color:#f8f8f8}.om-react-ui-select-panel.p-dropdown-panel .p-dropdown-items .p-dropdown-item{padding:8px;color:#131313;font-weight:400;font-size:16px;font-style:normal;line-height:22px;border-radius:8px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header{margin-bottom:8px;padding:0;background-color:inherit;border:none}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info{display:inline-flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px;padding:4px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info-count{font-weight:500;font-size:14px;line-height:15px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info-clear{display:inline-flex;gap:4px;align-items:center;color:#ae0000;font-weight:500;font-size:12px;line-height:13px;cursor:pointer}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header-info-clear-icon{padding:2px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-close{display:none}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter{height:44px;padding:12px 16px 12px 44px;color:#131313;font-size:14px;line-height:22px;background-color:#f8f8f8;border:1px solid #d1d2d2;border-radius:12px}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter:hover{border-color:#131313}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter.p-inputtext:enabled:focus{border-color:#073387;border-width:2px;box-shadow:none}.om-react-ui-select-panel.p-multiselect-panel .om-react-ui-select-panel-header .p-multiselect-filter-container .p-multiselect-filter::placeholder{color:#9fa3a3}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items{font-family:inherit}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item{color:#131313;font-weight:400}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight,.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-disabled,.p-invalid,.p-highlight).p-focus{background-color:#f8f8f8}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox{display:inline-flex;align-items:center}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox .p-checkbox{width:16px;height:16px;margin-right:8px}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox .p-checkbox.p-highlight .p-checkbox-box{background-color:#073387;border-color:#073387}.om-react-ui-select-panel.p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-multiselect-checkbox .p-checkbox .p-checkbox-box{width:16px;height:16px;padding:2px;background-color:#fefefe;border:1px solid #9fa3a3;border-radius:4px;box-shadow:none}.om-react-ui-select-panel .p-dropdown-header{margin-bottom:8px;padding:0;border:none}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext{height:44px;padding:12px 16px 12px 44px;color:#131313;font-size:14px;background-color:#f8f8f8;border:1px solid #d1d2d2;border-radius:12px}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext:enabled:focus:not(.p-invalid){border-color:#073387;border-width:2px;box-shadow:none}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext:hover{border-color:#131313}.om-react-ui-select-panel .p-dropdown-filter.p-inputtext::placeholder{color:#9fa3a3}.om-react-ui-select-panel .p-dropdown-filter-icon{right:1rem}.om-react-ui-select-panel .p-dropdown-item-label{width:100%}.om-react-ui-select-panel-item{display:inline-flex;align-items:center;justify-content:space-between;width:100%}.om-react-ui-select-panel-item-label{width:100%;font-weight:inherit;font-size:16px;font-family:inherit;line-height:22px}.om-react-ui-select-panel-item svg{display:none;color:#073387;font-size:16px}.om-react-ui-select-show.p-multiselect .p-multiselect-trigger svg{transform:rotate(180deg)}.om-react-ui-select-wrapper{display:inline-flex;flex-direction:column;width:100%}.om-react-ui-select-wrapper:has(.p-disabled){cursor:not-allowed}.om-react-ui-select-wrapper:has(.om-react-ui-select-filled,.p-disabled){cursor:text}.om-react-ui-select-wrapper:has(.om-react-ui-select-filled,.p-disabled) .p-dropdown-label.p-inputtext{-webkit-user-select:text;-moz-user-select:text;user-select:text}.om-react-ui-select-label{margin-bottom:8px;font-weight:600;font-size:16px;font-style:normal;line-height:108%;cursor:text}.om-react-ui-select-label-required:after{margin-left:4px;color:#ae0000;font-size:16px;font-style:normal;line-height:120%;content:"*"}.om-react-ui-select-message{display:inline-block;margin-top:4px;color:#646465;font-weight:400;font-size:12px;font-style:normal;line-height:17px;word-wrap:break-word;word-break:break-all;cursor:text}.om-react-ui-select-message-success{color:#1f5800}.om-react-ui-select-message-error{color:#ae0000}.om-react-ui-select-filter-icon{position:absolute;top:50%;left:16px;transform:translateY(-50%)}.om-react-ui-select-custom{align-items:center;justify-content:space-between;cursor:pointer}.om-react-ui-select-custom-placeholder{color:#9fa3a3;font-weight:400;font-size:16px;font-style:normal;line-height:inherit}.om-react-ui-select-custom-tail-focus{transform:rotate(180deg)}.om-react-ui-select-custom.om-react-ui-select-disabled{cursor:text}.om-react-ui-select-custom.om-react-ui-select-editable{display:inline-flex;align-items:center;color:#131313;font-weight:400;font-size:16px;line-height:220%;cursor:text;caret-color:#131313}.om-react-ui-select-custom.om-react-ui-select-editable[contenteditable=true][data-value=""]:before{display:block;color:#9fa3a3;font-weight:400;font-size:16px;font-style:normal;line-height:inherit;content:attr(data-placeholder);pointer-events:none}.om-react-ui-select-token-remove-icon{margin-left:4px;padding:2px;cursor:pointer}
@@ -464,6 +464,32 @@ $cls: #{$prefix}-#{$component};
464
464
  transform: rotate(180deg);
465
465
  }
466
466
  }
467
+
468
+ &.#{$cls}-disabled {
469
+ cursor: text;
470
+ }
471
+
472
+ &.#{$cls}-editable {
473
+ display: inline-flex;
474
+ align-items: center;
475
+ color: $color-primary-black;
476
+ font-weight: 400;
477
+ font-size: 16px;
478
+ line-height: 220%;
479
+ cursor: text;
480
+ caret-color: $color-primary-black;
481
+
482
+ &[contenteditable='true'][data-value='']::before {
483
+ display: block;
484
+ color: $color-grey-dark;
485
+ font-weight: 400;
486
+ font-size: 16px;
487
+ font-style: normal;
488
+ line-height: inherit;
489
+ content: attr(data-placeholder);
490
+ pointer-events: none;
491
+ }
492
+ }
467
493
  }
468
494
 
469
495
  .#{$cls}-token-remove-icon {