UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

207 lines (188 loc) 21.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styles = require("@material-ui/core/styles"); var _reactBootstrap = require("react-bootstrap"); var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox")); var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel")); var _CheckBox = _interopRequireDefault(require("@material-ui/icons/CheckBox")); var _CheckBoxOutlineBlank = _interopRequireDefault(require("@material-ui/icons/CheckBoxOutlineBlank")); var _editHelpers = require("../../VerseEditor/helpers/editHelpers"); var _fontUtils = require("../../common/fontUtils"); require("./EditVerseArea.styles.css"); var styles = { formControlLabelRoot: { height: 30 }, formControlLabel: { justifyContent: 'flex-start', fontSize: 16, color: 'var(--text-color-dark)' }, checkBox: { '&$checked': { color: 'var(--accent-color-dark)' } }, checked: {} }; var EditVerseArea = function EditVerseArea(_ref) { var tags = _ref.tags, isVerseChanged = _ref.isVerseChanged, verseText = _ref.verseText, languageDirection = _ref.languageDirection, translate = _ref.translate, classes = _ref.classes, handleTagsCheckbox = _ref.handleTagsCheckbox, handleEditVerse = _ref.handleEditVerse, checkIfVerseChanged = _ref.checkIfVerseChanged, targetLanguageFont = _ref.targetLanguageFont, targetLanguageFontSize = _ref.targetLanguageFontSize; var tagList1 = [['spelling', translate('spelling')], ['punctuation', translate('punctuation')], ['wordChoice', translate('word_choice')]]; var tagList2 = [['meaning', translate('meaning')], ['grammar', translate('grammar')], ['other', translate('other')]]; var checkboxesColumn1 = tagList1.map(function (tag) { return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], { key: tag[0], disabled: !isVerseChanged, classes: { root: classes.formControlLabelRoot, label: classes.formControlLabel }, control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], { classes: { root: classes.checkBox, checked: classes.checked }, checked: tags.includes(tag[0]), onChange: function onChange() { return handleTagsCheckbox(tag[0]); }, icon: /*#__PURE__*/_react["default"].createElement(_CheckBoxOutlineBlank["default"], { style: { fontSize: '24px' } }), checkedIcon: /*#__PURE__*/_react["default"].createElement(_CheckBox["default"], { style: { fontSize: '24px' } }) }), label: tag[1] }); }); var checkboxesColumn2 = tagList2.map(function (tag) { return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], { key: tag[0], disabled: !isVerseChanged, classes: { root: classes.formControlLabelRoot, label: classes.formControlLabel }, control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], { classes: { root: classes.checkBox, checked: classes.checked }, checked: tags.includes(tag[0]), onChange: function onChange() { return handleTagsCheckbox(tag[0]); }, icon: /*#__PURE__*/_react["default"].createElement(_CheckBoxOutlineBlank["default"], { style: { fontSize: '24px' } }), checkedIcon: /*#__PURE__*/_react["default"].createElement(_CheckBox["default"], { style: { fontSize: '24px' } }) }), label: tag[1] }); }); var checkBoxText = isVerseChanged ? translate('next_change_reason') : translate('first_make_change'); var fontClass = (0, _fontUtils.getFontClassName)(targetLanguageFont) || 'default-text'; // TRICKY defaulting to the 'default-text' class prevents 'form-control' class from resetting font-size to 14px return /*#__PURE__*/_react["default"].createElement("div", { className: "edit-area" }, /*#__PURE__*/_react["default"].createElement("div", { style: { fontWeight: 'bold' } }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Glyphicon, { glyph: "pencil", style: { marginRight: '5px' } }), translate('edit_verse')), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.FormGroup, { style: { flex: 'auto', display: 'flex', flexDirection: 'column', marginBottom: '5px' }, controlId: "formControlsTextarea" }, /*#__PURE__*/_react["default"].createElement("div", { style: { fontSize: targetLanguageFontSize } }, " ", /*#__PURE__*/_react["default"].createElement(_reactBootstrap.FormControl, { autoFocus: true, onFocus: _editHelpers.moveCursorToEnd, componentClass: "textarea", type: "text", defaultValue: verseText, className: fontClass, style: { flex: 'auto', minHeight: '110px', direction: languageDirection }, onBlur: handleEditVerse, onInput: checkIfVerseChanged })), /*#__PURE__*/_react["default"].createElement("div", { style: { flex: '0 0 65px', marginTop: '5px', fontSize: '0.9em' } }, checkBoxText, /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", { style: { display: 'flex' } }, /*#__PURE__*/_react["default"].createElement("div", { style: { display: 'flex', flexDirection: 'column', margin: '0px 0px 0px 15px' } }, checkboxesColumn1), /*#__PURE__*/_react["default"].createElement("div", { style: { display: 'flex', flexDirection: 'column', margin: '0px 0px 0px 15px' } }, checkboxesColumn2))))); }; EditVerseArea.propTypes = { translate: _propTypes["default"].func.isRequired, tags: _propTypes["default"].array.isRequired, isVerseChanged: _propTypes["default"].bool.isRequired, verseText: _propTypes["default"].string.isRequired, languageDirection: _propTypes["default"].string.isRequired, classes: _propTypes["default"].object.isRequired, handleTagsCheckbox: _propTypes["default"].func.isRequired, handleEditVerse: _propTypes["default"].func.isRequired, checkIfVerseChanged: _propTypes["default"].func.isRequired, targetLanguageFont: _propTypes["default"].string, targetLanguageFontSize: _propTypes["default"].string.isRequired }; var _default = (0, _styles.withStyles)(styles)(EditVerseArea); exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WZXJzZUNoZWNrL0VkaXRWZXJzZUFyZWEvaW5kZXguanMiXSwibmFtZXMiOlsic3R5bGVzIiwiZm9ybUNvbnRyb2xMYWJlbFJvb3QiLCJoZWlnaHQiLCJmb3JtQ29udHJvbExhYmVsIiwianVzdGlmeUNvbnRlbnQiLCJmb250U2l6ZSIsImNvbG9yIiwiY2hlY2tCb3giLCJjaGVja2VkIiwiRWRpdFZlcnNlQXJlYSIsInRhZ3MiLCJpc1ZlcnNlQ2hhbmdlZCIsInZlcnNlVGV4dCIsImxhbmd1YWdlRGlyZWN0aW9uIiwidHJhbnNsYXRlIiwiY2xhc3NlcyIsImhhbmRsZVRhZ3NDaGVja2JveCIsImhhbmRsZUVkaXRWZXJzZSIsImNoZWNrSWZWZXJzZUNoYW5nZWQiLCJ0YXJnZXRMYW5ndWFnZUZvbnQiLCJ0YXJnZXRMYW5ndWFnZUZvbnRTaXplIiwidGFnTGlzdDEiLCJ0YWdMaXN0MiIsImNoZWNrYm94ZXNDb2x1bW4xIiwibWFwIiwidGFnIiwicm9vdCIsImxhYmVsIiwiaW5jbHVkZXMiLCJjaGVja2JveGVzQ29sdW1uMiIsImNoZWNrQm94VGV4dCIsImZvbnRDbGFzcyIsImZvbnRXZWlnaHQiLCJtYXJnaW5SaWdodCIsImZsZXgiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsIm1hcmdpbkJvdHRvbSIsIm1vdmVDdXJzb3JUb0VuZCIsIm1pbkhlaWdodCIsImRpcmVjdGlvbiIsIm1hcmdpblRvcCIsIm1hcmdpbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYXJyYXkiLCJib29sIiwic3RyaW5nIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsb0JBQW9CLEVBQUU7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FB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QXNCLEVBQUV3QixzQkFBVUssTUFBVixDQUFpQkg7QUFYakIsQ0FBMUI7O2VBY2Usd0JBQVc5QyxNQUFYLEVBQW1CUyxhQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7XG4gIEdseXBoaWNvbiwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCxcbn0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBDaGVja2JveCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9DaGVja2JveCc7XG5pbXBvcnQgRm9ybUNvbnRyb2xMYWJlbCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9Gb3JtQ29udHJvbExhYmVsJztcbmltcG9ydCBDaGVja0JveEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0NoZWNrQm94JztcbmltcG9ydCBDaGVja0JveE91dGxpbmVJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DaGVja0JveE91dGxpbmVCbGFuayc7XG5pbXBvcnQgeyBtb3ZlQ3Vyc29yVG9FbmQgfSBmcm9tICcuLi8uLi9WZXJzZUVkaXRvci9oZWxwZXJzL2VkaXRIZWxwZXJzJztcbmltcG9ydCB7IGdldEZvbnRDbGFzc05hbWUgfSBmcm9tICcuLi8uLi9jb21tb24vZm9udFV0aWxzJztcblxuaW1wb3J0ICcuL0VkaXRWZXJzZUFyZWEuc3R5bGVzLmNzcyc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgZm9ybUNvbnRyb2xMYWJlbFJvb3Q6IHsgaGVpZ2h0OiAzMCB9LFxuICBmb3JtQ29udHJvbExhYmVsOiB7XG4gICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICBmb250U2l6ZTogMTYsXG4gICAgY29sb3I6ICd2YXIoLS10ZXh0LWNvbG9yLWRhcmspJyxcbiAgfSxcbiAgY2hlY2tCb3g6IHsgJyYkY2hlY2tlZCc6IHsgY29sb3I6ICd2YXIoLS1hY2NlbnQtY29sb3ItZGFyayknIH0gfSxcbiAgY2hlY2tlZDp7fSxcbn07XG5cbmNvbnN0IEVkaXRWZXJzZUFyZWEgPSAoe1xuICB0YWdzLFxuICBpc1ZlcnNlQ2hhbmdlZCxcbiAgdmVyc2VUZXh0LFxuICBsYW5ndWFnZURpcmVjdGlvbixcbiAgdHJhbnNsYXRlLFxuICBjbGFzc2VzLFxuICBoYW5kbGVUYWdzQ2hlY2tib3gsXG4gIGhhbmRsZUVkaXRWZXJzZSxcbiAgY2hlY2tJZlZlcnNlQ2hhbmdlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250LFxuICB0YXJnZXRMYW5ndWFnZUZvbnRTaXplLFxufSkgPT4ge1xuICBjb25zdCB0YWdMaXN0MSA9IFtcbiAgICBbJ3NwZWxsaW5nJywgdHJhbnNsYXRlKCdzcGVsbGluZycpXSxcbiAgICBbJ3B1bmN0dWF0aW9uJywgdHJhbnNsYXRlKCdwdW5jdHVhdGlvbicpXSxcbiAgICBbJ3dvcmRDaG9pY2UnLCB0cmFuc2xhdGUoJ3dvcmRfY2hvaWNlJyldLFxuICBdO1xuXG4gIGNvbnN0IHRhZ0xpc3QyID0gW1xuICAgIFsnbWVhbmluZycsIHRyYW5zbGF0ZSgnbWVhbmluZycpXSxcbiAgICBbJ2dyYW1tYXInLCB0cmFuc2xhdGUoJ2dyYW1tYXInKV0sXG4gICAgWydvdGhlcicsIHRyYW5zbGF0ZSgnb3RoZXInKV0sXG4gIF07XG5cbiAgY29uc3QgY2hlY2tib3hlc0NvbHVtbjEgPSB0YWdMaXN0MS5tYXAodGFnID0+XG4gICAgPEZvcm1Db250cm9sTGFiZWxcbiAgICAgIGtleT17dGFnWzBdfVxuICAgICAgZGlzYWJsZWQ9eyFpc1ZlcnNlQ2hhbmdlZH1cbiAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgcm9vdDogY2xhc3Nlcy5mb3JtQ29udHJvbExhYmVsUm9vdCxcbiAgICAgICAgbGFiZWw6IGNsYXNzZXMuZm9ybUNvbnRyb2xMYWJlbCxcbiAgICAgIH19XG4gICAgICBjb250cm9sPXtcbiAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgcm9vdDogY2xhc3Nlcy5jaGVja0JveCxcbiAgICAgICAgICAgIGNoZWNrZWQ6Y2xhc3Nlcy5jaGVja2VkLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY2hlY2tlZD17dGFncy5pbmNsdWRlcyh0YWdbMF0pfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBoYW5kbGVUYWdzQ2hlY2tib3godGFnWzBdKX1cbiAgICAgICAgICBpY29uPXs8Q2hlY2tCb3hPdXRsaW5lSWNvbiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnIH19IC8+fVxuICAgICAgICAgIGNoZWNrZWRJY29uPXs8Q2hlY2tCb3hJY29uIHN0eWxlPXt7IGZvbnRTaXplOiAnMjRweCcgfX0gLz59XG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgICBsYWJlbD17dGFnWzFdfVxuICAgIC8+LFxuICApO1xuXG4gIGNvbnN0IGNoZWNrYm94ZXNDb2x1bW4yID0gdGFnTGlzdDIubWFwKHRhZyA9PlxuICAgIDxGb3JtQ29udHJvbExhYmVsXG4gICAgICBrZXk9e3RhZ1swXX1cbiAgICAgIGRpc2FibGVkPXshaXNWZXJzZUNoYW5nZWR9XG4gICAgICBjbGFzc2VzPXt7XG4gICAgICAgIHJvb3Q6IGNsYXNzZXMuZm9ybUNvbnRyb2xMYWJlbFJvb3QsXG4gICAgICAgIGxhYmVsOiBjbGFzc2VzLmZvcm1Db250cm9sTGFiZWwsXG4gICAgICB9fVxuICAgICAgY29udHJvbD17XG4gICAgICAgIDxDaGVja2JveFxuICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgIHJvb3Q6IGNsYXNzZXMuY2hlY2tCb3gsXG4gICAgICAgICAgICBjaGVja2VkOmNsYXNzZXMuY2hlY2tlZCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNoZWNrZWQ9e3RhZ3MuaW5jbHVkZXModGFnWzBdKX1cbiAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gaGFuZGxlVGFnc0NoZWNrYm94KHRhZ1swXSl9XG4gICAgICAgICAgaWNvbj17PENoZWNrQm94T3V0bGluZUljb24gc3R5bGU9e3sgZm9udFNpemU6ICcyNHB4JyB9fSAvPn1cbiAgICAgICAgICBjaGVja2VkSWNvbj17PENoZWNrQm94SWNvbiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnIH19IC8+fVxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgbGFiZWw9e3RhZ1sxXX1cbiAgICAvPixcbiAgKTtcbiAgY29uc3QgY2hlY2tCb3hUZXh0ID0gaXNWZXJzZUNoYW5nZWQgPyB0cmFuc2xhdGUoJ25leHRfY2hhbmdlX3JlYXNvbicpIDogdHJhbnNsYXRlKCdmaXJzdF9tYWtlX2NoYW5nZScpO1xuICBjb25zdCBmb250Q2xhc3MgPSBnZXRGb250Q2xhc3NOYW1lKHRhcmdldExhbmd1YWdlRm9udCkgfHwgJ2RlZmF1bHQtdGV4dCc7IC8vIFRSSUNLWSBkZWZhdWx0aW5nIHRvIHRoZSAnZGVmYXVsdC10ZXh0JyBjbGFzcyBwcmV2ZW50cyAnZm9ybS1jb250cm9sJyBjbGFzcyBmcm9tIHJlc2V0dGluZyBmb250LXNpemUgdG8gMTRweFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J2VkaXQtYXJlYSc+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJyB9fT5cbiAgICAgICAgPEdseXBoaWNvbiBnbHlwaD0ncGVuY2lsJyBzdHlsZT17eyBtYXJnaW5SaWdodDogJzVweCcgfX0gLz5cbiAgICAgICAge3RyYW5zbGF0ZSgnZWRpdF92ZXJzZScpfVxuICAgICAgPC9kaXY+XG4gICAgICA8Rm9ybUdyb3VwIHN0eWxlPXt7XG4gICAgICAgIGZsZXg6ICdhdXRvJywgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgbWFyZ2luQm90dG9tOiAnNXB4JyxcbiAgICAgIH19IGNvbnRyb2xJZD0nZm9ybUNvbnRyb2xzVGV4dGFyZWEnPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRTaXplOiB0YXJnZXRMYW5ndWFnZUZvbnRTaXplIH19PiB7LyphcHBseSBkZXNpcmVkIGZvbnQgc2l6ZSBtdWx0aXBsaWVyIGJlZm9yZSBmb250IGNsYXNzIHN0eWxpbmcqL31cbiAgICAgICAgICA8Rm9ybUNvbnRyb2xcbiAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgb25Gb2N1cz17bW92ZUN1cnNvclRvRW5kfVxuICAgICAgICAgICAgY29tcG9uZW50Q2xhc3M9J3RleHRhcmVhJ1xuICAgICAgICAgICAgdHlwZT0ndGV4dCdcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dmVyc2VUZXh0fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtmb250Q2xhc3N9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAnYXV0bycsXG4gICAgICAgICAgICAgIG1pbkhlaWdodDogJzExMHB4JyxcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiBsYW5ndWFnZURpcmVjdGlvbixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUVkaXRWZXJzZX1cbiAgICAgICAgICAgIG9uSW5wdXQ9e2NoZWNrSWZWZXJzZUNoYW5nZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICBmbGV4OiAnMCAwIDY1cHgnLCBtYXJnaW5Ub3A6ICc1cHgnLCBmb250U2l6ZTogJzAuOWVtJyxcbiAgICAgICAgfX0+XG4gICAgICAgICAge2NoZWNrQm94VGV4dH1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JyB9fT5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgbWFyZ2luOiAnMHB4IDBweCAwcHggMTVweCcsXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge2NoZWNrYm94ZXNDb2x1bW4xfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIG1hcmdpbjogJzBweCAwcHggMHB4IDE1cHgnLFxuICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIHtjaGVja2JveGVzQ29sdW1uMn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRm9ybUdyb3VwPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRWRpdFZlcnNlQXJlYS5wcm9wVHlwZXMgPSB7XG4gIHRyYW5zbGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdGFnczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIGlzVmVyc2VDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICB2ZXJzZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgbGFuZ3VhZ2VEaXJlY3Rpb246IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBoYW5kbGVUYWdzQ2hlY2tib3g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUVkaXRWZXJzZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZlZlcnNlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0YXJnZXRMYW5ndWFnZUZvbnRTaXplOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoRWRpdFZlcnNlQXJlYSk7XG4iXX0=