matrix-react-sdk
Version:
SDK for matrix.org using React
120 lines (117 loc) • 18.3 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _Field = _interopRequireDefault(require("../elements/Field"));
var _languageHandler = require("../../../languageHandler");
var _BaseDialog = _interopRequireDefault(require("./BaseDialog"));
var _DialogButtons = _interopRequireDefault(require("../elements/DialogButtons"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
class TextInputDialog extends _react.default.Component {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "field", /*#__PURE__*/(0, _react.createRef)());
(0, _defineProperty2.default)(this, "onOk", async ev => {
ev.preventDefault();
if (!this.field.current) return;
if (this.props.validator) {
this.setState({
busy: true
});
await this.field.current.validate({
allowEmpty: false
});
if (!this.field.current.state.valid) {
this.field.current.focus();
this.field.current.validate({
allowEmpty: false,
focused: true
});
this.setState({
busy: false
});
return;
}
}
this.props.onFinished(true, this.state.value);
});
(0, _defineProperty2.default)(this, "onCancel", () => {
this.props.onFinished(false);
});
(0, _defineProperty2.default)(this, "onChange", ev => {
this.setState({
value: ev.target.value
});
});
(0, _defineProperty2.default)(this, "onValidate", async fieldState => {
const result = await this.props.validator(fieldState);
this.setState({
valid: !!result.valid
});
return result;
});
this.state = {
value: this.props.value,
busy: false,
valid: false
};
}
componentDidMount() {
if (this.props.focus) {
// Set the cursor at the end of the text input
// this._field.current.value = this.props.value;
this.field.current?.focus();
}
}
render() {
return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, {
className: "mx_TextInputDialog",
onFinished: this.props.onFinished,
title: this.props.title,
fixedWidth: this.props.fixedWidth
}, /*#__PURE__*/_react.default.createElement("form", {
onSubmit: this.onOk
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_Dialog_content"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_TextInputDialog_label"
}, /*#__PURE__*/_react.default.createElement("label", {
htmlFor: "textinput"
}, " ", this.props.description, " ")), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Field.default, {
className: "mx_TextInputDialog_input",
ref: this.field,
type: "text",
label: this.props.placeholder,
value: this.state.value,
onChange: this.onChange,
onValidate: this.props.validator ? this.onValidate : undefined
})))), /*#__PURE__*/_react.default.createElement(_DialogButtons.default, {
primaryButton: this.state.busy ? (0, _languageHandler._t)(this.props.busyMessage) : this.props.button,
disabled: this.state.busy,
onPrimaryButtonClick: this.onOk,
onCancel: this.onCancel,
hasCancel: this.props.hasCancel
}));
}
}
exports.default = TextInputDialog;
(0, _defineProperty2.default)(TextInputDialog, "defaultProps", {
title: "",
value: "",
description: "",
busyMessage: (0, _languageHandler._td)("common|loading"),
focus: true,
hasCancel: true
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmllbGQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xhbmd1YWdlSGFuZGxlciIsIl9CYXNlRGlhbG9nIiwiX0RpYWxvZ0J1dHRvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJUZXh0SW5wdXREaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwiY3JlYXRlUmVmIiwiZXYiLCJwcmV2ZW50RGVmYXVsdCIsImZpZWxkIiwiY3VycmVudCIsInZhbGlkYXRvciIsInNldFN0YXRlIiwiYnVzeSIsInZhbGlkYXRlIiwiYWxsb3dFbXB0eSIsInN0YXRlIiwidmFsaWQiLCJmb2N1cyIsImZvY3VzZWQiLCJvbkZpbmlzaGVkIiwidmFsdWUiLCJ0YXJnZXQiLCJmaWVsZFN0YXRlIiwicmVzdWx0IiwiY29tcG9uZW50RGlkTW91bnQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwidGl0bGUiLCJmaXhlZFdpZHRoIiwib25TdWJtaXQiLCJvbk9rIiwiaHRtbEZvciIsImRlc2NyaXB0aW9uIiwicmVmIiwidHlwZSIsImxhYmVsIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsIm9uVmFsaWRhdGUiLCJ1bmRlZmluZWQiLCJwcmltYXJ5QnV0dG9uIiwiX3QiLCJidXN5TWVzc2FnZSIsImJ1dHRvbiIsImRpc2FibGVkIiwib25QcmltYXJ5QnV0dG9uQ2xpY2siLCJvbkNhbmNlbCIsImhhc0NhbmNlbCIsImV4cG9ydHMiLCJfdGQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL1RleHRJbnB1dERpYWxvZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IENoYW5nZUV2ZW50LCBjcmVhdGVSZWYgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IEZpZWxkIGZyb20gXCIuLi9lbGVtZW50cy9GaWVsZFwiO1xuaW1wb3J0IHsgX3QsIF90ZCwgVHJhbnNsYXRpb25LZXkgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBJRmllbGRTdGF0ZSwgSVZhbGlkYXRpb25SZXN1bHQgfSBmcm9tIFwiLi4vZWxlbWVudHMvVmFsaWRhdGlvblwiO1xuaW1wb3J0IEJhc2VEaWFsb2cgZnJvbSBcIi4vQmFzZURpYWxvZ1wiO1xuaW1wb3J0IERpYWxvZ0J1dHRvbnMgZnJvbSBcIi4uL2VsZW1lbnRzL0RpYWxvZ0J1dHRvbnNcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgYnV0dG9uPzogc3RyaW5nO1xuICAgIGJ1c3lNZXNzYWdlOiBUcmFuc2xhdGlvbktleTtcbiAgICBmb2N1czogYm9vbGVhbjtcbiAgICBoYXNDYW5jZWw6IGJvb2xlYW47XG4gICAgdmFsaWRhdG9yPzogKGZpZWxkU3RhdGU6IElGaWVsZFN0YXRlKSA9PiBQcm9taXNlPElWYWxpZGF0aW9uUmVzdWx0PjsgLy8gcmVzdWx0IG9mIHdpdGhWYWxpZGF0aW9uXG4gICAgZml4ZWRXaWR0aD86IGJvb2xlYW47XG4gICAgb25GaW5pc2hlZChvaz86IGZhbHNlLCB0ZXh0Pzogdm9pZCk6IHZvaWQ7XG4gICAgb25GaW5pc2hlZChvazogdHJ1ZSwgdGV4dDogc3RyaW5nKTogdm9pZDtcbn1cblxuaW50ZXJmYWNlIElTdGF0ZSB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBidXN5OiBib29sZWFuO1xuICAgIHZhbGlkOiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUZXh0SW5wdXREaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVByb3BzLCBJU3RhdGU+IHtcbiAgICBwcml2YXRlIGZpZWxkID0gY3JlYXRlUmVmPEZpZWxkPigpO1xuXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0UHJvcHM6IFBhcnRpYWw8SVByb3BzPiA9IHtcbiAgICAgICAgdGl0bGU6IFwiXCIsXG4gICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJcIixcbiAgICAgICAgYnVzeU1lc3NhZ2U6IF90ZChcImNvbW1vbnxsb2FkaW5nXCIpLFxuICAgICAgICBmb2N1czogdHJ1ZSxcbiAgICAgICAgaGFzQ2FuY2VsOiB0cnVlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnZhbHVlLFxuICAgICAgICAgICAgYnVzeTogZmFsc2UsXG4gICAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5mb2N1cykge1xuICAgICAgICAgICAgLy8gU2V0IHRoZSBjdXJzb3IgYXQgdGhlIGVuZCBvZiB0aGUgdGV4dCBpbnB1dFxuICAgICAgICAgICAgLy8gdGhpcy5fZmllbGQuY3VycmVudC52YWx1ZSA9IHRoaXMucHJvcHMudmFsdWU7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uT2sgPSBhc3luYyAoZXY6IFJlYWN0LkZvcm1FdmVudCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoIXRoaXMuZmllbGQuY3VycmVudCkgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy52YWxpZGF0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBidXN5OiB0cnVlIH0pO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5maWVsZC5jdXJyZW50LnZhbGlkYXRlKHsgYWxsb3dFbXB0eTogZmFsc2UgfSk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5maWVsZC5jdXJyZW50LnN0YXRlLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5jdXJyZW50LnZhbGlkYXRlKHsgYWxsb3dFbXB0eTogZmFsc2UsIGZvY3VzZWQ6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGJ1c3k6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb3BzLm9uRmluaXNoZWQodHJ1ZSwgdGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgb25DYW5jZWwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucHJvcHMub25GaW5pc2hlZChmYWxzZSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2UgPSAoZXY6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgdmFsdWU6IGV2LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgb25WYWxpZGF0ZSA9IGFzeW5jIChmaWVsZFN0YXRlOiBJRmllbGRTdGF0ZSk6IFByb21pc2U8SVZhbGlkYXRpb25SZXN1bHQ+ID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5wcm9wcy52YWxpZGF0b3IhKGZpZWxkU3RhdGUpO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIHZhbGlkOiAhIXJlc3VsdC52YWxpZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCYXNlRGlhbG9nXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXhfVGV4dElucHV0RGlhbG9nXCJcbiAgICAgICAgICAgICAgICBvbkZpbmlzaGVkPXt0aGlzLnByb3BzLm9uRmluaXNoZWR9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3RoaXMucHJvcHMudGl0bGV9XG4gICAgICAgICAgICAgICAgZml4ZWRXaWR0aD17dGhpcy5wcm9wcy5maXhlZFdpZHRofVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXt0aGlzLm9uT2t9PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0RpYWxvZ19jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1RleHRJbnB1dERpYWxvZ19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPVwidGV4dGlucHV0XCI+IHt0aGlzLnByb3BzLmRlc2NyaXB0aW9ufSA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9UZXh0SW5wdXREaWFsb2dfaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3RoaXMuZmllbGR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RoaXMucHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25WYWxpZGF0ZT17dGhpcy5wcm9wcy52YWxpZGF0b3IgPyB0aGlzLm9uVmFsaWRhdGUgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgICAgPERpYWxvZ0J1dHRvbnNcbiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeUJ1dHRvbj17dGhpcy5zdGF0ZS5idXN5ID8gX3QodGhpcy5wcm9wcy5idXN5TWVzc2FnZSkgOiB0aGlzLnByb3BzLmJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuYnVzeX1cbiAgICAgICAgICAgICAgICAgICAgb25QcmltYXJ5QnV0dG9uQ2xpY2s9e3RoaXMub25Pa31cbiAgICAgICAgICAgICAgICAgICAgb25DYW5jZWw9e3RoaXMub25DYW5jZWx9XG4gICAgICAgICAgICAgICAgICAgIGhhc0NhbmNlbD17dGhpcy5wcm9wcy5oYXNDYW5jZWx9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvQmFzZURpYWxvZz5cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsZ0JBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUFzRCxTQUFBTSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUix3QkFBQVEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENB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QUFRLENBQzNELENBQUMsZUFDTjlELE1BQUEsQ0FBQWMsT0FBQSxDQUFBeUMsYUFBQSwyQkFDSXZELE1BQUEsQ0FBQWMsT0FBQSxDQUFBeUMsYUFBQSxDQUFDcEQsTUFBQSxDQUFBVyxPQUFLO01BQ0YwQyxTQUFTLEVBQUMsMEJBQTBCO01BQ3BDTyxHQUFHLEVBQUUsSUFBSSxDQUFDMUIsS0FBTTtNQUNoQjJCLElBQUksRUFBQyxNQUFNO01BQ1hDLEtBQUssRUFBRSxJQUFJLENBQUNqQyxLQUFLLENBQUNrQyxXQUFZO01BQzlCakIsS0FBSyxFQUFFLElBQUksQ0FBQ0wsS0FBSyxDQUFDSyxLQUFNO01BQ3hCa0IsUUFBUSxFQUFFLElBQUksQ0FBQ0EsUUFBUztNQUN4QkMsVUFBVSxFQUFFLElBQUksQ0FBQ3BDLEtBQUssQ0FBQ08sU0FBUyxHQUFHLElBQUksQ0FBQzZCLFVBQVUsR0FBR0M7SUFBVSxDQUNsRSxDQUNBLENBQ0osQ0FDSCxDQUFDLGVBQ1ByRSxNQUFBLENBQUFjLE9BQUEsQ0FBQXlDLGFBQUEsQ0FBQ2hELGNBQUEsQ0FBQU8sT0FBYTtNQUNWd0QsYUFBYSxFQUFFLElBQUksQ0FBQzFCLEtBQUssQ0FBQ0gsSUFBSSxHQUFHLElBQUE4QixtQkFBRSxFQUFDLElBQUksQ0FBQ3ZDLEtBQUssQ0FBQ3dDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQ3hDLEtBQUssQ0FBQ3lDLE1BQU87TUFDaEZDLFFBQVEsRUFBRSxJQUFJLENBQUM5QixLQUFLLENBQUNILElBQUs7TUFDMUJrQyxvQkFBb0IsRUFBRSxJQUFJLENBQUNmLElBQUs7TUFDaENnQixRQUFRLEVBQUUsSUFBSSxDQUFDQSxRQUFTO01BQ3hCQyxTQUFTLEVBQUUsSUFBSSxDQUFDN0MsS0FBSyxDQUFDNkM7SUFBVSxDQUNuQyxDQUNPLENBQUM7RUFFckI7QUFDSjtBQUFDQyxPQUFBLENBQUFoRSxPQUFBLEdBQUFjLGVBQUE7QUFBQSxJQUFBSyxnQkFBQSxDQUFBbkIsT0FBQSxFQXJHb0JjLGVBQWUsa0JBR2M7RUFDMUM2QixLQUFLLEVBQUUsRUFBRTtFQUNUUixLQUFLLEVBQUUsRUFBRTtFQUNUYSxXQUFXLEVBQUUsRUFBRTtFQUNmVSxXQUFXLEVBQUUsSUFBQU8sb0JBQUcsRUFBQyxnQkFBZ0IsQ0FBQztFQUNsQ2pDLEtBQUssRUFBRSxJQUFJO0VBQ1grQixTQUFTLEVBQUU7QUFDZixDQUFDIiwiaWdub3JlTGlzdCI6W119