tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
180 lines (159 loc) • 21.5 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _RenderSelectionTextComponent = _interopRequireDefault(require("../RenderSelectionTextComponent"));
var _ThreeDotMenu = _interopRequireDefault(require("../ThreeDotMenu"));
var _MyLanguageModal = _interopRequireDefault(require("../MyLanguageModal"));
var _ = require("../..");
var _fontUtils = require("../../common/fontUtils");
require("../VerseCheck.styles.css");
// components
var NAMESPACE = 'CheckArea';
var SelectionArea = function SelectionArea(_ref) {
var mode = _ref.mode,
translate = _ref.translate,
reference = _ref.reference,
verseText = _ref.verseText,
selections = _ref.selections,
bookDetails = _ref.bookDetails,
targetBible = _ref.targetBible,
toolsSettings = _ref.toolsSettings,
setToolSettings = _ref.setToolSettings,
openAlertDialog = _ref.openAlertDialog,
maximumSelections = _ref.maximumSelections,
targetLanguageFont = _ref.targetLanguageFont,
targetLanguageDetails = _ref.targetLanguageDetails,
changeSelectionsInLocalState = _ref.changeSelectionsInLocalState;
var book = targetLanguageDetails.book,
direction = targetLanguageDetails.direction,
languageCode = targetLanguageDetails.id;
var _useState = (0, _react.useState)(false),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
isModalVisible = _useState2[0],
changeModalVisibility = _useState2[1];
var bookName = book && book.name ? book.name : bookDetails.name;
var languageName = targetLanguageDetails.name || null;
var languageStr = (0, _.getTitleWithId)(languageName, languageCode);
var refStr = (0, _.getReferenceStr)(reference.chapter, reference.verse);
var title = (0, _.getTitleStr)(bookName, refStr);
var isLTR_ = (0, _.isLTR)(direction);
var style = {
display: 'flex',
flexDirection: 'column'
};
var targetLanguageFontClassName = (0, _fontUtils.getFontClassName)(targetLanguageFont);
var verseTitleClassName = targetLanguageFontClassName ? "verse-title-title ".concat(targetLanguageFontClassName) : 'verse-title-title';
var verseSubtitleClassName = targetLanguageFontClassName ? "verse-title-subtitle ".concat(targetLanguageFontClassName) : 'verse-title-subtitle';
var lineHeightStyle = targetLanguageFontClassName ? {
lineHeight: 1.4,
padding: targetLanguageFontClassName.includes('Awami') ? '0 0 10px' : 0
} : {};
var _ref2 = toolsSettings[NAMESPACE] || {},
fontSize = _ref2.fontSize;
var textStyle = fontSize ? {
fontSize: "".concat(fontSize, "%")
} : {};
if (!isLTR_) {
// for RTL
style.justifyContent = 'right';
style.width = '100%';
style.direction = 'rtl';
style.paddingRight = '15px';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: "selection-area-root"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "verse-title"
}, isLTR_ ? '' : /*#__PURE__*/_react["default"].createElement(_ThreeDotMenu["default"], {
namespace: NAMESPACE,
toolsSettings: toolsSettings,
setToolSettings: setToolSettings,
label: translate('expand_verses'),
title: translate('click_show_expanded'),
handleMyLanguageModal: function handleMyLanguageModal() {
return changeModalVisibility(true);
}
}), /*#__PURE__*/_react["default"].createElement("div", {
className: "pane",
style: style
}, /*#__PURE__*/_react["default"].createElement("span", {
className: verseTitleClassName,
style: lineHeightStyle
}, languageStr), /*#__PURE__*/_react["default"].createElement("span", {
className: verseSubtitleClassName,
style: lineHeightStyle
}, title)), isLTR_ ? /*#__PURE__*/_react["default"].createElement(_ThreeDotMenu["default"], {
anchorOrigin: {
vertical: 'bottom',
horizontal: 'left'
},
transformOrigin: {
vertical: 'top',
horizontal: 'left'
},
namespace: NAMESPACE,
toolsSettings: toolsSettings,
setToolSettings: setToolSettings,
label: translate('expand_verses'),
title: translate('click_show_expanded'),
handleMyLanguageModal: function handleMyLanguageModal() {
return changeModalVisibility(true);
}
}) : '', isModalVisible && /*#__PURE__*/_react["default"].createElement(_MyLanguageModal["default"], {
bookName: bookName,
show: isModalVisible,
translate: translate,
fontSize: "".concat(fontSize, "%"),
targetBible: targetBible,
chapter: reference.chapter,
currentVerse: reference.verse,
targetLanguageFont: targetLanguageFont,
targetLanguageDetails: targetLanguageDetails,
languageDirection: direction || 'ltr',
onHide: function onHide() {
return changeModalVisibility(false);
}
})), /*#__PURE__*/_react["default"].createElement("div", {
style: {
overflow: 'auto'
}
}, /*#__PURE__*/_react["default"].createElement("div", {
className: direction === 'ltr' ? 'ltr-content' : 'rtl-content',
style: textStyle
}, /*#__PURE__*/_react["default"].createElement(_RenderSelectionTextComponent["default"], {
mode: mode,
translate: translate,
verseText: verseText,
selections: selections,
openAlertDialog: openAlertDialog,
maximumSelections: maximumSelections,
targetLanguageFontClassName: targetLanguageFontClassName,
changeSelectionsInLocalState: changeSelectionsInLocalState
}))));
};
SelectionArea.propTypes = {
mode: _propTypes["default"].string.isRequired,
targetLanguageFont: _propTypes["default"].string,
translate: _propTypes["default"].func.isRequired,
reference: _propTypes["default"].object.isRequired,
verseText: _propTypes["default"].string.isRequired,
selections: _propTypes["default"].array.isRequired,
targetBible: _propTypes["default"].object.isRequired,
bookDetails: _propTypes["default"].object.isRequired,
toolsSettings: _propTypes["default"].object.isRequired,
openAlertDialog: _propTypes["default"].func.isRequired,
setToolSettings: _propTypes["default"].func.isRequired,
maximumSelections: _propTypes["default"].number.isRequired,
targetLanguageDetails: _propTypes["default"].object.isRequired,
changeSelectionsInLocalState: _propTypes["default"].func.isRequired
};
var _default = SelectionArea;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WZXJzZUNoZWNrL1NlbGVjdGlvbkFyZWEvaW5kZXguanMiXSwibmFtZXMiOlsiTkFNRVNQQUNFIiwiU2VsZWN0aW9uQXJlYSIsIm1vZGUiLCJ0cmFuc2xhdGUiLCJyZWZlcmVuY2UiLCJ2ZXJzZVRleHQiLCJzZWxlY3Rpb25zIiwiYm9va0RldGFpbHMiLCJ0YXJnZXRCaWJsZSIsInRvb2xzU2V0dGluZ3MiLCJzZXRUb29sU2V0dGluZ3MiLCJvcGVuQWxlcnREaWFsb2ciLCJtYXhpbXVtU2VsZWN0aW9ucyIsInRhcmdldExhbmd1YWdlRm9udCIsInRhcmdldExhbmd1YWdlRGV0YWlscyIsImNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGUiLCJib29rIiwiZGlyZWN0aW9uIiwibGFuZ3VhZ2VDb2RlIiwiaWQiLCJpc01vZGFsVmlzaWJsZSIsImNoYW5nZU1vZGFsVmlzaWJpbGl0eSIsImJvb2tOYW1lIiwibmFtZSIsImxhbmd1YWdlTmFtZSIsImxhbmd1YWdlU3RyIiwicmVmU3RyIiwiY2hhcHRlciIsInZlcnNlIiwidGl0bGUiLCJpc0xUUl8iLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwidGFyZ2V0TGFuZ3VhZ2VGb250Q2xhc3NOYW1lIiwidmVyc2VUaXRsZUNsYXNzTmFtZSIsInZlcnNlU3VidGl0bGVDbGFzc05hbWUiLCJsaW5lSGVpZ2h0U3R5bGUiLCJsaW5lSGVpZ2h0IiwicGFkZGluZyIsImluY2x1ZGVzIiwiZm9udFNpemUiLCJ0ZXh0U3R5bGUiLCJqdXN0aWZ5Q29udGVudCIsIndpZHRoIiwicGFkZGluZ1JpZ2h0IiwidmVydGljYWwiLCJob3Jpem9udGFsIiwib3ZlcmZsb3ciLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm9iamVjdCIsImFycmF5IiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FB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L0I7QUFRRSxJQUFBLDRCQUE0QixFQUFFbkI7QUFSaEMsSUFERixDQURGLENBL0RGLENBREY7QUFnRkQsQ0EzSEQ7O0FBOEhBZCxhQUFhLENBQUNnRCxTQUFkLEdBQTBCO0FBQ3hCL0MsRUFBQUEsSUFBSSxFQUFFZ0Qsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBREM7QUFFeEJ2QyxFQUFBQSxrQkFBa0IsRUFBRXFDLHNCQUFVQyxNQUZOO0FBR3hCaEQsRUFBQUEsU0FBUyxFQUFFK0Msc0JBQVVHLElBQVYsQ0FBZUQsVUFIRjtBQUl4QmhELEVBQUFBLFNBQVMsRUFBRThDLHNCQUFVSSxNQUFWLENBQWlCRixVQUpKO0FBS3hCL0MsRUFBQUEsU0FBUyxFQUFFNkMsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBTEo7QUFNeEI5QyxFQUFBQSxVQUFVLEVBQUU0QyxzQkFBVUssS0FBVixDQUFnQkgsVUFOSjtBQU94QjVDLEVBQUFBLFdBQVcsRUFBRTBDLHNCQUFVSSxNQUFWLENBQWlCRixVQVBOO0FBUXhCN0MsRUFBQUEsV0FBVyxFQUFFMkMsc0JBQVVJLE1BQVYsQ0FBaUJGLFVBUk47QUFTeEIzQyxFQUFBQSxhQUFhLEVBQUV5QyxzQkFBVUksTUFBVixDQUFpQkYsVUFUUjtBQVV4QnpDLEVBQUFBLGVBQWUsRUFBRXVDLHNCQUFVRyxJQUFWLENBQWVELFVBVlI7QUFXeEIxQyxFQUFBQSxlQUFlLEVBQUV3QyxzQkFBVUcsSUFBVixDQUFlRCxVQVhSO0FBWXhCeEMsRUFBQUEsaUJBQWlCLEVBQUVzQyxzQkFBVU0sTUFBVixDQUFpQkosVUFaWjtBQWF4QnRDLEVBQUFBLHFCQUFxQixFQUFFb0Msc0JBQVVJLE1BQVYsQ0FBaUJGLFVBYmhCO0FBY3hCckMsRUFBQUEsNEJBQTRCLEVBQUVtQyxzQkFBVUcsSUFBVixDQUFlRDtBQWRyQixDQUExQjtlQWlCZW5ELGEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuLy8gY29tcG9uZW50c1xuaW1wb3J0IFJlbmRlclNlbGVjdGlvblRleHRDb21wb25lbnQgZnJvbSAnLi4vUmVuZGVyU2VsZWN0aW9uVGV4dENvbXBvbmVudCc7XG5pbXBvcnQgVGhyZWVEb3RNZW51IGZyb20gJy4uL1RocmVlRG90TWVudSc7XG5pbXBvcnQgTXlMYW5ndWFnZU1vZGFsIGZyb20gJy4uL015TGFuZ3VhZ2VNb2RhbCc7XG5pbXBvcnQge1xuICBnZXRSZWZlcmVuY2VTdHIsXG4gIGdldFRpdGxlU3RyLFxuICBnZXRUaXRsZVdpdGhJZCxcbiAgaXNMVFIsXG59IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IGdldEZvbnRDbGFzc05hbWUgfSBmcm9tICcuLi8uLi9jb21tb24vZm9udFV0aWxzJztcbmltcG9ydCAnLi4vVmVyc2VDaGVjay5zdHlsZXMuY3NzJztcbmNvbnN0IE5BTUVTUEFDRSA9ICdDaGVja0FyZWEnO1xuXG5jb25zdCBTZWxlY3Rpb25BcmVhID0gKHtcbiAgbW9kZSxcbiAgdHJhbnNsYXRlLFxuICByZWZlcmVuY2UsXG4gIHZlcnNlVGV4dCxcbiAgc2VsZWN0aW9ucyxcbiAgYm9va0RldGFpbHMsXG4gIHRhcmdldEJpYmxlLFxuICB0b29sc1NldHRpbmdzLFxuICBzZXRUb29sU2V0dGluZ3MsXG4gIG9wZW5BbGVydERpYWxvZyxcbiAgbWF4aW11bVNlbGVjdGlvbnMsXG4gIHRhcmdldExhbmd1YWdlRm9udCxcbiAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzLFxuICBjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgYm9vayxcbiAgICBkaXJlY3Rpb24sXG4gICAgaWQ6bGFuZ3VhZ2VDb2RlLFxuICB9ID0gdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzO1xuICBjb25zdCBbaXNNb2RhbFZpc2libGUsIGNoYW5nZU1vZGFsVmlzaWJpbGl0eV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGJvb2tOYW1lID0gYm9vayAmJiBib29rLm5hbWUgPyBib29rLm5hbWUgOiBib29rRGV0YWlscy5uYW1lO1xuICBjb25zdCBsYW5ndWFnZU5hbWUgPSB0YXJnZXRMYW5ndWFnZURldGFpbHMubmFtZSB8fCBudWxsO1xuICBjb25zdCBsYW5ndWFnZVN0ciA9IGdldFRpdGxlV2l0aElkKGxhbmd1YWdlTmFtZSwgbGFuZ3VhZ2VDb2RlKTtcbiAgY29uc3QgcmVmU3RyID0gZ2V0UmVmZXJlbmNlU3RyKHJlZmVyZW5jZS5jaGFwdGVyLCByZWZlcmVuY2UudmVyc2UpO1xuICBjb25zdCB0aXRsZSA9IGdldFRpdGxlU3RyKGJvb2tOYW1lLCByZWZTdHIpO1xuICBjb25zdCBpc0xUUl8gPSBpc0xUUihkaXJlY3Rpb24pO1xuICBjb25zdCBzdHlsZSA9IHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyB9O1xuICBjb25zdCB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPSBnZXRGb250Q2xhc3NOYW1lKHRhcmdldExhbmd1YWdlRm9udCk7XG4gIGNvbnN0IHZlcnNlVGl0bGVDbGFzc05hbWUgPSB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPyBgdmVyc2UtdGl0bGUtdGl0bGUgJHt0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWV9YCA6ICd2ZXJzZS10aXRsZS10aXRsZSc7XG4gIGNvbnN0IHZlcnNlU3VidGl0bGVDbGFzc05hbWUgPSB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPyBgdmVyc2UtdGl0bGUtc3VidGl0bGUgJHt0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWV9YCA6ICd2ZXJzZS10aXRsZS1zdWJ0aXRsZSc7XG4gIGNvbnN0IGxpbmVIZWlnaHRTdHlsZSA9IHRhcmdldExhbmd1YWdlRm9udENsYXNzTmFtZSA/IHsgbGluZUhlaWdodDogMS40LCBwYWRkaW5nOiB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUuaW5jbHVkZXMoJ0F3YW1pJykgPyAnMCAwIDEwcHgnIDogMCB9IDoge307XG4gIGNvbnN0IHsgZm9udFNpemUgfSA9IHRvb2xzU2V0dGluZ3NbTkFNRVNQQUNFXSB8fCB7fTtcbiAgY29uc3QgdGV4dFN0eWxlID0gZm9udFNpemUgPyB7IGZvbnRTaXplOiBgJHtmb250U2l6ZX0lYCB9IDoge307XG5cbiAgaWYgKCFpc0xUUl8pIHsgLy8gZm9yIFJUTFxuICAgIHN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ3JpZ2h0JztcbiAgICBzdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICBzdHlsZS5kaXJlY3Rpb24gPSAncnRsJztcbiAgICBzdHlsZS5wYWRkaW5nUmlnaHQgPSAnMTVweCc7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdzZWxlY3Rpb24tYXJlYS1yb290Jz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSd2ZXJzZS10aXRsZSc+XG4gICAgICAgIHsvKiBwdXQgaWNvbiBoZXJlIGlmIFJUTCAqL31cbiAgICAgICAge1xuICAgICAgICAgIGlzTFRSXyA/XG4gICAgICAgICAgICAnJ1xuICAgICAgICAgICAgOlxuICAgICAgICAgICAgPFRocmVlRG90TWVudVxuICAgICAgICAgICAgICBuYW1lc3BhY2U9e05BTUVTUEFDRX1cbiAgICAgICAgICAgICAgdG9vbHNTZXR0aW5ncz17dG9vbHNTZXR0aW5nc31cbiAgICAgICAgICAgICAgc2V0VG9vbFNldHRpbmdzPXtzZXRUb29sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIGxhYmVsPXt0cmFuc2xhdGUoJ2V4cGFuZF92ZXJzZXMnKX1cbiAgICAgICAgICAgICAgdGl0bGU9e3RyYW5zbGF0ZSgnY2xpY2tfc2hvd19leHBhbmRlZCcpfVxuICAgICAgICAgICAgICBoYW5kbGVNeUxhbmd1YWdlTW9kYWw9eygpID0+IGNoYW5nZU1vZGFsVmlzaWJpbGl0eSh0cnVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3BhbmUnIHN0eWxlPXtzdHlsZX0+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXt2ZXJzZVRpdGxlQ2xhc3NOYW1lfSBzdHlsZT17bGluZUhlaWdodFN0eWxlfT5cbiAgICAgICAgICAgIHtsYW5ndWFnZVN0cn1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXt2ZXJzZVN1YnRpdGxlQ2xhc3NOYW1lfSBzdHlsZT17bGluZUhlaWdodFN0eWxlfT5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7LyogcHV0IGljb24gaGVyZSBpZiBMVFIgKi99XG4gICAgICAgIHtcbiAgICAgICAgICBpc0xUUl8gP1xuICAgICAgICAgICAgPFRocmVlRG90TWVudVxuICAgICAgICAgICAgICBhbmNob3JPcmlnaW49e3tcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3tcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogJ3RvcCcsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBuYW1lc3BhY2U9e05BTUVTUEFDRX1cbiAgICAgICAgICAgICAgdG9vbHNTZXR0aW5ncz17dG9vbHNTZXR0aW5nc31cbiAgICAgICAgICAgICAgc2V0VG9vbFNldHRpbmdzPXtzZXRUb29sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIGxhYmVsPXt0cmFuc2xhdGUoJ2V4cGFuZF92ZXJzZXMnKX1cbiAgICAgICAgICAgICAgdGl0bGU9e3RyYW5zbGF0ZSgnY2xpY2tfc2hvd19leHBhbmRlZCcpfVxuICAgICAgICAgICAgICBoYW5kbGVNeUxhbmd1YWdlTW9kYWw9eygpID0+IGNoYW5nZU1vZGFsVmlzaWJpbGl0eSh0cnVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA6XG4gICAgICAgICAgICAnJ1xuICAgICAgICB9XG4gICAgICAgIHtcbiAgICAgICAgICBpc01vZGFsVmlzaWJsZSAmJlxuICAgICAgICAgIDxNeUxhbmd1YWdlTW9kYWxcbiAgICAgICAgICAgIGJvb2tOYW1lPXtib29rTmFtZX1cbiAgICAgICAgICAgIHNob3c9e2lzTW9kYWxWaXNpYmxlfVxuICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICBmb250U2l6ZT17YCR7Zm9udFNpemV9JWB9XG4gICAgICAgICAgICB0YXJnZXRCaWJsZT17dGFyZ2V0QmlibGV9XG4gICAgICAgICAgICBjaGFwdGVyPXtyZWZlcmVuY2UuY2hhcHRlcn1cbiAgICAgICAgICAgIGN1cnJlbnRWZXJzZT17cmVmZXJlbmNlLnZlcnNlfVxuICAgICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250PXt0YXJnZXRMYW5ndWFnZUZvbnR9XG4gICAgICAgICAgICB0YXJnZXRMYW5ndWFnZURldGFpbHM9e3RhcmdldExhbmd1YWdlRGV0YWlsc31cbiAgICAgICAgICAgIGxhbmd1YWdlRGlyZWN0aW9uPXtkaXJlY3Rpb24gfHwgJ2x0cid9XG4gICAgICAgICAgICBvbkhpZGU9eygpID0+IGNoYW5nZU1vZGFsVmlzaWJpbGl0eShmYWxzZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93OiAnYXV0bycgfX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtkaXJlY3Rpb24gPT09ICdsdHInID8gJ2x0ci1jb250ZW50JyA6ICdydGwtY29udGVudCd9IHN0eWxlPXt0ZXh0U3R5bGV9PlxuICAgICAgICAgIDxSZW5kZXJTZWxlY3Rpb25UZXh0Q29tcG9uZW50XG4gICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICAgIHNlbGVjdGlvbnM9e3NlbGVjdGlvbnN9XG4gICAgICAgICAgICBvcGVuQWxlcnREaWFsb2c9e29wZW5BbGVydERpYWxvZ31cbiAgICAgICAgICAgIG1heGltdW1TZWxlY3Rpb25zPXttYXhpbXVtU2VsZWN0aW9uc31cbiAgICAgICAgICAgIHRhcmdldExhbmd1YWdlRm9udENsYXNzTmFtZT17dGFyZ2V0TGFuZ3VhZ2VGb250Q2xhc3NOYW1lfVxuICAgICAgICAgICAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZT17Y2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5TZWxlY3Rpb25BcmVhLnByb3BUeXBlcyA9IHtcbiAgbW9kZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB0YXJnZXRMYW5ndWFnZUZvbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHRyYW5zbGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgcmVmZXJlbmNlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHZlcnNlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzZWxlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0QmlibGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYm9va0RldGFpbHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgdG9vbHNTZXR0aW5nczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBvcGVuQWxlcnREaWFsb2c6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNldFRvb2xTZXR0aW5nczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbWF4aW11bVNlbGVjdGlvbnM6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3Rpb25BcmVhO1xuIl19