UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

90 lines (89 loc) 13.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _react = /*#__PURE__*/ _interop_require_default(require("react")); const _reactdiffviewercontinued = /*#__PURE__*/ _interop_require_default(require("react-diff-viewer-continued")); const _reacti18next = require("react-i18next"); const _types = require("../../../../../../../fields/config/types"); const _getTranslation = require("../../../../../../../utilities/getTranslation"); const _Config = require("../../../../../utilities/Config"); const _Locale = require("../../../../../utilities/Locale"); const _Label = /*#__PURE__*/ _interop_require_default(require("../../Label")); const _styles = require("../styles"); require("./index.scss"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const baseClass = 'relationship-diff'; const generateLabelFromValue = (collections, field, locale, value)=>{ let relation; let relatedDoc; let valueToReturn = ''; if (value === null || typeof value === 'undefined') { return String(value); } if (Array.isArray(field.relationTo)) { if (typeof value === 'object') { relation = value.relationTo; relatedDoc = value.value; } } else { relation = field.relationTo; relatedDoc = value; } const relatedCollection = collections.find((c)=>c.slug === relation); if (relatedCollection) { const useAsTitle = relatedCollection?.admin?.useAsTitle; const useAsTitleField = relatedCollection.fields.find((f)=>(0, _types.fieldAffectsData)(f) && !(0, _types.fieldIsPresentationalOnly)(f) && f.name === useAsTitle); let titleFieldIsLocalized = false; if (useAsTitleField && (0, _types.fieldAffectsData)(useAsTitleField)) titleFieldIsLocalized = useAsTitleField.localized; if (typeof relatedDoc?.[useAsTitle] !== 'undefined') { valueToReturn = relatedDoc[useAsTitle]; } else if (typeof relatedDoc?.id !== 'undefined') { valueToReturn = relatedDoc.id; } if (typeof valueToReturn === 'object' && titleFieldIsLocalized) { valueToReturn = valueToReturn[locale]; } } return valueToReturn; }; const Relationship = ({ comparison, field, version })=>{ const { collections } = (0, _Config.useConfig)(); const { i18n, t } = (0, _reacti18next.useTranslation)('general'); const { code: locale } = (0, _Locale.useLocale)(); let placeholder = ''; if (version === comparison) placeholder = `[${t('noValue')}]`; let versionToRender = version; let comparisonToRender = comparison; if (field.hasMany) { if (Array.isArray(version)) versionToRender = version.map((val)=>generateLabelFromValue(collections, field, locale, val)).join(', '); if (Array.isArray(comparison)) comparisonToRender = comparison.map((val)=>generateLabelFromValue(collections, field, locale, val)).join(', '); } else { versionToRender = generateLabelFromValue(collections, field, locale, version); comparisonToRender = generateLabelFromValue(collections, field, locale, comparison); } return /*#__PURE__*/ _react.default.createElement("div", { className: baseClass }, /*#__PURE__*/ _react.default.createElement(_Label.default, null, locale && /*#__PURE__*/ _react.default.createElement("span", { className: `${baseClass}__locale-label` }, locale), (0, _getTranslation.getTranslation)(field.label, i18n)), /*#__PURE__*/ _react.default.createElement(_reactdiffviewercontinued.default, { hideLineNumbers: true, newValue: typeof versionToRender !== 'undefined' ? String(versionToRender) : placeholder, oldValue: typeof comparisonToRender !== 'undefined' ? String(comparisonToRender) : placeholder, showDiffOnly: false, splitView: true, styles: _styles.diffStyles })); }; const _default = Relationship; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3ZpZXdzL1ZlcnNpb24vUmVuZGVyRmllbGRzVG9EaWZmL2ZpZWxkcy9SZWxhdGlvbnNoaXAvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERpZmZWaWV3ZXIgZnJvbSAncmVhY3QtZGlmZi12aWV3ZXItY29udGludWVkJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFJlbGF0aW9uc2hpcEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHtcbiAgZmllbGRBZmZlY3RzRGF0YSxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbGl0aWVzL0NvbmZpZydcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxpdGllcy9Mb2NhbGUnXG5pbXBvcnQgTGFiZWwgZnJvbSAnLi4vLi4vTGFiZWwnXG5pbXBvcnQgeyBkaWZmU3R5bGVzIH0gZnJvbSAnLi4vc3R5bGVzJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyZWxhdGlvbnNoaXAtZGlmZidcblxudHlwZSBSZWxhdGlvbnNoaXBWYWx1ZSA9IFJlY29yZDxzdHJpbmcsIGFueT5cblxuY29uc3QgZ2VuZXJhdGVMYWJlbEZyb21WYWx1ZSA9IChcbiAgY29sbGVjdGlvbnM6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdbXSxcbiAgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkLFxuICBsb2NhbGU6IHN0cmluZyxcbiAgdmFsdWU6IHsgcmVsYXRpb25Ubzogc3RyaW5nOyB2YWx1ZTogUmVsYXRpb25zaGlwVmFsdWUgfSB8IFJlbGF0aW9uc2hpcFZhbHVlLFxuKTogc3RyaW5nID0+IHtcbiAgbGV0IHJlbGF0aW9uOiBzdHJpbmdcbiAgbGV0IHJlbGF0ZWREb2M6IFJlbGF0aW9uc2hpcFZhbHVlXG4gIGxldCB2YWx1ZVRvUmV0dXJuID0gJycgYXMgYW55XG5cbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgcmVsYXRpb24gPSB2YWx1ZS5yZWxhdGlvblRvXG4gICAgICByZWxhdGVkRG9jID0gdmFsdWUudmFsdWVcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVsYXRpb24gPSBmaWVsZC5yZWxhdGlvblRvXG4gICAgcmVsYXRlZERvYyA9IHZhbHVlXG4gIH1cblxuICBjb25zdCByZWxhdGVkQ29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmZpbmQoKGMpID0+IGMuc2x1ZyA9PT0gcmVsYXRpb24pXG5cbiAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uKSB7XG4gICAgY29uc3QgdXNlQXNUaXRsZSA9IHJlbGF0ZWRDb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZVxuICAgIGNvbnN0IHVzZUFzVGl0bGVGaWVsZCA9IHJlbGF0ZWRDb2xsZWN0aW9uLmZpZWxkcy5maW5kKFxuICAgICAgKGYpID0+IGZpZWxkQWZmZWN0c0RhdGEoZikgJiYgIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZikgJiYgZi5uYW1lID09PSB1c2VBc1RpdGxlLFxuICAgIClcbiAgICBsZXQgdGl0bGVGaWVsZElzTG9jYWxpemVkID0gZmFsc2VcblxuICAgIGlmICh1c2VBc1RpdGxlRmllbGQgJiYgZmllbGRBZmZlY3RzRGF0YSh1c2VBc1RpdGxlRmllbGQpKVxuICAgICAgdGl0bGVGaWVsZElzTG9jYWxpemVkID0gdXNlQXNUaXRsZUZpZWxkLmxvY2FsaXplZFxuXG4gICAgaWYgKHR5cGVvZiByZWxhdGVkRG9jPy5bdXNlQXNUaXRsZV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB2YWx1ZVRvUmV0dXJuID0gcmVsYXRlZERvY1t1c2VBc1RpdGxlXVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlbGF0ZWREb2M/LmlkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdmFsdWVUb1JldHVybiA9IHJlbGF0ZWREb2MuaWRcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlVG9SZXR1cm4gPT09ICdvYmplY3QnICYmIHRpdGxlRmllbGRJc0xvY2FsaXplZCkge1xuICAgICAgdmFsdWVUb1JldHVybiA9IHZhbHVlVG9SZXR1cm5bbG9jYWxlXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZVRvUmV0dXJuXG59XG5cbmNvbnN0IFJlbGF0aW9uc2hpcDogUmVhY3QuRkM8UHJvcHMgJiB7IGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCB9PiA9ICh7XG4gIGNvbXBhcmlzb24sXG4gIGZpZWxkLFxuICB2ZXJzaW9uLFxufSkgPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdnZW5lcmFsJylcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG5cbiAgbGV0IHBsYWNlaG9sZGVyID0gJydcblxuICBpZiAodmVyc2lvbiA9PT0gY29tcGFyaXNvbikgcGxhY2Vob2xkZXIgPSBgWyR7dCgnbm9WYWx1ZScpfV1gXG5cbiAgbGV0IHZlcnNpb25Ub1JlbmRlciA9IHZlcnNpb25cbiAgbGV0IGNvbXBhcmlzb25Ub1JlbmRlciA9IGNvbXBhcmlzb25cblxuICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZlcnNpb24pKVxuICAgICAgdmVyc2lvblRvUmVuZGVyID0gdmVyc2lvblxuICAgICAgICAubWFwKCh2YWwpID0+IGdlbmVyYXRlTGFiZWxGcm9tVmFsdWUoY29sbGVjdGlvbnMsIGZpZWxkLCBsb2NhbGUsIHZhbCkpXG4gICAgICAgIC5qb2luKCcsICcpXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29tcGFyaXNvbikpXG4gICAgICBjb21wYXJpc29uVG9SZW5kZXIgPSBjb21wYXJpc29uXG4gICAgICAgIC5tYXAoKHZhbCkgPT4gZ2VuZXJhdGVMYWJlbEZyb21WYWx1ZShjb2xsZWN0aW9ucywgZmllbGQsIGxvY2FsZSwgdmFsKSlcbiAgICAgICAgLmpvaW4oJywgJylcbiAgfSBlbHNlIHtcbiAgICB2ZXJzaW9uVG9SZW5kZXIgPSBnZW5lcmF0ZUxhYmVsRnJvbVZhbHVlKGNvbGxlY3Rpb25zLCBmaWVsZCwgbG9jYWxlLCB2ZXJzaW9uKVxuICAgIGNvbXBhcmlzb25Ub1JlbmRlciA9IGdlbmVyYXRlTGFiZWxGcm9tVmFsdWUoY29sbGVjdGlvbnMsIGZpZWxkLCBsb2NhbGUsIGNvbXBhcmlzb24pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9PlxuICAgICAgPExhYmVsPlxuICAgICAgICB7bG9jYWxlICYmIDxzcGFuIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbG9jYWxlLWxhYmVsYH0+e2xvY2FsZX08L3NwYW4+fVxuICAgICAgICB7Z2V0VHJhbnNsYXRpb24oZmllbGQubGFiZWwsIGkxOG4pfVxuICAgICAgPC9MYWJlbD5cbiAgICAgIDxSZWFjdERpZmZWaWV3ZXJcbiAgICAgICAgaGlkZUxpbmVOdW1iZXJzXG4gICAgICAgIG5ld1ZhbHVlPXt0eXBlb2YgdmVyc2lvblRvUmVuZGVyICE9PSAndW5kZWZpbmVkJyA/IFN0cmluZyh2ZXJzaW9uVG9SZW5kZXIpIDogcGxhY2Vob2xkZXJ9XG4gICAgICAgIG9sZFZhbHVlPXtcbiAgICAgICAgICB0eXBlb2YgY29tcGFyaXNvblRvUmVuZGVyICE9PSAndW5kZWZpbmVkJyA/IFN0cmluZyhjb21wYXJpc29uVG9SZW5kZXIpIDogcGxhY2Vob2xkZXJcbiAgICAgICAgfVxuICAgICAgICBzaG93RGlmZk9ubHk9e2ZhbHNlfVxuICAgICAgICBzcGxpdFZpZXdcbiAgICAgICAgc3R5bGVzPXtkaWZmU3R5bGVzfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBSZWxhdGlvbnNoaXBcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJnZW5lcmF0ZUxhYmVsRnJvbVZhbHVlIiwiY29sbGVjdGlvbnMiLCJmaWVsZCIsImxvY2FsZSIsInZhbHVlIiwicmVsYXRpb24iLCJyZWxhdGVkRG9jIiwidmFsdWVUb1JldHVybiIsIlN0cmluZyIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJyZWxhdGVkQ29sbGVjdGlvbiIsImZpbmQiLCJjIiwic2x1ZyIsInVzZUFzVGl0bGUiLCJhZG1pbiIsInVzZUFzVGl0bGVGaWVsZCIsImZpZWxkcyIsImYiLCJmaWVsZEFmZmVjdHNEYXRhIiwiZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSIsIm5hbWUiLCJ0aXRsZUZpZWxkSXNMb2NhbGl6ZWQiLCJsb2NhbGl6ZWQiLCJpZCIsIlJlbGF0aW9uc2hpcCIsImNvbXBhcmlzb24iLCJ2ZXJzaW9uIiwidXNlQ29uZmlnIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsImNvZGUiLCJ1c2VMb2NhbGUiLCJwbGFjZWhvbGRlciIsInZlcnNpb25Ub1JlbmRlciIsImNvbXBhcmlzb25Ub1JlbmRlciIsImhhc01hbnkiLCJtYXAiLCJ2YWwiLCJqb2luIiwiZGl2IiwiY2xhc3NOYW1lIiwiTGFiZWwiLCJzcGFuIiwiZ2V0VHJhbnNsYXRpb24iLCJsYWJlbCIsIlJlYWN0RGlmZlZpZXdlciIsImhpZGVMaW5lTnVtYmVycyIsIm5ld1ZhbHVlIiwib2xkVmFsdWUiLCJzaG93RGlmZk9ubHkiLCJzcGxpdFZpZXciLCJzdHlsZXMiLCJkaWZmU3R5bGVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQTJIQTs7O2VBQUE7Ozs4REEzSGtCO2lGQUNVOzhCQUNHO3VCQVN4QjtnQ0FDd0I7d0JBQ0w7d0JBQ0E7OERBQ1I7d0JBQ1M7UUFDcEI7Ozs7OztBQUVQLE1BQU1BLFlBQVk7QUFJbEIsTUFBTUMseUJBQXlCLENBQzdCQyxhQUNBQyxPQUNBQyxRQUNBQztJQUVBLElBQUlDO0lBQ0osSUFBSUM7SUFDSixJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBSUgsVUFBVSxRQUFRLE9BQU9BLFVBQVUsYUFBYTtRQUNsRCxPQUFPSSxPQUFPSjtJQUNoQjtJQUVBLElBQUlLLE1BQU1DLE9BQU8sQ0FBQ1IsTUFBTVMsVUFBVSxHQUFHO1FBQ25DLElBQUksT0FBT1AsVUFBVSxVQUFVO1lBQzdCQyxXQUFXRCxNQUFNTyxVQUFVO1lBQzNCTCxhQUFhRixNQUFNQSxLQUFLO1FBQzFCO0lBQ0YsT0FBTztRQUNMQyxXQUFXSCxNQUFNUyxVQUFVO1FBQzNCTCxhQUFhRjtJQUNmO0lBRUEsTUFBTVEsb0JBQW9CWCxZQUFZWSxJQUFJLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLVjtJQUU3RCxJQUFJTyxtQkFBbUI7UUFDckIsTUFBTUksYUFBYUosbUJBQW1CSyxPQUFPRDtRQUM3QyxNQUFNRSxrQkFBa0JOLGtCQUFrQk8sTUFBTSxDQUFDTixJQUFJLENBQ25ELENBQUNPLElBQU1DLElBQUFBLHVCQUFnQixFQUFDRCxNQUFNLENBQUNFLElBQUFBLGdDQUF5QixFQUFDRixNQUFNQSxFQUFFRyxJQUFJLEtBQUtQO1FBRTVFLElBQUlRLHdCQUF3QjtRQUU1QixJQUFJTixtQkFBbUJHLElBQUFBLHVCQUFnQixFQUFDSCxrQkFDdENNLHdCQUF3Qk4sZ0JBQWdCTyxTQUFTO1FBRW5ELElBQUksT0FBT25CLFlBQVksQ0FBQ1UsV0FBVyxLQUFLLGFBQWE7WUFDbkRULGdCQUFnQkQsVUFBVSxDQUFDVSxXQUFXO1FBQ3hDLE9BQU8sSUFBSSxPQUFPVixZQUFZb0IsT0FBTyxhQUFhO1lBQ2hEbkIsZ0JBQWdCRCxXQUFXb0IsRUFBRTtRQUMvQjtRQUVBLElBQUksT0FBT25CLGtCQUFrQixZQUFZaUIsdUJBQXVCO1lBQzlEakIsZ0JBQWdCQSxhQUFhLENBQUNKLE9BQU87UUFDdkM7SUFDRjtJQUVBLE9BQU9JO0FBQ1Q7QUFFQSxNQUFNb0IsZUFBK0QsQ0FBQyxFQUNwRUMsVUFBVSxFQUNWMUIsS0FBSyxFQUNMMkIsT0FBTyxFQUNSO0lBQ0MsTUFBTSxFQUFFNUIsV0FBVyxFQUFFLEdBQUc2QixJQUFBQSxpQkFBUztJQUNqQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLDRCQUFjLEVBQUM7SUFDbkMsTUFBTSxFQUFFQyxNQUFNL0IsTUFBTSxFQUFFLEdBQUdnQyxJQUFBQSxpQkFBUztJQUVsQyxJQUFJQyxjQUFjO0lBRWxCLElBQUlQLFlBQVlELFlBQVlRLGNBQWMsQ0FBQyxDQUFDLEVBQUVKLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFFN0QsSUFBSUssa0JBQWtCUjtJQUN0QixJQUFJUyxxQkFBcUJWO0lBRXpCLElBQUkxQixNQUFNcUMsT0FBTyxFQUFFO1FBQ2pCLElBQUk5QixNQUFNQyxPQUFPLENBQUNtQixVQUNoQlEsa0JBQWtCUixRQUNmVyxHQUFHLENBQUMsQ0FBQ0MsTUFBUXpDLHVCQUF1QkMsYUFBYUMsT0FBT0MsUUFBUXNDLE1BQ2hFQyxJQUFJLENBQUM7UUFDVixJQUFJakMsTUFBTUMsT0FBTyxDQUFDa0IsYUFDaEJVLHFCQUFxQlYsV0FDbEJZLEdBQUcsQ0FBQyxDQUFDQyxNQUFRekMsdUJBQXVCQyxhQUFhQyxPQUFPQyxRQUFRc0MsTUFDaEVDLElBQUksQ0FBQztJQUNaLE9BQU87UUFDTEwsa0JBQWtCckMsdUJBQXVCQyxhQUFhQyxPQUFPQyxRQUFRMEI7UUFDckVTLHFCQUFxQnRDLHVCQUF1QkMsYUFBYUMsT0FBT0MsUUFBUXlCO0lBQzFFO0lBRUEscUJBQ0UsNkJBQUNlO1FBQUlDLFdBQVc3QztxQkFDZCw2QkFBQzhDLGNBQUssUUFDSDFDLHdCQUFVLDZCQUFDMkM7UUFBS0YsV0FBVyxDQUFDLEVBQUU3QyxVQUFVLGNBQWMsQ0FBQztPQUFHSSxTQUMxRDRDLElBQUFBLDhCQUFjLEVBQUM3QyxNQUFNOEMsS0FBSyxFQUFFakIsc0JBRS9CLDZCQUFDa0IsaUNBQWU7UUFDZEMsaUJBQUFBO1FBQ0FDLFVBQVUsT0FBT2Qsb0JBQW9CLGNBQWM3QixPQUFPNkIsbUJBQW1CRDtRQUM3RWdCLFVBQ0UsT0FBT2QsdUJBQXVCLGNBQWM5QixPQUFPOEIsc0JBQXNCRjtRQUUzRWlCLGNBQWM7UUFDZEMsV0FBQUE7UUFDQUMsUUFBUUMsa0JBQVU7O0FBSTFCO01BRUEsV0FBZTdCIn0=