UNPKG

mantine-datepicker-jalali

Version:
186 lines (179 loc) 25 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var dayjs = require('dayjs'); var React = require('react'); var core = require('@mantine/core'); require('../DatesProvider/DatesProvider.js'); var useDatesContext = require('../DatesProvider/use-dates-context.js'); var WeekdaysRow = require('../WeekdaysRow/WeekdaysRow.js'); var Day = require('../Day/Day.js'); var getMonthDays = require('./get-month-days/get-month-days.js'); var isSameMonth = require('./is-same-month/is-same-month.js'); var isBeforeMaxDate = require('./is-before-max-date/is-before-max-date.js'); var isAfterMinDate = require('./is-after-min-date/is-after-min-date.js'); var Month_styles = require('./Month.styles.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; } var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs); var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __objRest = (source, exclude) => { var target = {}; for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop]; if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) { if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop]; } return target; }; const defaultProps = {}; const Month = React.forwardRef((props, ref) => { const _a = core.useComponentDefaultProps("Month", defaultProps, props), { className, classNames, styles, unstyled, __staticSelector, locale, firstDayOfWeek, weekdayFormat, month, weekendDays, getDayProps, excludeDate, minDate, maxDate, renderDay, hideOutsideDates, hideWeekdays, getDayAriaLabel, static: isStatic, __getDayRef, __onDayKeyDown, __onDayClick, __onDayMouseEnter, __preventFocus } = _a, others = __objRest(_a, [ "className", "classNames", "styles", "unstyled", "__staticSelector", "locale", "firstDayOfWeek", "weekdayFormat", "month", "weekendDays", "getDayProps", "excludeDate", "minDate", "maxDate", "renderDay", "hideOutsideDates", "hideWeekdays", "getDayAriaLabel", "static", "__getDayRef", "__onDayKeyDown", "__onDayClick", "__onDayMouseEnter", "__preventFocus" ]); const ctx = useDatesContext.useDatesContext(); const { classes, cx } = Month_styles(null, { classNames, styles, unstyled, name: ["Month", __staticSelector] }); const stylesApiProps = { classNames, styles, unstyled, __staticSelector: __staticSelector || "Month" }; const rows = getMonthDays.getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek), locale).map((row, rowIndex) => { const cells = row.map((date, cellIndex) => { const outside = !isSameMonth.isSameMonth(date, month, locale); const ariaLabel = (getDayAriaLabel == null ? void 0 : getDayAriaLabel(date)) || dayjs__default(date).locale(locale || ctx.locale).format("D MMMM YYYY"); const dayProps = getDayProps == null ? void 0 : getDayProps(date); return /* @__PURE__ */ React__default.createElement("td", { key: date.toString(), className: classes.monthCell }, /* @__PURE__ */ React__default.createElement(Day.Day, __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, stylesApiProps), { renderDay, date, locale, weekend: ctx.getWeekendDays(weekendDays).includes(date.getDay()), outside, hidden: hideOutsideDates ? outside : false, "aria-label": ariaLabel, static: isStatic, disabled: (excludeDate == null ? void 0 : excludeDate(date)) || !isBeforeMaxDate.isBeforeMaxDate(date, maxDate) || !isAfterMinDate.isAfterMinDate(date, minDate), ref: (node) => __getDayRef == null ? void 0 : __getDayRef(rowIndex, cellIndex, node) }), dayProps), { onKeyDown: (event) => { var _a2; (_a2 = dayProps == null ? void 0 : dayProps.onKeyDown) == null ? void 0 : _a2.call(dayProps, event); __onDayKeyDown == null ? void 0 : __onDayKeyDown(event, { rowIndex, cellIndex, date }); }, onMouseEnter: (event) => { var _a2; (_a2 = dayProps == null ? void 0 : dayProps.onMouseEnter) == null ? void 0 : _a2.call(dayProps, event); __onDayMouseEnter == null ? void 0 : __onDayMouseEnter(event, date); }, onClick: (event) => { var _a2; (_a2 = dayProps == null ? void 0 : dayProps.onClick) == null ? void 0 : _a2.call(dayProps, event); __onDayClick == null ? void 0 : __onDayClick(event, date); }, onMouseDown: (event) => { var _a2; (_a2 = dayProps == null ? void 0 : dayProps.onMouseDown) == null ? void 0 : _a2.call(dayProps, event); __preventFocus && event.preventDefault(); }, tabIndex: __preventFocus ? -1 : 0 }))); }); return /* @__PURE__ */ React__default.createElement("tr", { key: rowIndex, className: classes.monthRow }, cells); }); return /* @__PURE__ */ React__default.createElement(core.Box, __spreadValues({ component: "table", className: cx(classes.month, className), ref }, others), !hideWeekdays && /* @__PURE__ */ React__default.createElement("thead", { className: classes.monthThead }, /* @__PURE__ */ React__default.createElement(WeekdaysRow.WeekdaysRow, __spreadProps(__spreadValues({}, stylesApiProps), { locale, firstDayOfWeek, weekdayFormat }))), /* @__PURE__ */ React__default.createElement("tbody", { className: classes.monthTbody }, rows)); }); Month.displayName = "@mantine/dates/Month"; exports.Month = Month; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9udGguanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL01vbnRoL01vbnRoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby11bnVzZWQtcHJvcC10eXBlcyAqL1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRGVmYXVsdFByb3BzLCBTZWxlY3RvcnMsIEJveCwgdXNlQ29tcG9uZW50RGVmYXVsdFByb3BzIH0gZnJvbSAnQG1hbnRpbmUvY29yZSc7XG5pbXBvcnQgeyB1c2VEYXRlc0NvbnRleHQgfSBmcm9tICcuLi9EYXRlc1Byb3ZpZGVyJztcbmltcG9ydCB7IFdlZWtkYXlzUm93LCBXZWVrZGF5c1Jvd1N0eWxlc05hbWVzIH0gZnJvbSAnLi4vV2Vla2RheXNSb3cnO1xuaW1wb3J0IHsgRGF5LCBEYXlTdHlsZXNOYW1lcywgRGF5UHJvcHMgfSBmcm9tICcuLi9EYXknO1xuaW1wb3J0IHsgQ29udHJvbEtleWRvd25QYXlsb2FkLCBEYXlPZldlZWsgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRNb250aERheXMgfSBmcm9tICcuL2dldC1tb250aC1kYXlzL2dldC1tb250aC1kYXlzJztcbmltcG9ydCB7IGlzU2FtZU1vbnRoIH0gZnJvbSAnLi9pcy1zYW1lLW1vbnRoL2lzLXNhbWUtbW9udGgnO1xuaW1wb3J0IHsgaXNCZWZvcmVNYXhEYXRlIH0gZnJvbSAnLi9pcy1iZWZvcmUtbWF4LWRhdGUvaXMtYmVmb3JlLW1heC1kYXRlJztcbmltcG9ydCB7IGlzQWZ0ZXJNaW5EYXRlIH0gZnJvbSAnLi9pcy1hZnRlci1taW4tZGF0ZS9pcy1hZnRlci1taW4tZGF0ZSc7XG5pbXBvcnQgdXNlU3R5bGVzIGZyb20gJy4vTW9udGguc3R5bGVzJztcblxuZXhwb3J0IHR5cGUgTW9udGhTdHlsZXNOYW1lcyA9XG4gIHwgU2VsZWN0b3JzPHR5cGVvZiB1c2VTdHlsZXM+XG4gIHwgV2Vla2RheXNSb3dTdHlsZXNOYW1lc1xuICB8IERheVN0eWxlc05hbWVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vbnRoU2V0dGluZ3Mge1xuICAvKiogUHJldmVudHMgZm9jdXMgc2hpZnQgd2hlbiBidXR0b25zIGFyZSBjbGlja2VkICovXG4gIF9fcHJldmVudEZvY3VzPzogYm9vbGVhbjtcblxuICAvKiogQ2FsbGVkIHdoZW4gZGF5IGlzIGNsaWNrZWQgd2l0aCBjbGljayBldmVudCBhbmQgZGF0ZSAqL1xuICBfX29uRGF5Q2xpY2s/KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PiwgZGF0ZTogRGF0ZSk6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCB3aGVuIG1vdXNlIGVudGVycyBkYXkgKi9cbiAgX19vbkRheU1vdXNlRW50ZXI/KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PiwgZGF0ZTogRGF0ZSk6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCB3aGVuIGFueSBrZXlkb3duIGV2ZW50IGlzIHJlZ2lzdGVyZWQgb24gZGF5LCB1c2VkIGZvciBhcnJvd3MgbmF2aWdhdGlvbiAqL1xuICBfX29uRGF5S2V5RG93bj8oXG4gICAgZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+LFxuICAgIHBheWxvYWQ6IENvbnRyb2xLZXlkb3duUGF5bG9hZFxuICApOiB2b2lkO1xuXG4gIC8qKiBBc3NpZ25zIHJlZiBvZiBldmVyeSBkYXkgYmFzZWQgb24gaXRzIHBvc2l0aW9uIGluIHRoZSB0YWJsZSwgdXNlZCBmb3IgYXJyb3dzIG5hdmlnYXRpb24gKi9cbiAgX19nZXREYXlSZWY/KHJvd0luZGV4OiBudW1iZXIsIGNlbGxJbmRleDogbnVtYmVyLCBub2RlOiBIVE1MQnV0dG9uRWxlbWVudCk6IHZvaWQ7XG5cbiAgLyoqIGRheWpzIGxvY2FsZSwgZGVmYXVsdHMgdG8gdmFsdWUgZGVmaW5lZCBpbiBEYXRlc1Byb3ZpZGVyICovXG4gIGxvY2FsZT86IHN0cmluZztcblxuICAvKiogbnVtYmVyIDAtNiwgMCDigJMgU3VuZGF5LCA2IOKAkyBTYXR1cmRheSwgZGVmYXVsdHMgdG8gMSDigJMgTW9uZGF5ICovXG4gIGZpcnN0RGF5T2ZXZWVrPzogRGF5T2ZXZWVrO1xuXG4gIC8qKiBkYXlqcyBmb3JtYXQgZm9yIHdlZWtkYXlzIG5hbWVzLCBkZWZhdWx0cyB0byBcImRkXCIgKi9cbiAgd2Vla2RheUZvcm1hdD86IHN0cmluZztcblxuICAvKiogSW5kaWNlcyBvZiB3ZWVrZW5kIGRheXMsIDAtNiwgd2hlcmUgMCBpcyBTdW5kYXkgYW5kIDYgaXMgU2F0dXJkYXksIGRlZmF1bHRzIHRvIHZhbHVlIGRlZmluZWQgaW4gRGF0ZXNQcm92aWRlciAqL1xuICB3ZWVrZW5kRGF5cz86IERheU9mV2Vla1tdO1xuXG4gIC8qKiBBZGRzIHByb3BzIHRvIERheSBjb21wb25lbnQgYmFzZWQgb24gZGF0ZSAqL1xuICBnZXREYXlQcm9wcz8oZGF0ZTogRGF0ZSk6IFBhcnRpYWw8RGF5UHJvcHM+O1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgZGF5IHNob3VsZCBiZSBkaXNhYmxlZCAqL1xuICBleGNsdWRlRGF0ZT8oZGF0ZTogRGF0ZSk6IGJvb2xlYW47XG5cbiAgLyoqIE1pbmltdW0gcG9zc2libGUgZGF0ZSAqL1xuICBtaW5EYXRlPzogRGF0ZTtcblxuICAvKiogTWF4aW11bSBwb3NzaWJsZSBkYXRlICovXG4gIG1heERhdGU/OiBEYXRlO1xuXG4gIC8qKiBDb250cm9scyBkYXkgdmFsdWUgcmVuZGVyaW5nICovXG4gIHJlbmRlckRheT8oZGF0ZTogRGF0ZSk6IFJlYWN0LlJlYWN0Tm9kZTtcblxuICAvKiogRGV0ZXJtaW5lcyB3aGV0aGVyIG91dHNpZGUgZGF0ZXMgc2hvdWxkIGJlIGhpZGRlbiwgZGVmYXVsdHMgdG8gZmFsc2UgKi9cbiAgaGlkZU91dHNpZGVEYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqIERldGVybWluZXMgd2hldGhlciB3ZWVrZGF5cyByb3cgc2hvdWxkIGJlIGhpZGRlbiwgZGVmYXVsdHMgdG8gZmFsc2UgKi9cbiAgaGlkZVdlZWtkYXlzPzogYm9vbGVhbjtcblxuICAvKiogQXNzaWducyBhcmlhLWxhYmVsIHRvIGRheXMgYmFzZWQgb24gZGF0ZSAqL1xuICBnZXREYXlBcmlhTGFiZWw/KGRhdGU6IERhdGUpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9udGhQcm9wc1xuICBleHRlbmRzIERlZmF1bHRQcm9wczxNb250aFN0eWxlc05hbWVzPixcbiAgICBNb250aFNldHRpbmdzLFxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjwndGFibGUnPiB7XG4gIF9fc3RhdGljU2VsZWN0b3I/OiBzdHJpbmc7XG5cbiAgLyoqIE1vbnRoIHRvIGRpc3BsYXkgKi9cbiAgbW9udGg6IERhdGU7XG5cbiAgLyoqIERldGVybWluZXMgd2hldGhlciBkYXlzIHNob3VsZCBiZSBzdGF0aWMsIHN0YXRpYyBkYXlzIGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgbW9udGggaWYgaXQgaXMgbm90IGV4cGVjdGVkIHRoYXQgdXNlciB3aWxsIGludGVyYWN0IHdpdGggdGhlIGNvbXBvbmVudCBpbiBhbnkgd2F5ICAqL1xuICBzdGF0aWM/OiBib29sZWFuO1xufVxuXG5jb25zdCBkZWZhdWx0UHJvcHM6IFBhcnRpYWw8TW9udGhQcm9wcz4gPSB7fTtcblxuZXhwb3J0IGNvbnN0IE1vbnRoID0gZm9yd2FyZFJlZjxIVE1MVGFibGVFbGVtZW50LCBNb250aFByb3BzPigocHJvcHMsIHJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NOYW1lLFxuICAgIGNsYXNzTmFtZXMsXG4gICAgc3R5bGVzLFxuICAgIHVuc3R5bGVkLFxuICAgIF9fc3RhdGljU2VsZWN0b3IsXG4gICAgbG9jYWxlLFxuICAgIGZpcnN0RGF5T2ZXZWVrLFxuICAgIHdlZWtkYXlGb3JtYXQsXG4gICAgbW9udGgsXG4gICAgd2Vla2VuZERheXMsXG4gICAgZ2V0RGF5UHJvcHMsXG4gICAgZXhjbHVkZURhdGUsXG4gICAgbWluRGF0ZSxcbiAgICBtYXhEYXRlLFxuICAgIHJlbmRlckRheSxcbiAgICBoaWRlT3V0c2lkZURhdGVzLFxuICAgIGhpZGVXZWVrZGF5cyxcbiAgICBnZXREYXlBcmlhTGFiZWwsXG4gICAgc3RhdGljOiBpc1N0YXRpYyxcbiAgICBfX2dldERheVJlZixcbiAgICBfX29uRGF5S2V5RG93bixcbiAgICBfX29uRGF5Q2xpY2ssXG4gICAgX19vbkRheU1vdXNlRW50ZXIsXG4gICAgX19wcmV2ZW50Rm9jdXMsXG4gICAgLi4ub3RoZXJzXG4gIH0gPSB1c2VDb21wb25lbnREZWZhdWx0UHJvcHMoJ01vbnRoJywgZGVmYXVsdFByb3BzLCBwcm9wcyk7XG5cbiAgY29uc3QgY3R4ID0gdXNlRGF0ZXNDb250ZXh0KCk7XG5cbiAgY29uc3QgeyBjbGFzc2VzLCBjeCB9ID0gdXNlU3R5bGVzKG51bGwsIHtcbiAgICBjbGFzc05hbWVzLFxuICAgIHN0eWxlcyxcbiAgICB1bnN0eWxlZCxcbiAgICBuYW1lOiBbJ01vbnRoJywgX19zdGF0aWNTZWxlY3Rvcl0sXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlc0FwaVByb3BzID0ge1xuICAgIGNsYXNzTmFtZXMsXG4gICAgc3R5bGVzLFxuICAgIHVuc3R5bGVkLFxuICAgIF9fc3RhdGljU2VsZWN0b3I6IF9fc3RhdGljU2VsZWN0b3IgfHwgJ01vbnRoJyxcbiAgfTtcblxuICBjb25zdCByb3dzID0gZ2V0TW9udGhEYXlzKG1vbnRoLCBjdHguZ2V0Rmlyc3REYXlPZldlZWsoZmlyc3REYXlPZldlZWspLCBsb2NhbGUpLm1hcChcbiAgICAocm93LCByb3dJbmRleCkgPT4ge1xuICAgICAgY29uc3QgY2VsbHMgPSByb3cubWFwKChkYXRlLCBjZWxsSW5kZXgpID0+IHtcbiAgICAgICAgY29uc3Qgb3V0c2lkZSA9ICFpc1NhbWVNb250aChkYXRlLCBtb250aCwgbG9jYWxlKTtcbiAgICAgICAgY29uc3QgYXJpYUxhYmVsID1cbiAgICAgICAgICBnZXREYXlBcmlhTGFiZWw/LihkYXRlKSB8fFxuICAgICAgICAgIGRheWpzKGRhdGUpXG4gICAgICAgICAgICAubG9jYWxlKGxvY2FsZSB8fCBjdHgubG9jYWxlKVxuICAgICAgICAgICAgLmZvcm1hdCgnRCBNTU1NIFlZWVknKTtcbiAgICAgICAgY29uc3QgZGF5UHJvcHMgPSBnZXREYXlQcm9wcz8uKGRhdGUpO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPHRkIGtleT17ZGF0ZS50b1N0cmluZygpfSBjbGFzc05hbWU9e2NsYXNzZXMubW9udGhDZWxsfT5cbiAgICAgICAgICAgIDxEYXlcbiAgICAgICAgICAgICAgey4uLnN0eWxlc0FwaVByb3BzfVxuICAgICAgICAgICAgICByZW5kZXJEYXk9e3JlbmRlckRheX1cbiAgICAgICAgICAgICAgZGF0ZT17ZGF0ZX1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIHdlZWtlbmQ9e2N0eC5nZXRXZWVrZW5kRGF5cyh3ZWVrZW5kRGF5cykuaW5jbHVkZXMoZGF0ZS5nZXREYXkoKSBhcyBEYXlPZldlZWspfVxuICAgICAgICAgICAgICBvdXRzaWRlPXtvdXRzaWRlfVxuICAgICAgICAgICAgICBoaWRkZW49e2hpZGVPdXRzaWRlRGF0ZXMgPyBvdXRzaWRlIDogZmFsc2V9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICAgICAgc3RhdGljPXtpc1N0YXRpY31cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e1xuICAgICAgICAgICAgICAgIGV4Y2x1ZGVEYXRlPy4oZGF0ZSkgfHxcbiAgICAgICAgICAgICAgICAhaXNCZWZvcmVNYXhEYXRlKGRhdGUsIG1heERhdGUpIHx8XG4gICAgICAgICAgICAgICAgIWlzQWZ0ZXJNaW5EYXRlKGRhdGUsIG1pbkRhdGUpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmVmPXsobm9kZSkgPT4gX19nZXREYXlSZWY/Lihyb3dJbmRleCwgY2VsbEluZGV4LCBub2RlKX1cbiAgICAgICAgICAgICAgey4uLmRheVByb3BzfVxuICAgICAgICAgICAgICBvbktleURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGRheVByb3BzPy5vbktleURvd24/LihldmVudCk7XG4gICAgICAgICAgICAgICAgX19vbkRheUtleURvd24/LihldmVudCwgeyByb3dJbmRleCwgY2VsbEluZGV4LCBkYXRlIH0pO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGRheVByb3BzPy5vbk1vdXNlRW50ZXI/LihldmVudCk7XG4gICAgICAgICAgICAgICAgX19vbkRheU1vdXNlRW50ZXI/LihldmVudCwgZGF0ZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGRheVByb3BzPy5vbkNsaWNrPy4oZXZlbnQpO1xuICAgICAgICAgICAgICAgIF9fb25EYXlDbGljaz8uKGV2ZW50LCBkYXRlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25Nb3VzZURvd249eyhldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGRheVByb3BzPy5vbk1vdXNlRG93bj8uKGV2ZW50KTtcbiAgICAgICAgICAgICAgICBfX3ByZXZlbnRGb2N1cyAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0YWJJbmRleD17X19wcmV2ZW50Rm9jdXMgPyAtMSA6IDB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHRyIGtleT17cm93SW5kZXh9IGNsYXNzTmFtZT17Y2xhc3Nlcy5tb250aFJvd30+XG4gICAgICAgICAge2NlbGxzfVxuICAgICAgICA8L3RyPlxuICAgICAgKTtcbiAgICB9XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IGNvbXBvbmVudD1cInRhYmxlXCIgY2xhc3NOYW1lPXtjeChjbGFzc2VzLm1vbnRoLCBjbGFzc05hbWUpfSByZWY9e3JlZn0gey4uLm90aGVyc30+XG4gICAgICB7IWhpZGVXZWVrZGF5cyAmJiAoXG4gICAgICAgIDx0aGVhZCBjbGFzc05hbWU9e2NsYXNzZXMubW9udGhUaGVhZH0+XG4gICAgICAgICAgPFdlZWtkYXlzUm93XG4gICAgICAgICAgICB7Li4uc3R5bGVzQXBpUHJvcHN9XG4gICAgICAgICAgICBsb2NhbGU9e2xvY2FsZX1cbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrPXtmaXJzdERheU9mV2Vla31cbiAgICAgICAgICAgIHdlZWtkYXlGb3JtYXQ9e3dlZWtkYXlGb3JtYXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICl9XG4gICAgICA8dGJvZHkgY2xhc3NOYW1lPXtjbGFzc2VzLm1vbnRoVGJvZHl9Pntyb3dzfTwvdGJvZHk+XG4gICAgPC9Cb3g+XG4gICk7XG59KTtcblxuTW9udGguZGlzcGxheU5hbWUgPSAnQG1hbnRpbmUvZGF0ZXMvTW9udGgnO1xuIl0sIm5hbWVzIjpbImZvcndhcmRSZWYiLCJ1c2VDb21wb25lbnREZWZhdWx0UHJvcHMiLCJ1c2VEYXRlc0NvbnRleHQiLCJ1c2VTdHlsZXMiLCJnZXRNb250aERheXMiLCJpc1NhbWVNb250aCIsImRheWpzIiwiUmVhY3QiLCJEYXkiLCJpc0JlZm9yZU1heERhdGUiLCJpc0FmdGVyTWluRGF0ZSIsIkJveCIsIldlZWtkYXlzUm93Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBSSxT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