surrounding the more link\n component.isValidSegDownEl(ev.target)) {\n // our way to simulate a link click for elements that can't be
tags\n // grab before trigger fired in case trigger trashes DOM thru rerendering\n let hasUrlContainer = elementClosest(ev.target, '.fc-event-forced-url');\n let url = hasUrlContainer ? hasUrlContainer.querySelector('a[href]').href : '';\n context.emitter.trigger('eventClick', {\n el: segEl,\n event: new EventImpl(component.context, seg.eventRange.def, seg.eventRange.instance),\n jsEvent: ev,\n view: context.viewApi,\n });\n if (url && !ev.defaultPrevented) {\n window.location.href = url;\n }\n }\n };\n this.destroy = listenBySelector(settings.el, 'click', '.fc-event', // on both fg and bg events\n this.handleSegClick);\n }\n}\n\n/*\nTriggers events and adds/removes core classNames when the user's pointer\nenters/leaves event-elements of a component.\n*/\nclass EventHovering extends Interaction {\n constructor(settings) {\n super(settings);\n // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it\n this.handleEventElRemove = (el) => {\n if (el === this.currentSegEl) {\n this.handleSegLeave(null, this.currentSegEl);\n }\n };\n this.handleSegEnter = (ev, segEl) => {\n if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper\n this.currentSegEl = segEl;\n this.triggerEvent('eventMouseEnter', ev, segEl);\n }\n };\n this.handleSegLeave = (ev, segEl) => {\n if (this.currentSegEl) {\n this.currentSegEl = null;\n this.triggerEvent('eventMouseLeave', ev, segEl);\n }\n };\n this.removeHoverListeners = listenToHoverBySelector(settings.el, '.fc-event', // on both fg and bg events\n this.handleSegEnter, this.handleSegLeave);\n }\n destroy() {\n this.removeHoverListeners();\n }\n triggerEvent(publicEvName, ev, segEl) {\n let { component } = this;\n let { context } = component;\n let seg = getElSeg(segEl);\n if (!ev || component.isValidSegDownEl(ev.target)) {\n context.emitter.trigger(publicEvName, {\n el: segEl,\n event: new EventImpl(context, seg.eventRange.def, seg.eventRange.instance),\n jsEvent: ev,\n view: context.viewApi,\n });\n }\n }\n}\n\nclass CalendarContent extends PureComponent {\n constructor() {\n super(...arguments);\n this.buildViewContext = memoize(buildViewContext);\n this.buildViewPropTransformers = memoize(buildViewPropTransformers);\n this.buildToolbarProps = memoize(buildToolbarProps);\n this.headerRef = createRef();\n this.footerRef = createRef();\n this.interactionsStore = {};\n // eslint-disable-next-line\n this.state = {\n viewLabelId: getUniqueDomId(),\n };\n // Component Registration\n // -----------------------------------------------------------------------------------------------------------------\n this.registerInteractiveComponent = (component, settingsInput) => {\n let settings = parseInteractionSettings(component, settingsInput);\n let DEFAULT_INTERACTIONS = [\n EventClicking,\n EventHovering,\n ];\n let interactionClasses = DEFAULT_INTERACTIONS.concat(this.props.pluginHooks.componentInteractions);\n let interactions = interactionClasses.map((TheInteractionClass) => new TheInteractionClass(settings));\n this.interactionsStore[component.uid] = interactions;\n interactionSettingsStore[component.uid] = settings;\n };\n this.unregisterInteractiveComponent = (component) => {\n let listeners = this.interactionsStore[component.uid];\n if (listeners) {\n for (let listener of listeners) {\n listener.destroy();\n }\n delete this.interactionsStore[component.uid];\n }\n delete interactionSettingsStore[component.uid];\n };\n // Resizing\n // -----------------------------------------------------------------------------------------------------------------\n this.resizeRunner = new DelayedRunner(() => {\n this.props.emitter.trigger('_resize', true); // should window resizes be considered \"forced\" ?\n this.props.emitter.trigger('windowResize', { view: this.props.viewApi });\n });\n this.handleWindowResize = (ev) => {\n let { options } = this.props;\n if (options.handleWindowResize &&\n ev.target === window // avoid jqui events\n ) {\n this.resizeRunner.request(options.windowResizeDelay);\n }\n };\n }\n /*\n renders INSIDE of an outer div\n */\n render() {\n let { props } = this;\n let { toolbarConfig, options } = props;\n let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????\n props.viewTitle);\n let viewVGrow = false;\n let viewHeight = '';\n let viewAspectRatio;\n if (props.isHeightAuto || props.forPrint) {\n viewHeight = '';\n }\n else if (options.height != null) {\n viewVGrow = true;\n }\n else if (options.contentHeight != null) {\n viewHeight = options.contentHeight;\n }\n else {\n viewAspectRatio = Math.max(options.aspectRatio, 0.5); // prevent from getting too tall\n }\n let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);\n let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)\n ? this.state.viewLabelId\n : '';\n return (createElement(ViewContextType.Provider, { value: viewContext },\n toolbarConfig.header && (createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: \"fc-header-toolbar\", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),\n createElement(ViewContainer, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },\n this.renderView(props),\n this.buildAppendContent()),\n toolbarConfig.footer && (createElement(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: \"fc-footer-toolbar\", model: toolbarConfig.footer, titleId: \"\" }, toolbarProps)))));\n }\n componentDidMount() {\n let { props } = this;\n this.calendarInteractions = props.pluginHooks.calendarInteractions\n .map((CalendarInteractionClass) => new CalendarInteractionClass(props));\n window.addEventListener('resize', this.handleWindowResize);\n let { propSetHandlers } = props.pluginHooks;\n for (let propName in propSetHandlers) {\n propSetHandlers[propName](props[propName], props);\n }\n }\n componentDidUpdate(prevProps) {\n let { props } = this;\n let { propSetHandlers } = props.pluginHooks;\n for (let propName in propSetHandlers) {\n if (props[propName] !== prevProps[propName]) {\n propSetHandlers[propName](props[propName], props);\n }\n }\n }\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleWindowResize);\n this.resizeRunner.clear();\n for (let interaction of this.calendarInteractions) {\n interaction.destroy();\n }\n this.props.emitter.trigger('_unmount');\n }\n buildAppendContent() {\n let { props } = this;\n let children = props.pluginHooks.viewContainerAppends.map((buildAppendContent) => buildAppendContent(props));\n return createElement(Fragment, {}, ...children);\n }\n renderView(props) {\n let { pluginHooks } = props;\n let { viewSpec } = props;\n let viewProps = {\n dateProfile: props.dateProfile,\n businessHours: props.businessHours,\n eventStore: props.renderableEventStore,\n eventUiBases: props.eventUiBases,\n dateSelection: props.dateSelection,\n eventSelection: props.eventSelection,\n eventDrag: props.eventDrag,\n eventResize: props.eventResize,\n isHeightAuto: props.isHeightAuto,\n forPrint: props.forPrint,\n };\n let transformers = this.buildViewPropTransformers(pluginHooks.viewPropsTransformers);\n for (let transformer of transformers) {\n Object.assign(viewProps, transformer.transform(viewProps, props));\n }\n let ViewComponent = viewSpec.component;\n return (createElement(ViewComponent, Object.assign({}, viewProps)));\n }\n}\nfunction buildToolbarProps(viewSpec, dateProfile, dateProfileGenerator, currentDate, now, title) {\n // don't force any date-profiles to valid date profiles (the `false`) so that we can tell if it's invalid\n let todayInfo = dateProfileGenerator.build(now, undefined, false); // TODO: need `undefined` or else INFINITE LOOP for some reason\n let prevInfo = dateProfileGenerator.buildPrev(dateProfile, currentDate, false);\n let nextInfo = dateProfileGenerator.buildNext(dateProfile, currentDate, false);\n return {\n title,\n activeButton: viewSpec.type,\n navUnit: viewSpec.singleUnit,\n isTodayEnabled: todayInfo.isValid && !rangeContainsMarker(dateProfile.currentRange, now),\n isPrevEnabled: prevInfo.isValid,\n isNextEnabled: nextInfo.isValid,\n };\n}\n// Plugin\n// -----------------------------------------------------------------------------------------------------------------\nfunction buildViewPropTransformers(theClasses) {\n return theClasses.map((TheClass) => new TheClass());\n}\n\nclass Calendar extends CalendarImpl {\n constructor(el, optionOverrides = {}) {\n super();\n this.isRendering = false;\n this.isRendered = false;\n this.currentClassNames = [];\n this.customContentRenderId = 0;\n this.handleAction = (action) => {\n // actions we know we want to render immediately\n switch (action.type) {\n case 'SET_EVENT_DRAG':\n case 'SET_EVENT_RESIZE':\n this.renderRunner.tryDrain();\n }\n };\n this.handleData = (data) => {\n this.currentData = data;\n this.renderRunner.request(data.calendarOptions.rerenderDelay);\n };\n this.handleRenderRequest = () => {\n if (this.isRendering) {\n this.isRendered = true;\n let { currentData } = this;\n flushSync(() => {\n render(createElement(CalendarRoot, { options: currentData.calendarOptions, theme: currentData.theme, emitter: currentData.emitter }, (classNames, height, isHeightAuto, forPrint) => {\n this.setClassNames(classNames);\n this.setHeight(height);\n return (createElement(RenderId.Provider, { value: this.customContentRenderId },\n createElement(CalendarContent, Object.assign({ isHeightAuto: isHeightAuto, forPrint: forPrint }, currentData))));\n }), this.el);\n });\n }\n else if (this.isRendered) {\n this.isRendered = false;\n render(null, this.el);\n this.setClassNames([]);\n this.setHeight('');\n }\n };\n this.el = el;\n this.renderRunner = new DelayedRunner(this.handleRenderRequest);\n new CalendarDataManager({\n optionOverrides,\n calendarApi: this,\n onAction: this.handleAction,\n onData: this.handleData,\n });\n }\n render() {\n let wasRendering = this.isRendering;\n if (!wasRendering) {\n this.isRendering = true;\n }\n else {\n this.customContentRenderId += 1;\n }\n this.renderRunner.request();\n if (wasRendering) {\n this.updateSize();\n }\n }\n destroy() {\n if (this.isRendering) {\n this.isRendering = false;\n this.renderRunner.request();\n }\n }\n updateSize() {\n flushSync(() => {\n super.updateSize();\n });\n }\n batchRendering(func) {\n this.renderRunner.pause('batchRendering');\n func();\n this.renderRunner.resume('batchRendering');\n }\n pauseRendering() {\n this.renderRunner.pause('pauseRendering');\n }\n resumeRendering() {\n this.renderRunner.resume('pauseRendering', true);\n }\n resetOptions(optionOverrides, append) {\n this.currentDataManager.resetOptions(optionOverrides, append);\n }\n setClassNames(classNames) {\n if (!isArraysEqual(classNames, this.currentClassNames)) {\n let { classList } = this.el;\n for (let className of this.currentClassNames) {\n classList.remove(className);\n }\n for (let className of classNames) {\n classList.add(className);\n }\n this.currentClassNames = classNames;\n }\n }\n setHeight(height) {\n applyStyleProp(this.el, 'height', height);\n }\n}\n\nfunction formatDate(dateInput, options = {}) {\n let dateEnv = buildDateEnv(options);\n let formatter = createFormatter(options);\n let dateMeta = dateEnv.createMarkerMeta(dateInput);\n if (!dateMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.format(dateMeta.marker, formatter, {\n forcedTzo: dateMeta.forcedTzo,\n });\n}\nfunction formatRange(startInput, endInput, options) {\n let dateEnv = buildDateEnv(typeof options === 'object' && options ? options : {}); // pass in if non-null object\n let formatter = createFormatter(options);\n let startMeta = dateEnv.createMarkerMeta(startInput);\n let endMeta = dateEnv.createMarkerMeta(endInput);\n if (!startMeta || !endMeta) { // TODO: warning?\n return '';\n }\n return dateEnv.formatRange(startMeta.marker, endMeta.marker, formatter, {\n forcedStartTzo: startMeta.forcedTzo,\n forcedEndTzo: endMeta.forcedTzo,\n isEndExclusive: options.isEndExclusive,\n defaultSeparator: BASE_OPTION_DEFAULTS.defaultRangeSeparator,\n });\n}\n// TODO: more DRY and optimized\nfunction buildDateEnv(settings) {\n let locale = buildLocale(settings.locale || 'en', organizeRawLocales([]).map); // TODO: don't hardcode 'en' everywhere\n return new DateEnv(Object.assign(Object.assign({ timeZone: BASE_OPTION_DEFAULTS.timeZone, calendarSystem: 'gregory' }, settings), { locale }));\n}\n\n// HELPERS\n/*\nif nextDayThreshold is specified, slicing is done in an all-day fashion.\nyou can get nextDayThreshold from context.nextDayThreshold\n*/\nfunction sliceEvents(props, allDay) {\n return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;\n}\n\nconst version = '6.0.2';\n\nexport { Calendar, createPlugin, formatDate, formatRange, globalLocales, globalPlugins, sliceEvents, version };\n",null,null,null,null,"import { DateComponent, getStickyHeaderDates, ViewContainer, SimpleScrollGrid, getStickyFooterScrollbar, renderScrollShim, createFormatter, BaseComponent, StandardEvent, buildSegTimeText, EventContainer, getSegAnchorAttrs, memoize, MoreLinkContainer, getSegMeta, getUniqueDomId, setRef, DayCellContainer, WeekNumberContainer, buildNavLinkAttrs, hasCustomDayCellContent, intersectRanges, addDays, SegHierarchy, buildEntryKey, intersectSpans, RefMap, sortEventSegs, isPropsEqual, buildEventRangeKey, BgEvent, renderFill, PositionCache, NowTimer, Slicer, DayHeader, DaySeriesModel, DayTableModel } from '@fullcalendar/core/internal.js';\nimport { createRef, createElement, Fragment } from '@fullcalendar/core/preact.js';\n\n/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a Table subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\nclass TableView extends DateComponent {\n constructor() {\n super(...arguments);\n this.headerElRef = createRef();\n }\n renderSimpleLayout(headerRowContent, bodyContent) {\n let { props, context } = this;\n let sections = [];\n let stickyHeaderDates = getStickyHeaderDates(context.options);\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n });\n }\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunk: { content: bodyContent },\n });\n return (createElement(ViewContainer, { elClasses: ['fc-daygrid'], viewSpec: context.viewSpec },\n createElement(SimpleScrollGrid, { liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: props.forPrint, cols: [] /* TODO: make optional? */, sections: sections })));\n }\n renderHScrollLayout(headerRowContent, bodyContent, colCnt, dayMinWidth) {\n let ScrollGrid = this.context.pluginHooks.scrollGridImpl;\n if (!ScrollGrid) {\n throw new Error('No ScrollGrid implementation');\n }\n let { props, context } = this;\n let stickyHeaderDates = !props.forPrint && getStickyHeaderDates(context.options);\n let stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(context.options);\n let sections = [];\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunks: [{\n key: 'main',\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n }],\n });\n }\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunks: [{\n key: 'main',\n content: bodyContent,\n }],\n });\n if (stickyFooterScrollbar) {\n sections.push({\n type: 'footer',\n key: 'footer',\n isSticky: true,\n chunks: [{\n key: 'main',\n content: renderScrollShim,\n }],\n });\n }\n return (createElement(ViewContainer, { elClasses: ['fc-daygrid'], viewSpec: context.viewSpec },\n createElement(ScrollGrid, { liquid: !props.isHeightAuto && !props.forPrint, collapsibleWidth: props.forPrint, colGroups: [{ cols: [{ span: colCnt, minWidth: dayMinWidth }] }], sections: sections })));\n }\n}\n\nfunction splitSegsByRow(segs, rowCnt) {\n let byRow = [];\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = [];\n }\n for (let seg of segs) {\n byRow[seg.row].push(seg);\n }\n return byRow;\n}\nfunction splitSegsByFirstCol(segs, colCnt) {\n let byCol = [];\n for (let i = 0; i < colCnt; i += 1) {\n byCol[i] = [];\n }\n for (let seg of segs) {\n byCol[seg.firstCol].push(seg);\n }\n return byCol;\n}\nfunction splitInteractionByRow(ui, rowCnt) {\n let byRow = [];\n if (!ui) {\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = null;\n }\n }\n else {\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = {\n affectedInstances: ui.affectedInstances,\n isEvent: ui.isEvent,\n segs: [],\n };\n }\n for (let seg of ui.segs) {\n byRow[seg.row].segs.push(seg);\n }\n }\n return byRow;\n}\n\nconst DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'narrow',\n});\nfunction hasListItemDisplay(seg) {\n let { display } = seg.eventRange.ui;\n return display === 'list-item' || (display === 'auto' &&\n !seg.eventRange.def.allDay &&\n seg.firstCol === seg.lastCol && // can't be multi-day\n seg.isStart && // \"\n seg.isEnd // \"\n );\n}\n\nclass TableBlockEvent extends BaseComponent {\n render() {\n let { props } = this;\n return (createElement(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));\n }\n}\n\nclass TableListItemEvent extends BaseComponent {\n render() {\n let { props, context } = this;\n let { options } = context;\n let { seg } = props;\n let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT;\n let timeText = buildSegTimeText(seg, timeFormat, context, true, props.defaultDisplayEventEnd);\n return (createElement(EventContainer, Object.assign({}, props, { elTag: \"a\", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent, timeText: timeText, isResizing: false, isDateSelecting: false })));\n }\n}\nfunction renderInnerContent(renderProps) {\n return (createElement(Fragment, null,\n createElement(\"div\", { className: \"fc-daygrid-event-dot\", style: { borderColor: renderProps.borderColor || renderProps.backgroundColor } }),\n renderProps.timeText && (createElement(\"div\", { className: \"fc-event-time\" }, renderProps.timeText)),\n createElement(\"div\", { className: \"fc-event-title\" }, renderProps.event.title || createElement(Fragment, null, \"\\u00A0\"))));\n}\n\nclass TableCellMoreLink extends BaseComponent {\n constructor() {\n super(...arguments);\n this.compileSegs = memoize(compileSegs);\n }\n render() {\n let { props } = this;\n let { allSegs, invisibleSegs } = this.compileSegs(props.singlePlacements);\n return (createElement(MoreLinkContainer, { elClasses: ['fc-daygrid-more-link'], dateProfile: props.dateProfile, todayRange: props.todayRange, allDayDate: props.allDayDate, moreCnt: props.moreCnt, allSegs: allSegs, hiddenSegs: invisibleSegs, alignmentElRef: props.alignmentElRef, alignGridTop: props.alignGridTop, extraDateSpan: props.extraDateSpan, popoverContent: () => {\n let isForcedInvisible = (props.eventDrag ? props.eventDrag.affectedInstances : null) ||\n (props.eventResize ? props.eventResize.affectedInstances : null) ||\n {};\n return (createElement(Fragment, null, allSegs.map((seg) => {\n let instanceId = seg.eventRange.instance.instanceId;\n return (createElement(\"div\", { className: \"fc-daygrid-event-harness\", key: instanceId, style: {\n visibility: isForcedInvisible[instanceId] ? 'hidden' : '',\n } }, hasListItemDisplay(seg) ? (createElement(TableListItemEvent, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (createElement(TableBlockEvent, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));\n })));\n } }));\n }\n}\nfunction compileSegs(singlePlacements) {\n let allSegs = [];\n let invisibleSegs = [];\n for (let placement of singlePlacements) {\n allSegs.push(placement.seg);\n if (!placement.isVisible) {\n invisibleSegs.push(placement.seg);\n }\n }\n return { allSegs, invisibleSegs };\n}\n\nconst DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'narrow' });\nclass TableCell extends DateComponent {\n constructor() {\n super(...arguments);\n this.rootElRef = createRef();\n this.state = {\n dayNumberId: getUniqueDomId(),\n };\n this.handleRootEl = (el) => {\n setRef(this.rootElRef, el);\n setRef(this.props.elRef, el);\n };\n }\n render() {\n let { context, props, state, rootElRef } = this;\n let { options } = context;\n let { date, dateProfile } = props;\n return (createElement(DayCellContainer, { elTag: \"td\", elRef: this.handleRootEl, elClasses: [\n 'fc-daygrid-day',\n ...(props.extraClassNames || []),\n ], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (createElement(\"div\", { className: \"fc-daygrid-day-frame fc-scrollgrid-sync-inner\", ref: props.innerElRef },\n props.showWeekNumber && (createElement(WeekNumberContainer, { elTag: \"a\", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT })),\n Boolean(!renderProps.isDisabled &&\n (props.showDayNumber || hasCustomDayCellContent(options) || props.forceDayTop)) && (createElement(\"div\", { className: \"fc-daygrid-day-top\" },\n createElement(InnerContent, { elTag: \"a\", elClasses: ['fc-daygrid-day-number'], elAttrs: Object.assign(Object.assign({}, buildNavLinkAttrs(context, date)), { id: state.dayNumberId }) }))),\n createElement(\"div\", { className: \"fc-daygrid-day-events\", ref: props.fgContentElRef },\n props.fgContent,\n createElement(\"div\", { className: \"fc-daygrid-day-bottom\", style: { marginTop: props.moreMarginTop } },\n createElement(TableCellMoreLink, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),\n createElement(\"div\", { className: \"fc-daygrid-day-bg\" }, props.bgContent)))));\n }\n}\nfunction renderTopInner(props) {\n return props.dayNumberText || createElement(Fragment, null, \"\\u00A0\");\n}\n\nfunction computeFgSegPlacement(segs, // assumed already sorted\ndayMaxEvents, dayMaxEventRows, strictOrder, eventInstanceHeights, maxContentHeight, cells) {\n let hierarchy = new DayGridSegHierarchy();\n hierarchy.allowReslicing = true;\n hierarchy.strictOrder = strictOrder;\n if (dayMaxEvents === true || dayMaxEventRows === true) {\n hierarchy.maxCoord = maxContentHeight;\n hierarchy.hiddenConsumes = true;\n }\n else if (typeof dayMaxEvents === 'number') {\n hierarchy.maxStackCnt = dayMaxEvents;\n }\n else if (typeof dayMaxEventRows === 'number') {\n hierarchy.maxStackCnt = dayMaxEventRows;\n hierarchy.hiddenConsumes = true;\n }\n // create segInputs only for segs with known heights\n let segInputs = [];\n let unknownHeightSegs = [];\n for (let i = 0; i < segs.length; i += 1) {\n let seg = segs[i];\n let { instanceId } = seg.eventRange.instance;\n let eventHeight = eventInstanceHeights[instanceId];\n if (eventHeight != null) {\n segInputs.push({\n index: i,\n thickness: eventHeight,\n span: {\n start: seg.firstCol,\n end: seg.lastCol + 1,\n },\n });\n }\n else {\n unknownHeightSegs.push(seg);\n }\n }\n let hiddenEntries = hierarchy.addSegs(segInputs);\n let segRects = hierarchy.toRects();\n let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells);\n let moreCnts = [];\n let moreMarginTops = [];\n // add segs with unknown heights\n for (let seg of unknownHeightSegs) {\n multiColPlacements[seg.firstCol].push({\n seg,\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n });\n for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n });\n }\n }\n // add the hidden entries\n for (let col = 0; col < cells.length; col += 1) {\n moreCnts.push(0);\n }\n for (let hiddenEntry of hiddenEntries) {\n let seg = segs[hiddenEntry.index];\n let hiddenSpan = hiddenEntry.span;\n multiColPlacements[hiddenSpan.start].push({\n seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n });\n for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {\n moreCnts[col] += 1;\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n });\n }\n }\n // deal with leftover margins\n for (let col = 0; col < cells.length; col += 1) {\n moreMarginTops.push(leftoverMargins[col]);\n }\n return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops };\n}\n// rects ordered by top coord, then left\nfunction placeRects(allRects, segs, cells) {\n let rectsByEachCol = groupRectsByEachCol(allRects, cells.length);\n let singleColPlacements = [];\n let multiColPlacements = [];\n let leftoverMargins = [];\n for (let col = 0; col < cells.length; col += 1) {\n let rects = rectsByEachCol[col];\n // compute all static segs in singlePlacements\n let singlePlacements = [];\n let currentHeight = 0;\n let currentMarginTop = 0;\n for (let rect of rects) {\n let seg = segs[rect.index];\n singlePlacements.push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: rect.levelCoord - currentHeight,\n });\n currentHeight = rect.levelCoord + rect.thickness;\n }\n // compute mixed static/absolute segs in multiPlacements\n let multiPlacements = [];\n currentHeight = 0;\n currentMarginTop = 0;\n for (let rect of rects) {\n let seg = segs[rect.index];\n let isAbsolute = rect.span.end - rect.span.start > 1; // multi-column?\n let isFirstCol = rect.span.start === col;\n currentMarginTop += rect.levelCoord - currentHeight; // amount of space since bottom of previous seg\n currentHeight = rect.levelCoord + rect.thickness; // height will now be bottom of current seg\n if (isAbsolute) {\n currentMarginTop += rect.thickness;\n if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: true,\n absoluteTop: rect.levelCoord,\n marginTop: 0,\n });\n }\n }\n else if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: currentMarginTop, // claim the margin\n });\n currentMarginTop = 0;\n }\n }\n singleColPlacements.push(singlePlacements);\n multiColPlacements.push(multiPlacements);\n leftoverMargins.push(currentMarginTop);\n }\n return { singleColPlacements, multiColPlacements, leftoverMargins };\n}\nfunction groupRectsByEachCol(rects, colCnt) {\n let rectsByEachCol = [];\n for (let col = 0; col < colCnt; col += 1) {\n rectsByEachCol.push([]);\n }\n for (let rect of rects) {\n for (let col = rect.span.start; col < rect.span.end; col += 1) {\n rectsByEachCol[col].push(rect);\n }\n }\n return rectsByEachCol;\n}\nfunction resliceSeg(seg, spanStart, spanEnd, cells) {\n if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {\n return seg;\n }\n let eventRange = seg.eventRange;\n let origRange = eventRange.range;\n let slicedRange = intersectRanges(origRange, {\n start: cells[spanStart].date,\n end: addDays(cells[spanEnd - 1].date, 1),\n });\n return Object.assign(Object.assign({}, seg), { firstCol: spanStart, lastCol: spanEnd - 1, eventRange: {\n def: eventRange.def,\n ui: Object.assign(Object.assign({}, eventRange.ui), { durationEditable: false }),\n instance: eventRange.instance,\n range: slicedRange,\n }, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() });\n}\nclass DayGridSegHierarchy extends SegHierarchy {\n constructor() {\n super(...arguments);\n // config\n this.hiddenConsumes = false;\n // allows us to keep hidden entries in the hierarchy so they take up space\n this.forceHidden = {};\n }\n addSegs(segInputs) {\n const hiddenSegs = super.addSegs(segInputs);\n const { entriesByLevel } = this;\n const excludeHidden = (entry) => !this.forceHidden[buildEntryKey(entry)];\n // remove the forced-hidden segs\n for (let level = 0; level < entriesByLevel.length; level += 1) {\n entriesByLevel[level] = entriesByLevel[level].filter(excludeHidden);\n }\n return hiddenSegs;\n }\n handleInvalidInsertion(insertion, entry, hiddenEntries) {\n const { entriesByLevel, forceHidden } = this;\n const { touchingEntry, touchingLevel, touchingLateral } = insertion;\n if (this.hiddenConsumes && touchingEntry) {\n const touchingEntryId = buildEntryKey(touchingEntry);\n // if not already hidden\n if (!forceHidden[touchingEntryId]) {\n if (this.allowReslicing) {\n const placeholderEntry = Object.assign(Object.assign({}, touchingEntry), { span: intersectSpans(touchingEntry.span, entry.span) });\n const placeholderEntryId = buildEntryKey(placeholderEntry);\n forceHidden[placeholderEntryId] = true;\n entriesByLevel[touchingLevel][touchingLateral] = placeholderEntry; // replace touchingEntry with our placeholder\n this.splitEntry(touchingEntry, entry, hiddenEntries); // split up the touchingEntry, reinsert it\n }\n else {\n forceHidden[touchingEntryId] = true;\n hiddenEntries.push(touchingEntry);\n }\n }\n }\n return super.handleInvalidInsertion(insertion, entry, hiddenEntries);\n }\n}\n\nclass TableRow extends DateComponent {\n constructor() {\n super(...arguments);\n this.cellElRefs = new RefMap(); // the \n this.frameElRefs = new RefMap(); // the fc-daygrid-day-frame\n this.fgElRefs = new RefMap(); // the fc-daygrid-day-events\n this.segHarnessRefs = new RefMap(); // indexed by \"instanceId:firstCol\"\n this.rootElRef = createRef();\n this.state = {\n framePositions: null,\n maxContentHeight: null,\n eventInstanceHeights: {},\n };\n this.handleResize = (isForced) => {\n if (isForced) {\n this.updateSizing(true); // isExternal=true\n }\n };\n }\n render() {\n let { props, state, context } = this;\n let { options } = context;\n let colCnt = props.cells.length;\n let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);\n let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);\n let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);\n let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);\n let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.eventInstanceHeights, state.maxContentHeight, props.cells);\n let isForcedInvisible = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {};\n return (createElement(\"tr\", { ref: this.rootElRef, role: \"row\" },\n props.renderIntro && props.renderIntro(),\n props.cells.map((cell, col) => {\n let normalFgNodes = this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);\n let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);\n return (createElement(TableCell, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n createElement(Fragment, null, normalFgNodes),\n createElement(Fragment, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys\n createElement(Fragment, null,\n this.renderFillSegs(highlightSegsByCol[col], 'highlight'),\n this.renderFillSegs(businessHoursByCol[col], 'non-business'),\n this.renderFillSegs(bgEventSegsByCol[col], 'bg-event'))) }));\n })));\n }\n componentDidMount() {\n this.updateSizing(true);\n this.context.addResizeHandler(this.handleResize);\n }\n componentDidUpdate(prevProps, prevState) {\n let currentProps = this.props;\n this.updateSizing(!isPropsEqual(prevProps, currentProps));\n }\n componentWillUnmount() {\n this.context.removeResizeHandler(this.handleResize);\n }\n getHighlightSegs() {\n let { props } = this;\n if (props.eventDrag && props.eventDrag.segs.length) { // messy check\n return props.eventDrag.segs;\n }\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return props.dateSelectionSegs;\n }\n getMirrorSegs() {\n let { props } = this;\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs;\n }\n return [];\n }\n renderFgSegs(col, segPlacements, todayRange, isForcedInvisible, isDragging, isResizing, isDateSelecting) {\n let { context } = this;\n let { eventSelection } = this.props;\n let { framePositions } = this.state;\n let defaultDisplayEventEnd = this.props.cells.length === 1; // colCnt === 1\n let isMirror = isDragging || isResizing || isDateSelecting;\n let nodes = [];\n if (framePositions) {\n for (let placement of segPlacements) {\n let { seg } = placement;\n let { instanceId } = seg.eventRange.instance;\n let key = instanceId + ':' + col;\n let isVisible = placement.isVisible && !isForcedInvisible[instanceId];\n let isAbsolute = placement.isAbsolute;\n let left = '';\n let right = '';\n if (isAbsolute) {\n if (context.isRtl) {\n right = 0;\n left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol];\n }\n else {\n left = 0;\n right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol];\n }\n }\n /*\n known bug: events that are force to be list-item but span multiple days still take up space in later columns\n todo: in print view, for multi-day events, don't display title within non-start/end segs\n */\n nodes.push(createElement(\"div\", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: key, ref: isMirror ? null : this.segHarnessRefs.createRef(key), style: {\n visibility: isVisible ? '' : 'hidden',\n marginTop: isAbsolute ? '' : placement.marginTop,\n top: isAbsolute ? placement.absoluteTop : '',\n left,\n right,\n } }, hasListItemDisplay(seg) ? (createElement(TableListItemEvent, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (createElement(TableBlockEvent, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));\n }\n }\n return nodes;\n }\n renderFillSegs(segs, fillType) {\n let { isRtl } = this.context;\n let { todayRange } = this.props;\n let { framePositions } = this.state;\n let nodes = [];\n if (framePositions) {\n for (let seg of segs) {\n let leftRightCss = isRtl ? {\n right: 0,\n left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],\n } : {\n left: 0,\n right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],\n };\n nodes.push(createElement(\"div\", { key: buildEventRangeKey(seg.eventRange), className: \"fc-daygrid-bg-harness\", style: leftRightCss }, fillType === 'bg-event' ?\n createElement(BgEvent, Object.assign({ seg: seg }, getSegMeta(seg, todayRange))) :\n renderFill(fillType)));\n }\n }\n return createElement(Fragment, {}, ...nodes);\n }\n updateSizing(isExternalSizingChange) {\n let { props, frameElRefs } = this;\n if (!props.forPrint &&\n props.clientWidth !== null // positioning ready?\n ) {\n if (isExternalSizingChange) {\n let frameEls = props.cells.map((cell) => frameElRefs.currentMap[cell.key]);\n if (frameEls.length) {\n let originEl = this.rootElRef.current;\n this.setState({\n framePositions: new PositionCache(originEl, frameEls, true, // isHorizontal\n false),\n });\n }\n }\n const oldInstanceHeights = this.state.eventInstanceHeights;\n const newInstanceHeights = this.queryEventInstanceHeights();\n const limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true;\n this.safeSetState({\n // HACK to prevent oscillations of events being shown/hidden from max-event-rows\n // Essentially, once you compute an element's height, never null-out.\n // TODO: always display all events, as visibility:hidden?\n eventInstanceHeights: Object.assign(Object.assign({}, oldInstanceHeights), newInstanceHeights),\n maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,\n });\n }\n }\n queryEventInstanceHeights() {\n let segElMap = this.segHarnessRefs.currentMap;\n let eventInstanceHeights = {};\n // get the max height amongst instance segs\n for (let key in segElMap) {\n let height = Math.round(segElMap[key].getBoundingClientRect().height);\n let instanceId = key.split(':')[0]; // deconstruct how renderFgSegs makes the key\n eventInstanceHeights[instanceId] = Math.max(eventInstanceHeights[instanceId] || 0, height);\n }\n return eventInstanceHeights;\n }\n computeMaxContentHeight() {\n let firstKey = this.props.cells[0].key;\n let cellEl = this.cellElRefs.currentMap[firstKey];\n let fcContainerEl = this.fgElRefs.currentMap[firstKey];\n return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top;\n }\n getCellEls() {\n let elMap = this.cellElRefs.currentMap;\n return this.props.cells.map((cell) => elMap[cell.key]);\n }\n}\nTableRow.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n});\nfunction buildMirrorPlacements(mirrorSegs, colPlacements) {\n if (!mirrorSegs.length) {\n return [];\n }\n let topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?\n return mirrorSegs.map((seg) => ({\n seg,\n isVisible: true,\n isAbsolute: true,\n absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],\n marginTop: 0,\n }));\n}\nfunction buildAbsoluteTopHash(colPlacements) {\n let topsByInstanceId = {};\n for (let placements of colPlacements) {\n for (let placement of placements) {\n topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop;\n }\n }\n return topsByInstanceId;\n}\n\nclass Table extends DateComponent {\n constructor() {\n super(...arguments);\n this.splitBusinessHourSegs = memoize(splitSegsByRow);\n this.splitBgEventSegs = memoize(splitSegsByRow);\n this.splitFgEventSegs = memoize(splitSegsByRow);\n this.splitDateSelectionSegs = memoize(splitSegsByRow);\n this.splitEventDrag = memoize(splitInteractionByRow);\n this.splitEventResize = memoize(splitInteractionByRow);\n this.rowRefs = new RefMap();\n this.handleRootEl = (rootEl) => {\n this.rootEl = rootEl;\n if (rootEl) {\n this.context.registerInteractiveComponent(this, {\n el: rootEl,\n isHitComboAllowed: this.props.isHitComboAllowed,\n });\n }\n else {\n this.context.unregisterInteractiveComponent(this);\n }\n };\n }\n render() {\n let { props } = this;\n let { dateProfile, dayMaxEventRows, dayMaxEvents, expandRows } = props;\n let rowCnt = props.cells.length;\n let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt);\n let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt);\n let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt);\n let dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt);\n let eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt);\n let eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);\n let limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true;\n // if rows can't expand to fill fixed height, can't do balanced-height event limit\n // TODO: best place to normalize these options?\n if (limitViaBalanced && !expandRows) {\n limitViaBalanced = false;\n dayMaxEventRows = null;\n dayMaxEvents = null;\n }\n let classNames = [\n 'fc-daygrid-body',\n limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced',\n expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?\n ];\n return (createElement(\"div\", { className: classNames.join(' '), ref: this.handleRootEl, style: {\n // these props are important to give this wrapper correct dimensions for interactions\n // TODO: if we set it here, can we avoid giving to inner tables?\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n } },\n createElement(NowTimer, { unit: \"day\" }, (nowDate, todayRange) => (createElement(Fragment, null,\n createElement(\"table\", { role: \"presentation\", className: \"fc-scrollgrid-sync-table\", style: {\n width: props.clientWidth,\n minWidth: props.tableMinWidth,\n height: expandRows ? props.clientHeight : '',\n } },\n props.colGroupNode,\n createElement(\"tbody\", { role: \"presentation\" }, props.cells.map((cells, row) => (createElement(TableRow, { ref: this.rowRefs.createRef(row), key: cells.length\n ? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */\n : row // in case there are no cells (like when resource view is loading)\n , showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint }))))))))));\n }\n // Hit System\n // ----------------------------------------------------------------------------------------------------\n prepareHits() {\n this.rowPositions = new PositionCache(this.rootEl, this.rowRefs.collect().map((rowObj) => rowObj.getCellEls()[0]), // first cell el in each row. TODO: not optimal\n false, true);\n this.colPositions = new PositionCache(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), // cell els in first row\n true, // horizontal\n false);\n }\n queryHit(positionLeft, positionTop) {\n let { colPositions, rowPositions } = this;\n let col = colPositions.leftToIndex(positionLeft);\n let row = rowPositions.topToIndex(positionTop);\n if (row != null && col != null) {\n let cell = this.props.cells[row][col];\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: Object.assign({ range: this.getCellRange(row, col), allDay: true }, cell.extraDateSpan),\n dayEl: this.getCellEl(row, col),\n rect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row],\n },\n layer: 0,\n };\n }\n return null;\n }\n getCellEl(row, col) {\n return this.rowRefs.currentMap[row].getCellEls()[col]; // TODO: not optimal\n }\n getCellRange(row, col) {\n let start = this.props.cells[row][col].date;\n let end = addDays(start, 1);\n return { start, end };\n }\n}\nfunction isSegAllDay(seg) {\n return seg.eventRange.def.allDay;\n}\n\nclass DayTableSlicer extends Slicer {\n constructor() {\n super(...arguments);\n this.forceDayIfListItem = true;\n }\n sliceRange(dateRange, dayTableModel) {\n return dayTableModel.sliceRange(dateRange);\n }\n}\n\nclass DayTable extends DateComponent {\n constructor() {\n super(...arguments);\n this.slicer = new DayTableSlicer();\n this.tableRef = createRef();\n }\n render() {\n let { props, context } = this;\n return (createElement(Table, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));\n }\n}\n\nclass DayTableView extends TableView {\n constructor() {\n super(...arguments);\n this.buildDayTableModel = memoize(buildDayTableModel);\n this.headerRef = createRef();\n this.tableRef = createRef();\n }\n render() {\n let { options, dateProfileGenerator } = this.context;\n let { props } = this;\n let dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator);\n let headerContent = options.dayHeaders && (createElement(DayHeader, { ref: this.headerRef, dateProfile: props.dateProfile, dates: dayTableModel.headerDates, datesRepDistinctDays: dayTableModel.rowCnt === 1 }));\n let bodyContent = (contentArg) => (createElement(DayTable, { ref: this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint }));\n return options.dayMinWidth\n ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)\n : this.renderSimpleLayout(headerContent, bodyContent);\n }\n}\nfunction buildDayTableModel(dateProfile, dateProfileGenerator) {\n let daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator);\n return new DayTableModel(daySeries, /year|month|week/.test(dateProfile.currentRangeUnit));\n}\n\nexport { DayTableView as DayGridView, DayTable, DayTableSlicer, Table, TableView, buildDayTableModel };\n","import { createPlugin } from '@fullcalendar/core/index.js';\nimport { DayGridView as DayTableView } from './internal.js';\nimport { DateProfileGenerator, addWeeks, diffWeeks, injectStyles } from '@fullcalendar/core/internal.js';\nimport '@fullcalendar/core/preact.js';\n\nclass TableDateProfileGenerator extends DateProfileGenerator {\n // Computes the date range that will be rendered.\n buildRenderRange(currentRange, currentRangeUnit, isRangeAllDay) {\n let { dateEnv } = this.props;\n let renderRange = super.buildRenderRange(currentRange, currentRangeUnit, isRangeAllDay);\n let start = renderRange.start;\n let end = renderRange.end;\n let endOfWeek;\n // year and month views should be aligned with weeks. this is already done for week\n if (/^(year|month)$/.test(currentRangeUnit)) {\n start = dateEnv.startOfWeek(start);\n // make end-of-week if not already\n endOfWeek = dateEnv.startOfWeek(end);\n if (endOfWeek.valueOf() !== end.valueOf()) {\n end = addWeeks(endOfWeek, 1);\n }\n }\n // ensure 6 weeks\n if (this.props.monthMode &&\n this.props.fixedWeekCount) {\n let rowCnt = Math.ceil(// could be partial weeks due to hiddenDays\n diffWeeks(start, end));\n end = addWeeks(end, 6 - rowCnt);\n }\n return { start, end };\n }\n}\n\nvar css_248z = \":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\\\"\\\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{clear:both;content:\\\"\\\";display:table}.fc .fc-daygrid-more-link{cursor:pointer;position:relative;z-index:4}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}\";\ninjectStyles(css_248z);\n\nvar index = createPlugin({\n name: '@fullcalendar/daygrid',\n initialView: 'dayGridMonth',\n views: {\n dayGrid: {\n component: DayTableView,\n dateProfileGeneratorClass: TableDateProfileGenerator,\n },\n dayGridDay: {\n type: 'dayGrid',\n duration: { days: 1 },\n },\n dayGridWeek: {\n type: 'dayGrid',\n duration: { weeks: 1 },\n },\n dayGridMonth: {\n type: 'dayGrid',\n duration: { months: 1 },\n monthMode: true,\n fixedWeekCount: true,\n },\n },\n});\n\nexport { index as default };\n","import { render } from \"./a-project-calendar.vue?vue&type=template&id=41d277ae&scoped=true\"\nimport script from \"./a-project-calendar.vue?vue&type=script&lang=js\"\nexport * from \"./a-project-calendar.vue?vue&type=script&lang=js\"\n\nimport \"./a-project-calendar.vue?vue&type=style&index=0&id=41d277ae&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-41d277ae\"]])\n\nexport default __exports__","// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { filterControlProps, makeSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utility\nimport { computed, ref } from 'vue'\nimport { defineComponent, filterInputAttrs, getUid, useRender } from '@/util'\n\nexport const VSwitch = defineComponent({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: {\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeSelectionControlProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': () => true,\n 'update:indeterminate': (val: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n const { loaderClasses } = useLoader(props)\n const { isFocused, focus, blur } = useFocus(props)\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n\n useRender(() => {\n const [inputAttrs, controlAttrs] = filterInputAttrs(attrs)\n const [inputProps, _1] = filterInputProps(props)\n const [controlProps, _2] = filterControlProps(props)\n const control = ref()\n\n function onClick () {\n control.value?.input?.click()\n }\n\n return (\n \n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isReadonly,\n isValid,\n }) => (\n \n {{\n ...slots,\n default: () => (
),\n input: ({ textColorClasses, textColorStyles }) => (\n \n { props.loading && (\n \n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n \n )\n )}\n \n ) }\n
\n ),\n }}\n \n ),\n }}\n \n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType\n","\n\t\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\n\t\t\n\t \n \n\n\n\n\n","import { render } from \"./a-project-filter.vue?vue&type=template&id=131adb64&scoped=true\"\nimport script from \"./a-project-filter.vue?vue&type=script&lang=js\"\nexport * from \"./a-project-filter.vue?vue&type=script&lang=js\"\n\nimport \"./a-project-filter.vue?vue&type=style&index=0&id=131adb64&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-131adb64\"]])\n\nexport default __exports__","import { render } from \"./projects.vue?vue&type=template&id=373a480b&scoped=true\"\nimport script from \"./projects.vue?vue&type=script&lang=js\"\nexport * from \"./projects.vue?vue&type=script&lang=js\"\n\nimport \"./projects.vue?vue&type=style&index=0&id=373a480b&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-373a480b\"]])\n\nexport default __exports__"],"names":["data","header","initialized","marginTop","calendar_previousScrollPosition","isVisible","unmounted","this","$refs","page","querySelector","removeEventListener","handleScroll","methods","_initScrollListener","repeat","calendar","setTimeout","addEventListener","_handleScroll","scrollTop","e","document","target","showHeader","offsetHeight","Math","abs","hideHeader","style","transition","ref","_createElementBlock","_hoisted_1","_ctx","getters","_createBlock","_component_A_project_filter","onFilterChanged","$options","_createVNode","_component_W_loadable","class","content","emptyMessage","_component_A_project_calendar","events","month","$data","year","onOpenDetail","id","_component_V_full_calendar","options","slice","vnodeId","isValidElement","rerenderQueue","prevDebounce","i","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","assign","obj","props","removeNode","node","parentNode","removeChild","createElement","type","children","key","normalizedProps","arguments","length","call","defaultProps","createVNode","original","vnode","__k","__","__b","__e","__d","__c","__h","constructor","__v","createRef","current","Fragment","Component","context","getDomSibling","childIndex","indexOf","sibling","updateParentDomPointers","child","base","enqueueRender","c","push","process","debounceRendering","queue","__r","sort","a","b","some","component","commitQueue","oldVNode","oldDom","parentDom","__P","diff","ownerSVGElement","commitRoot","diffChildren","renderResult","newParentVNode","oldParentVNode","globalContext","isSvg","excessDomChildren","isHydrating","j","childVNode","newDom","firstChildDom","refs","oldChildren","oldChildrenLength","Array","isArray","reorderChildren","placeChild","unmount","applyRef","tmp","toChildArray","out","nextDom","sibDom","outer","appendChild","nextSibling","insertBefore","diffProps","dom","newProps","oldProps","hydrate","setProperty","setStyle","value","test","name","oldValue","useCapture","o","cssText","replace","toLowerCase","l","eventProxyCapture","eventProxy","removeAttribute","setAttribute","event","newVNode","isNew","oldState","snapshot","clearProcessingException","provider","componentContext","renderHook","count","newType","contextType","__E","prototype","render","doRender","sub","state","getDerivedStateFromProps","__s","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","forEach","_sb","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","diffElementNodes","diffed","root","cb","oldHtml","newHtml","nodeType","localName","createTextNode","createElementNS","is","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","checked","parentVNode","skipRemove","r","componentWillUnmount","replaceNode","firstChild","createContext","defaultValue","contextId","Consumer","contextValue","Provider","subs","ctx","_props","old","splice","error","errorInfo","ctor","handled","getDerivedStateFromError","setState","componentDidCatch","update","callback","s","forceUpdate","currentComponent","previousComponent","prevRaf","afterPaintEffects","EMPTY","oldBeforeDiff","oldBeforeRender","oldAfterDiff","oldCommit","oldBeforeUnmount","flushAfterPaintEffects","shift","__H","invokeCleanup","invokeEffect","hooks","hookItem","__N","_pendingArgs","afterNextFrame","__V","filter","hasErrored","HAS_RAF","requestAnimationFrame","raf","done","clearTimeout","timeout","cancelAnimationFrame","hook","comp","cleanup","shallowDiffers","PureComponent","p","isPureReactComponent","oldDiffHook","__f","Symbol","for","oldCatchError","then","oldUnmount","detachedClone","detachedParent","effect","map","removeOriginal","originalParent","Suspense","_suspenders","suspended","__a","SuspenseList","_next","_map","__R","promise","suspendingVNode","suspendingComponent","resolve","resolved","onResolved","onSuspensionComplete","__u","suspendedVNode","pop","wasHydrating","detachedComponent","fallback","list","delete","revealOrder","size","ContextProvider","Portal","_this","container","_container","_temp","before","createPortal","el","containerInfo","delegated","get","unsuspend","wrappedUnsuspend","Map","reverse","set","REACT_ELEMENT_TYPE","CAMEL_PROPS","IS_DOM","onChangeInputType","Object","defineProperty","configurable","v","writable","oldEventHook","empty","isPropagationStopped","cancelBubble","isDefaultPrevented","defaultPrevented","persist","nativeEvent","classNameDescriptor","oldVNodeHook","nonCustomElement","multiple","selected","className","enumerable","$$typeof","injectStyles","css","head","getElementsByTagName","styleSheet","DelayedRunner","drainedOption","isRunning","isDirty","pauseDepths","timeoutId","request","delay","isPaused","tryDrain","bind","pause","scope","resume","force","depth","keys","drained","clear","hasOwnProperty","mergeProps","propObjs","complexPropsMap","dest","complexObjs","val","unshift","undefined","filterHash","hash","func","filtered","mapHash","newHash","arrayToHash","item","hashValuesToArray","isPropsEqual","obj0","obj1","HANDLER_RE","isNonHandlerPropsEqual","getUnequalProps","compareObjs","equalityFuncs","isObjValsEqual","val0","val1","comparator","collectFromHash","startIndex","endIndex","step","res","isArraysEqual","a0","a1","equalityFunc","len","memoize","workerFunc","resEquality","teardownFunc","currentArgs","currentRes","newArgs","apply","memoizeObjArg","currentArg","newArg","removeElement","elementClosest","selector","closest","documentElement","contains","elementMatches","parentElement","method","matches","matchesSelector","msMatchesSelector","findElements","containers","HTMLElement","allMatches","querySelectorAll","PIXEL_PROP_RE","applyStyle","propName","applyStyleProp","getEventTargetViaRoot","ev","_a","_b","composedPath","guid$1","getUniqueDomId","buildDelegationHandler","handler","matchedChild","listenBySelector","eventType","attachedHandler","listenToHoverBySelector","onMouseEnter","onMouseLeave","currentMatchedChild","mouseOverEv","realOnMouseLeave","mouseLeaveEv","createAriaClickAttrs","onClick","createAriaKeyboardAttrs","tabIndex","onKeyDown","preventDefault","guidNumber","guid","String","parseFieldSpecs","input","token","specs","tokens","split","charAt","field","substring","order","compareByFieldSpecs","fieldSpecs","cmp","compareByFieldSpec","fieldSpec","flexibleCompare","localeCompare","padStart","substr","formatWithOrdinals","formatter","args","fallbackText","reduce","str","arg","index","isInt","n","computeSmallestCellWidth","cellEl","allWidthEl","contentWidthEl","Error","getBoundingClientRect","width","DAY_IDS","addWeeks","m","dateToUtcArray","arrayToUtcDate","addDays","addMs","diffWeeks","m0","m1","diffDays","valueOf","diffHours","diffMinutes","diffSeconds","diffDayAndTime","m0day","startOfDay","m1day","years","months","days","round","milliseconds","diffWholeWeeks","d","diffWholeDays","timeAsMs","getUTCFullYear","getUTCMonth","getUTCDate","startOfHour","getUTCHours","startOfMinute","getUTCMinutes","startOfSecond","getUTCSeconds","weekOfYear","marker","dow","doy","y","w","weekOfGivenYear","nextW","min","firstWeekStart","firstWeekOffset","dayStart","floor","fwd","fwdlw","getUTCDay","dateToLocalArray","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","arrayToLocalDate","Date","getUTCMilliseconds","concat","UTC","isValidDate","isNaN","calendarSystemClassMap","registerCalendarSystem","theClass","createCalendarSystem","GregorianCalendarSystem","getMarkerYear","getMarkerMonth","getMarkerDay","arrayToMarker","arr","markerToArray","PARSE_RE","createDuration","unit","parseString","parseObject","exec","sign","parseInt","duration","day","hours","hour","minutes","minute","seconds","second","millisecond","ms","weeks","week","specifiedWeeks","durationsEqual","d0","d1","subtractDurations","asRoughYears","dur","asRoughDays","asRoughMonths","asRoughMs","greatestDurationDenominator","buildIsoString","timeZoneOffset","stripZeroTime","toISOString","formatTimeZoneOffset","formatDayString","doIso","mins","ISO_RE","parse","Number","isTimeUnspecified","DateEnv","settings","timeZone","isNamedTimeZone","namedTimeZoneImpl","canComputeOffset","Boolean","calendarSystem","locale","weekDow","weekDoy","weekNumberCalculation","firstDay","weekNumberFunc","weekText","weekTextLong","cmdFormatter","defaultSeparator","createMarker","meta","createMarkerMeta","createNowMarker","timestampToMarker","forcedTzo","parts","getYear","add","subtract","addYears","addMonths","diffWholeYears","diffWholeMonths","greatestWholeUnit","countDurationsBetween","startOf","startOfYear","startOfMonth","startOfWeek","computeWeekNumber","toDate","format","dateOptions","offsetForMarker","formatRange","start","end","isEndExclusive","forcedStartTzo","forcedEndTzo","formatIso","extraOptions","omitTimeZoneOffset","omitTime","timestampToArray","getTimezoneOffset","offsetForArray","Theme","calendarOptions","iconOverrideOption","setIconOverride","iconOverrideHash","iconClassesCopy","buttonName","iconClasses","applyIconOverridePrefix","prefix","iconOverridePrefix","getClass","classes","getIconClass","isRtl","rtlIconClasses","baseIconClass","getCustomButtonIconClass","customButtonProps","iconOverrideCustomButtonOption","EXTENDED_SETTINGS_AND_SEVERITIES","separator","omitZeroMinute","meridiem","omitCommas","STANDARD_DATE_PROP_SEVERITIES","timeZoneName","era","weekday","MERIDIEM_RE","COMMA_RE","MULTI_SPACE_RE","LTR_RE","UTC_RE","NativeFormatter","formatSettings","standardDateProps","extendedSettings","severity","max","buildFormattingFunc","betterDefaultSeparator","diffSeverity","computeMarkerDiffSeverity","biggestUnitForPartial","full0","full1","partialDateProps","computePartialFormattingOptions","partialFormattingFunc","partial0","partial1","insertion","findCommonInsertion","after","getLargestUnit","standardDatePropCnt","formatWeekNumber","buildNativeFormattingFunc","sanitizeSettings","zeroFormat","normalFormat","Intl","DateTimeFormat","codes","zeroProps","postProcess","injectTzoStr","trim","toLocaleLowerCase","tzoStr","replaced","num","display","simpleNumberFormat","direction","join","ca","biggestUnit","partialOptions","i0","found0","before0","after0","i1","found1","before1","after1","expandZonedMarker","dateInfo","array","createVerboseFormattingArg","startInfo","endInfo","localeCodes","CmdFormatter","cmdStr","FuncFormatter","createFormatter","BASE_OPTION_REFINERS","navLinkDayClick","identity","navLinkWeekClick","bootstrapFontAwesome","buttonIcons","customButtons","defaultAllDayEventDuration","defaultTimedEventDuration","nextDayThreshold","scrollTime","scrollTimeReset","slotMinTime","slotMaxTime","dayPopoverFormat","slotDuration","snapDuration","headerToolbar","footerToolbar","defaultRangeSeparator","titleRangeSeparator","forceEventDuration","dayHeaders","dayHeaderFormat","dayHeaderClassNames","dayHeaderContent","dayHeaderDidMount","dayHeaderWillUnmount","dayCellClassNames","dayCellContent","dayCellDidMount","dayCellWillUnmount","initialView","aspectRatio","weekends","weekNumbers","weekNumberClassNames","weekNumberContent","weekNumberDidMount","weekNumberWillUnmount","editable","viewClassNames","viewDidMount","viewWillUnmount","nowIndicator","nowIndicatorClassNames","nowIndicatorContent","nowIndicatorDidMount","nowIndicatorWillUnmount","showNonCurrentDates","lazyFetching","startParam","endParam","timeZoneParam","locales","themeSystem","dragRevertDuration","dragScroll","allDayMaintainDuration","unselectAuto","dropAccept","eventOrder","eventOrderStrict","handleWindowResize","windowResizeDelay","longPressDelay","eventDragMinDistance","expandRows","height","contentHeight","weekNumberFormat","eventResizableFromStart","displayEventTime","displayEventEnd","progressiveEventRendering","businessHours","initialDate","now","eventDataTransform","stickyHeaderDates","stickyFooterScrollbar","viewHeight","defaultAllDay","eventSourceFailure","eventSourceSuccess","eventDisplay","eventStartEditable","eventDurationEditable","eventOverlap","eventConstraint","eventAllow","eventBackgroundColor","eventBorderColor","eventTextColor","eventColor","eventClassNames","eventContent","eventDidMount","eventWillUnmount","selectConstraint","selectOverlap","selectAllow","droppable","unselectCancel","slotLabelFormat","slotLaneClassNames","slotLaneContent","slotLaneDidMount","slotLaneWillUnmount","slotLabelClassNames","slotLabelContent","slotLabelDidMount","slotLabelWillUnmount","dayMaxEvents","dayMaxEventRows","dayMinWidth","slotLabelInterval","allDayText","allDayClassNames","allDayContent","allDayDidMount","allDayWillUnmount","slotMinWidth","navLinks","eventTimeFormat","rerenderDelay","moreLinkText","moreLinkHint","selectMinDistance","selectable","selectLongPressDelay","eventLongPressDelay","selectMirror","eventMaxStack","eventMinHeight","eventMinWidth","eventShortHeight","slotEventOverlap","plugins","dayCount","dateAlignment","dateIncrement","hiddenDays","monthMode","fixedWeekCount","validRange","visibleRange","titleFormat","eventInteractive","noEventsText","viewHint","navLinkHint","closeHint","timeHint","eventHint","moreLinkClick","moreLinkClassNames","moreLinkContent","moreLinkDidMount","moreLinkWillUnmount","handleCustomRendering","customRenderingMetaMap","customRenderingReplacesEl","BASE_OPTION_DEFAULTS","center","CALENDAR_LISTENER_REFINERS","datesSet","eventsSet","eventAdd","eventChange","eventRemove","windowResize","eventClick","eventMouseEnter","eventMouseLeave","select","unselect","loading","_unmount","_beforeprint","_afterprint","_noEventDrop","_noEventResize","_resize","_scrollRequest","CALENDAR_OPTION_REFINERS","buttonText","buttonHints","views","initialEvents","eventSources","COMPLEX_OPTION_COMPARATORS","isMaybeObjectsEqual","VIEW_OPTION_REFINERS","buttonTextKey","dateProfileGeneratorClass","usesMinMaxTime","classNames","didMount","willUnmount","mergeRawOptions","optionSets","refineProps","refiners","refined","extra","raw","flushSync","runBeforeFlush","oldDebounceRendering","preact","callbackQ","execCallbackSync","FakeComponent","ContextType","origProvider","ScrollResponder","execFunc","emitter","handleScrollRequest","queuedRequest","drain","on","fireInitialScroll","detach","off","isDatesNew","time","ViewContextType","buildViewContext","viewSpec","viewApi","viewOptions","dateProfileGenerator","dateEnv","theme","pluginHooks","dispatch","getCurrentData","calendarApi","registerInteractiveComponent","unregisterInteractiveComponent","addResizeHandler","removeResizeHandler","createScrollResponder","nextProps","nextState","debug","console","log","propEquality","stateEquality","safeSetState","newState","addPropsEquality","addStateEquality","BaseComponent","create","setRef","ContentInjector","super","currentDomNodes","queuedDomNodes","handleEl","elRef","generator","renderProps","attrs","buildElAttrs","innerContent","hasCustomRenderingHandler","generatorName","customContent","html","domNodes","elTag","applyQueueudDomNodes","triggerCustomRendering","isActive","customRenderingMeta","containerEl","reportNewContainerEl","generatorMeta","newNode","extraClassNames","elAttrs","elClasses","elStyle","RenderId","ContentContainer","InnerContent","InnerContentInjector","generatedClassNames","generateClassNames","classNameGenerator","renderId","containerComponent","parentProps","ViewContainer","view","buildViewClassNames","parseRange","invertRanges","ranges","constraintRange","dateRange","invertedRanges","compareRanges","range0","range1","intersectRanges","newRange","rangesIntersect","rangeContainsMarker","range","constrainMarkerToRange","computeAlignedDayRange","timedRange","dayCnt","computeVisibleDayRange","startDay","endDay","endTimeMS","diffDates","date0","date1","largeUnit","reduceCurrentDate","currentDate","action","dateMarker","getInitialDate","initialDateInput","getNow","nowInput","DateProfileGenerator","nowDate","initHiddenDays","buildPrev","currentDateProfile","forceToValid","prevDate","currentRangeUnit","build","buildNext","nextDate","currentInfo","isRangeAllDay","renderRange","activeRange","isValid","buildValidRange","trimHiddenDays","buildCurrentRangeInfo","buildRenderRange","adjustActiveRange","currentRange","buildDateIncrement","validRangeInput","simpleInput","refineRange","durationUnit","buildRangeFromDuration","buildRangeFromDayCount","buildCustomVisibleRange","getFallbackDuration","computeRes","isHiddenDay","skipHiddenDays","runningCount","visibleRangeInput","customAlignment","rangeInput","isHiddenDayHash","inc","isExclusive","createEventInstance","defId","instanceId","parseRecurring","recurringTypes","parsed","allDay","allDayGuess","typeData","typeId","expandRecurring","eventStore","framingRange","defs","instances","instance","recurringDef","def","starts","expandRecurringRanges","eventDef","typeDef","markers","expand","EVENT_NON_DATE_REFINERS","groupId","title","url","interactive","EVENT_DATE_REFINERS","EVENT_REFINERS","extendedProps","parseEvent","eventSource","allowOpenRange","buildEventRefiners","refineEventDef","computeIsDefaultAllDay","recurringRes","parseEventDef","sourceId","singleRes","parseSingle","hasEnd","EVENT_UI_REFINERS","eventRefiners","publicId","ui","createEventUi","memberAdder","eventDefMemberAdders","freeze","startMeta","endMeta","startMarker","endMarker","startInput","parseEvents","rawEvents","createEmptyEventStore","rawEvent","tuple","eventTupleToStore","getRelevantEvents","newStore","filterEventStoreDefs","lookDef","isEventDefsGrouped","def0","def1","mergeEventStores","store0","store1","filterFunc","excludeSubEventStore","master","filteredDefs","filteredInstances","normalizeConstraint","parseClassNames","startEditable","durationEditable","constraint","overlap","allow","color","backgroundColor","borderColor","textColor","EMPTY_EVENT_UI","constraints","allows","combineEventUis","uis","combineTwoEventUis","item0","item1","EVENT_SOURCE_REFINERS","success","failure","parseEventSource","buildEventSourceRefiners","rawObj","metaRes","buildEventSourceMeta","_raw","isFetching","latestFetchId","fetchRange","sourceDefId","eventSourceRefiners","eventSourceDefs","parseMeta","reduceEventStore","dateProfile","receiveRawEvents","fetchId","addEvent","excludeEventsBySourceId","subset","transformRawEvents","calEachTransform","sourceEachTransform","transformEachRawEvent","refinedEvents","refinedEvent","expandRange","rezoneEventStoreDates","oldDateEnv","newDateEnv","Emitter","handlers","thisContext","setThisContext","setOptions","addToHash","removeFromHash","trigger","attachedHandlers","optionHandler","hasHandlers","DEF_DEFAULTS","startTime","endTime","daysOfWeek","parseBusinessHours","refineInputs","rawDefs","rawDef","triggerDateSelect","selection","pev","buildDateSpanApiWithContext","jsEvent","origEvent","triggerDateUnselect","dateSpan","transform","dateSpanTransforms","buildDateSpanApi","getDefaultEventEnd","applyMutationToEventStore","eventConfigBase","mutation","eventConfigs","compileEventUis","applyMutationToEventDef","applyMutationToEventInstance","eventConfig","standardProps","startDelta","endDelta","copy","applier","eventDefMutationAppliers","eventInstance","forceAllDay","clearEnd","datesDelta","EventSourceImpl","internalEventSource","remove","refetch","sourceIds","isRefetch","EventImpl","_context","_def","_instance","setProp","warn","mutate","setExtendedProp","setStart","instanceRange","granularity","maintainDuration","setEnd","endInput","setDates","moveStart","deltaInput","delta","moveEnd","moveDates","setAllDay","formatInput","relevantEvents","oldEvent","relatedEvents","buildEventApis","revert","asStore","eventApiToStore","source","startStr","endStr","toPlainObject","collapseColor","collapseExtendedProps","toJSON","eventApi","excludeInstance","eventApis","excludeInstanceId","sliceEventStore","eventUiBases","inverseBgByGroupId","inverseBgByDefId","defByGroupId","bgRanges","fgRanges","eventUis","origRange","normalRange","slicedRange","isStart","isEnd","invertedRange","bg","fg","setElSeg","seg","fcSeg","getElSeg","eventDefs","compileEventUi","sortEventSegs","segs","eventOrderSpecs","objs","buildSegCompareObj","_seg","eventRange","computeSegDraggable","transformers","isDraggableTransformers","transformer","computeSegStartResizable","computeSegEndResizable","buildSegTimeText","timeFormat","defaultDisplayEventTime","defaultDisplayEventEnd","startOverride","endOverride","wholeEventStart","wholeEventEnd","segStart","segEnd","isStartDay","isEndDay","getSegMeta","todayRange","segRange","isPast","isFuture","isToday","getEventClassNames","isMirror","isDraggable","isStartResizable","isEndResizable","isDragging","isResizing","isSelected","buildEventRangeKey","getSegAnchorAttrs","href","STANDARD_PROPS","parseDateSpan","defaultDuration","span","parseOpenDateSpan","buildRangeApi","buildRangeApiWithTimeZone","fabricateEventRange","unpromisify","normalizedSuccessCallback","normalizedFailureCallback","isResolved","wrappedSuccess","wrappedFailure","JsonRequestError","message","response","requestJson","params","toUpperCase","fetchOptions","URLSearchParams","body","headers","fetch","fetchRes","ok","json","parsedResponse","canVGrowWithinCell","getCanVGrowWithinCell","computeCanVGrowWithinCell","position","top","left","div","possible","CalendarRoot","forPrint","handleBeforePrint","handleAfterPrint","isHeightAuto","Interaction","isHitComboAllowed","destroy","parseInteractionSettings","useEventCenter","interactionSettingsStore","CalendarImpl","currentDataManager","batchRendering","updateSize","setOption","optionName","rawOptionValue","getOption","currentCalendarOptionsInput","getAvailableLocaleCodes","availableRawLocales","handlerName","currentCalendarOptionsRefiners","changeView","viewType","dateOrRange","zoomTo","spec","viewSpecs","getUnitViewSpec","toolbarConfig","viewTypes","viewsWithButtons","footer","singleUnit","prev","next","prevYear","nextYear","today","gotoDate","zonedDateInput","incrementDate","formatDate","dateOrObj","endDate","selectionInput","dateSelection","eventInput","sourceInput","currentData","triggerEventAdd","sourceApi","getEventSourceById","newEventApi","getEventById","getEvents","removeAllEvents","getEventSources","sourceHash","sourceApis","internalId","addEventSource","sources","removeAllEventSources","refetchEvents","scrollToTime","timeInput","intersectRects","rect1","rect2","right","bottom","getDateMeta","isDisabled","isOther","getDayClassNames","DAY_FORMAT","WEEK_FORMAT","buildNavLinkAttrs","isTabbable","dateStr","zonedDate","handleInteraction","customAction","_scrollbarWidths","getScrollbarWidths","computeScrollbarWidths","overflow","computeScrollbarWidthsForEl","x","clientHeight","offsetWidth","clientWidth","computeClippedClientRect","clippingParents","getClippingParents","rect","clippingParent","intersection","parents","computedStyle","window","getComputedStyle","overflowY","overflowX","PositionCache","originEl","els","isHorizontal","isVertical","originClientRect","buildElHorizontals","buildElVerticals","originClientLeft","lefts","rights","originClientTop","tops","bottoms","leftToIndex","leftPosition","topToIndex","topPosition","getWidth","leftIndex","getHeight","topIndex","DateComponent","uid","prepareHits","queryHit","positionLeft","positionTop","elWidth","elHeight","isValidSegDownEl","eventDrag","eventResize","isValidDateDownEl","SegHierarchy","strictOrder","allowReslicing","maxCoord","maxStackCnt","levelCoords","entriesByLevel","stackCnts","addSegs","inputs","hiddenEntries","insertEntry","entry","findInsertion","isInsertionValid","insertEntryAt","handleInvalidInsertion","levelCoord","thickness","stackCnt","touchingEntry","splitEntry","barrier","partCnt","splitHiddenEntries","entrySpan","barrierSpan","intersectSpans","lateral","insertAt","level","buildEntryKey","newEntry","levelCnt","candidateCoord","touchingLevel","touchingLateral","trackingLevel","trackingCoord","trackingEntry","trackingEntries","searchRes","binarySearch","getEntrySpanEnd","lateralIndex","trackingEntryBottom","destLevel","destLateral","toRects","rects","entries","span0","span1","searchVal","getItemVal","middleIndex","middleVal","computeFallbackHeaderFormat","datesRepDistinctDays","CLASS_NAME","renderInner$1","text","TableDateCell","dayMeta","navLinkAttrs","colCnt","extraRenderProps","role","colSpan","extraDataAttrs","InnerContainer","isSticky","WEEKDAY_FORMAT","TableDowCell","dateMeta","NowTimer","initialNowDate","initialNowQueriedMs","computeTiming","currentState","prevProps","unroundedNow","currentUnitStart","nextUnitStart","waitMs","buildDayRange","DayHeader","createDayHeaderFormatter","dates","renderIntro","explicitFormat","dateCnt","DaySeriesModel","indices","dayIndex","cnt","sliceRange","firstIndex","getDateDayIndex","lastIndex","clippedFirstIndex","clippedLastIndex","ceil","dayOffset","DayTableModel","daySeries","breakOnWeeks","daysPerRow","rowCnt","cells","buildCells","headerDates","buildHeaderDates","rows","row","col","buildCell","seriesSeg","nextIndex","firstCol","lastCol","Slicer","sliceBusinessHours","_sliceBusinessHours","sliceDateSelection","_sliceDateSpan","_sliceEventStore","sliceEventDrag","_sliceInteraction","sliceEventResize","forceDayIfListItem","sliceProps","extraArgs","eventSegs","dateSelectionSegs","businessHourSegs","fgEventSegs","bgEventSegs","eventSelection","sliceNowDate","computeActiveRange","rangeRes","sliceEventRanges","interaction","mutatedEvents","affectedInstances","affectedEvents","isEvent","eventRanges","sliceEventRange","isComponentAllDay","VISIBLE_HIDDEN_RE","Scroller","liquid","liquidIsAbsolute","isAbsolute","overcomeLeft","overcomeRight","overcomeBottom","marginLeft","marginRight","marginBottom","maxHeight","needsXScrolling","realClientWidth","getYScrollbarWidth","childEl","needsYScrolling","realClientHeight","getXScrollbarWidth","RefMap","masterCallback","currentMap","depths","callbackMap","handleValue","removed","added","refCallback","collect","getAll","computeShrinkWidth","chunkEls","shrinkCells","largestWidth","shrinkCell","getSectionHasLiquidHeight","sectionConfig","getAllowYScrolling","renderChunkContent","chunkConfig","isHeader","tableClassName","syncRowHeights","minWidth","tableMinWidth","tableColGroupNode","rowContent","isColPropsEqual","cols0","cols1","renderMicroColGroup","cols","shrinkWidth","colNodes","colProps","sanitizeShrinkWidth","hasShrinkWidth","getScrollGridClassNames","getSectionClassNames","wholeTableVGrow","renderScrollShim","getStickyHeaderDates","getStickyFooterScrollbar","SimpleScrollGrid","processCols","scrollerRefs","scrollerElRefs","_handleScrollerEl","forceYScrollbars","scrollerClientWidths","scrollerClientHeights","handleSizing","computeScrollerDims","sectionConfigs","sections","microColGroupNode","collapsibleWidth","currentConfig","configCnt","configI","headSectionNodes","bodySectionNodes","footSectionNodes","renderSection","isBuggy","roleAttrs","outerContent","renderChunkTd","chunk","isLiquid","sectionKey","rowSyncHeights","reportRowHeightChange","scrollerEl","section","getSectionByKey","scrollerElRef","scrollbarWidth","scroller","harnessEl","EventContainer","timeText","disableDragging","disableResizing","isDateSelecting","defaultGenerator","StandardEvent","defaultTimeFormat","renderInnerContent$1","eventContentArg","innerProps","DAY_NUM_FORMAT","DayCellContainer","refineRenderProps","showDayNumber","hasCustomDayCellContent","dayNumberText","BgEvent","renderInnerContent","renderFill","fillType","WeekNumberContainer","defaultFormat","renderInner","PADDING_FROM_VIEWPORT","Popover","titleId","handleRootEl","rootEl","handleDocumentMouseDown","handleCloseClick","handleDocumentKeyDown","onClose","extraAttrs","parentEl","alignmentEl","alignGridTop","alignmentRect","popoverDims","popoverTop","popoverLeft","origin","offsetParent","MorePopover","startDate","extraDateSpan","dayEl","layer","MoreLinkContainer","linkElRef","isPopoverOpen","popoverId","handleClick","computeRange","buildPublicSeg","allDayDate","allSegs","hiddenSegs","handlePopoverClose","moreCnt","hint","shortText","renderMoreLinkInner","alignmentElRef","popoverContent","updateParentEl","computeEarliestSegStart","computeLatestSegEnd","pickEarliestStart","seg0","seg1","pickLatestEnd","Store","currentValue","subscribe","CustomRenderingStore","handle","customRendering","updated","has","css_248z","globalLocales","MINIMAL_RAW_EN_LOCALE","code","RAW_EN_LOCALE","eventCnt","organizeRawLocales","explicitRawLocales","defaultCode","allRawLocales","rawLocaleMap","en","rawLocale","buildLocale","inputSingular","available","queryLocale","parseLocale","codeArg","queryRawLocale","simpleId","merged","NumberFormat","createPlugin","premiumReleaseDate","deps","reducers","isLoadingFuncs","contextInit","eventDragMutationMassagers","dateSelectionTransformers","datePointTransforms","viewPropsTransformers","isPropsValid","externalDefTransforms","viewContainerAppends","eventDropTransformers","componentInteractions","calendarInteractions","themeClasses","namedTimeZonedImpl","elementDraggingImpl","optionChangeHandlers","scrollGridImpl","listenerRefiners","optionRefiners","propSetHandlers","buildPluginHooks","pluginDefs","globalDefs","currentPluginIds","addDefs","pluginName","currentId","combineHooks","buildBuildPluginHooks","currentHooks","currentOverrideDefs","currentGlobalDefs","overrideDefs","hooks0","hooks1","compareOptionalDates","StandardTheme","compileViewDefs","defaultConfigs","overrideConfigs","ensureViewDef","viewDef","buildViewDef","defaultConfig","overrideConfig","queryProp","theComponent","superType","superDef","defaults","rawOptions","overrides","parseViewConfigs","parseViewConfig","createViewHookComponent","viewProps","buildViewSpecs","defaultInputs","optionOverrides","dynamicOptionOverrides","localeDefaults","viewDefs","buildViewSpec","durationInput","singleUnitOverrides","createDurationCached","denom","queryButtonText","optionsSubset","buttonTextMap","queryButtonTitle","buttonKey","optionDefaults","buttonTextOverride","buttonTextDefault","buttonTitleOverride","buttonHint","buttonTitleDefault","tableCellShaded","buttonGroup","button","buttonActive","close","durationInputMap","JSON","stringify","reduceViewType","reduceDynamicOptionOverrides","reduceDateProfile","dp","initEventSources","addSources","parseInitialSources","reduceEventSources","removeSource","fetchDirtySources","fetchSourcesByIds","excludeStaticSources","receiveResponse","reduceEventSourcesNewTimeZone","computeEventSourcesLoading","eventSourceHash","isSourceDirty","doesSourceNeedRange","prevSources","sourceIdHash","nextSources","fetchSource","sourceDef","errorHandled","rawSources","rawSource","ignoreRange","reduceDateSelection","currentSelection","reduceSelectedEvent","currentInstanceId","eventInstanceId","reduceEventDrag","currentDrag","newDrag","reduceEventResize","currentResize","newResize","parseToolbars","calendarOptionOverrides","parseToolbar","sectionStrHash","sectionWidgets","hasTitle","sectionName","sectionStr","sectionRes","parseSection","widgets","calendarCustomButtons","calendarButtonTextOverrides","calendarButtonText","calendarButtonHintOverrides","calendarButtonHints","sectionSubstrs","buttonGroupStr","buttonClick","buttonIcon","click","textFallback","prevOrNext","navUnit","ViewImpl","viewTitle","activeStart","activeEnd","currentStart","currentEnd","eventSourceDef$2","successCallback","arrayEventSourcePlugin","eventSourceDef$1","errorCallback","funcEventSourcePlugin","JSON_FEED_EVENT_SOURCE_REFINERS","extraParams","eventSourceDef","requestParams","buildRequestParams","jsonFeedEventSourcePlugin","customRequestParams","SIMPLE_RECURRING_REFINERS","startRecur","endRecur","recurring","recurringData","clippedFramingRange","expandRanges","simpleRecurringEventsPlugin","dowHash","dayMarker","instanceStarts","instanceStart","changeHandlerPlugin","handleEventSources","unfoundSources","newInputs","inputFound","unfoundSource","newInput","handleDateProfile","handleEventStore","globalPlugins","TaskRunner","runTaskOption","delayedRunner","task","completedTasks","runTask","buildTitle","buildTitleFormat","CalendarDataManager","computeOptionsData","_computeOptionsData","computeCurrentViewData","_computeCurrentViewData","buildDateEnv","buildDateEnv$1","buildTheme","buildDateProfileGenerator","buildViewApi","buildViewUiProps","buildEventUiBySource","buildEventUiBases","parseContextBusinessHours","actionRunner","_handleAction","updateData","currentCalendarOptionsRefined","currentViewOptionsInput","currentViewOptionsRefined","optionsData","currentViewType","currentViewData","calendarContext","initialState","renderableEventStore","selectionConfig","contextAndState","reducer","computeIsLoading","resetOptions","append","isEventsLoading","eventUiSingleBase","eventUiBySource","wasLoading","isLoading","onAction","oldData","changeHandlers","oldCalendarOptions","newCalendarOptions","onData","refinedOptions","availableLocaleData","processRawCalendarOptions","warnUnknownOptions","currentRaw","currentRefined","anyChanges","processRawViewOptions","explicitLocale","ThemeClass","DateProfileGeneratorClass","isLoadingFunc","viewName","ToolbarSection","widgetGroups","widgetGroup","renderWidgetGroup","isOnlyButtons","widget","isPressed","activeButton","isTodayEnabled","isPrevEnabled","isNextEnabled","buttonClasses","disabled","groupClassName","Toolbar","startContent","endContent","model","extraClassName","forceLtr","centerContent","availableWidth","updateAvailableWidth","handleResize","paddingBottom","labeledById","EventClicking","handleSegClick","segEl","hasUrlContainer","location","EventHovering","handleEventElRemove","currentSegEl","handleSegLeave","handleSegEnter","triggerEvent","removeHoverListeners","publicEvName","CalendarContent","buildViewPropTransformers","buildToolbarProps","headerRef","footerRef","interactionsStore","viewLabelId","settingsInput","DEFAULT_INTERACTIONS","interactionClasses","interactions","TheInteractionClass","listeners","listener","resizeRunner","viewAspectRatio","toolbarProps","viewVGrow","viewContext","renderView","buildAppendContent","CalendarInteractionClass","ViewComponent","todayInfo","prevInfo","nextInfo","theClasses","TheClass","Calendar","isRendering","isRendered","currentClassNames","customContentRenderId","handleAction","renderRunner","handleData","handleRenderRequest","setClassNames","setHeight","wasRendering","pauseRendering","resumeRendering","classList","OPTION_IS_COMPLEX","resources","shallowCopy","FullCalendar","defineComponent","customRenderingMap","getApi","getSecret","buildOptions","suppliedOptions","$slots","teleportNodes","values","h","Teleport","to","mounted","customRenderingStore","$el","needCustomRenderingResize","beforeUpdate","beforeUnmount","watch","buildWatchers","inst","watchers","deep","complexOptionName","TableView","headerElRef","renderSimpleLayout","headerRowContent","bodyContent","renderHScrollLayout","ScrollGrid","chunks","colGroups","splitSegsByRow","byRow","splitSegsByFirstCol","byCol","splitInteractionByRow","DEFAULT_TABLE_EVENT_TIME_FORMAT","hasListItemDisplay","TableBlockEvent","TableListItemEvent","TableCellMoreLink","compileSegs","invisibleSegs","singlePlacements","isForcedInvisible","visibility","placement","DEFAULT_WEEK_NUM_FORMAT","TableCell","rootElRef","dayNumberId","renderTopInner","innerElRef","showWeekNumber","forceDayTop","fgContentElRef","fgContent","moreMarginTop","bgContent","computeFgSegPlacement","eventInstanceHeights","maxContentHeight","hierarchy","DayGridSegHierarchy","hiddenConsumes","segInputs","unknownHeightSegs","eventHeight","segRects","singleColPlacements","multiColPlacements","leftoverMargins","placeRects","moreCnts","moreMarginTops","absoluteTop","resliceSeg","hiddenEntry","hiddenSpan","allRects","rectsByEachCol","groupRectsByEachCol","currentHeight","currentMarginTop","multiPlacements","isFirstCol","spanStart","spanEnd","forceHidden","excludeHidden","touchingEntryId","placeholderEntry","placeholderEntryId","TableRow","cellElRefs","frameElRefs","fgElRefs","segHarnessRefs","framePositions","isForced","updateSizing","businessHoursByCol","bgEventSegsByCol","highlightSegsByCol","getHighlightSegs","mirrorSegsByCol","getMirrorSegs","cell","normalFgNodes","renderFgSegs","mirrorFgNodes","buildMirrorPlacements","showDayNumbers","showWeekNumbers","renderFillSegs","prevState","currentProps","segPlacements","nodes","leftRightCss","isExternalSizingChange","frameEls","oldInstanceHeights","newInstanceHeights","queryEventInstanceHeights","limitByContentHeight","computeMaxContentHeight","segElMap","firstKey","fcContainerEl","getCellEls","elMap","mirrorSegs","colPlacements","topsByInstanceId","buildAbsoluteTopHash","placements","Table","splitBusinessHourSegs","splitBgEventSegs","splitFgEventSegs","splitDateSelectionSegs","splitEventDrag","splitEventResize","rowRefs","businessHourSegsByRow","bgEventSegsByRow","fgEventSegsByRow","dateSelectionSegsByRow","eventDragByRow","eventResizeByRow","limitViaBalanced","colGroupNode","renderRowIntro","isSegAllDay","rowPositions","rowObj","colPositions","getCellRange","getCellEl","DayTableSlicer","dayTableModel","DayTable","slicer","tableRef","headerAlignElRef","DayTableView","buildDayTableModel","headerContent","contentArg","TableDateProfileGenerator","endOfWeek","dayGrid","dayGridDay","dayGridWeek","dayGridMonth","emits","components","VFullCalendar","required","computed","dayGridPlugin","eventInfo","title_html","info","$emit","monthIndex","fullCalendar","selectedMonth","selectedYear","__exports__","VSwitch","inheritAttrs","indeterminate","inset","flat","default","makeVInputProps","makeSelectionControlProps","focused","setup","slots","useProxiedModel","loaderClasses","useLoader","isFocused","focus","blur","useFocus","loaderColor","getUid","onChange","useRender","inputAttrs","controlAttrs","filterInputAttrs","inputProps","_1","filterInputProps","controlProps","_2","filterControlProps","control","_control$value","_control$value$input","_ref2","isReadonly","_ref3","textColorClasses","textColorStyles","slotProps","loader","_createElementVNode","_component_v_row","_component_v_autocomplete","projectId","items","label","variant","$event","teamId","employeeId","_fullName","createdById","_component_v_select","_hoisted_2","_component_v_switch","isFinished","mixins","AutocompleteMixin","projectCodeSearch","savedTeamMT","localStorage","getItem","savedCreatedBy","savedEmployee","mapGetters","projectsOptions","pattern","normalizedInput","normalize","projects","project","normalizedProjectCode","includes","currentYear","setItem","FilterMixin","AProjectCalendar","AProjectFilter","mastertasks","filteredProjects","project_code","starts_at","deadline","is_finished","$events","async","urlQueryObject","employee_id","project_id","team_id","created_by","queryParameters","toString","$axios","get_auth","$toast","openMasterTaskModal","mastertaskId","mastertask","find","emit","editMode"],"sourceRoot":""}
\ No newline at end of file
diff --git a/app/dist/js/index.3a154968.js b/app/dist/js/index.53125774.js
similarity index 99%
rename from app/dist/js/index.3a154968.js
rename to app/dist/js/index.53125774.js
index 657b443..2cd3749 100644
--- a/app/dist/js/index.3a154968.js
+++ b/app/dist/js/index.53125774.js
@@ -1,2 +1,2 @@
-(function(){var e={41993:function(e){function t(e){return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}))}t.keys=function(){return[]},t.resolve=t,t.id=41993,e.exports=t},46700:function(e,t,s){var a={"./af":63906,"./af.js":63906,"./ar":40902,"./ar-dz":3853,"./ar-dz.js":3853,"./ar-kw":20299,"./ar-kw.js":20299,"./ar-ly":96825,"./ar-ly.js":96825,"./ar-ma":66379,"./ar-ma.js":66379,"./ar-sa":87700,"./ar-sa.js":87700,"./ar-tn":2059,"./ar-tn.js":2059,"./ar.js":40902,"./az":76043,"./az.js":76043,"./be":7936,"./be.js":7936,"./bg":34078,"./bg.js":34078,"./bm":14014,"./bm.js":14014,"./bn":29554,"./bn-bd":17114,"./bn-bd.js":17114,"./bn.js":29554,"./bo":6529,"./bo.js":6529,"./br":65437,"./br.js":65437,"./bs":19647,"./bs.js":19647,"./ca":59951,"./ca.js":59951,"./cs":26113,"./cs.js":26113,"./cv":37965,"./cv.js":37965,"./cy":35858,"./cy.js":35858,"./da":33515,"./da.js":33515,"./de":62831,"./de-at":6263,"./de-at.js":6263,"./de-ch":51127,"./de-ch.js":51127,"./de.js":62831,"./dv":4510,"./dv.js":4510,"./el":68616,"./el.js":68616,"./en-au":24595,"./en-au.js":24595,"./en-ca":73545,"./en-ca.js":73545,"./en-gb":79609,"./en-gb.js":79609,"./en-ie":43727,"./en-ie.js":43727,"./en-il":93302,"./en-il.js":93302,"./en-in":46305,"./en-in.js":46305,"./en-nz":39128,"./en-nz.js":39128,"./en-sg":84569,"./en-sg.js":84569,"./eo":50650,"./eo.js":50650,"./es":26358,"./es-do":64214,"./es-do.js":64214,"./es-mx":38639,"./es-mx.js":38639,"./es-us":30232,"./es-us.js":30232,"./es.js":26358,"./et":47279,"./et.js":47279,"./eu":15515,"./eu.js":15515,"./fa":27981,"./fa.js":27981,"./fi":37090,"./fi.js":37090,"./fil":79208,"./fil.js":79208,"./fo":2799,"./fo.js":2799,"./fr":23463,"./fr-ca":2213,"./fr-ca.js":2213,"./fr-ch":52848,"./fr-ch.js":52848,"./fr.js":23463,"./fy":41468,"./fy.js":41468,"./ga":88163,"./ga.js":88163,"./gd":2898,"./gd.js":2898,"./gl":76312,"./gl.js":76312,"./gom-deva":20682,"./gom-deva.js":20682,"./gom-latn":49178,"./gom-latn.js":49178,"./gu":31400,"./gu.js":31400,"./he":52795,"./he.js":52795,"./hi":17009,"./hi.js":17009,"./hr":46506,"./hr.js":46506,"./hu":69565,"./hu.js":69565,"./hy-am":93864,"./hy-am.js":93864,"./id":5626,"./id.js":5626,"./is":36649,"./is.js":36649,"./it":90151,"./it-ch":95348,"./it-ch.js":95348,"./it.js":90151,"./ja":79830,"./ja.js":79830,"./jv":33751,"./jv.js":33751,"./ka":63365,"./ka.js":63365,"./kk":85980,"./kk.js":85980,"./km":99571,"./km.js":99571,"./kn":25880,"./kn.js":25880,"./ko":16809,"./ko.js":16809,"./ku":96773,"./ku.js":96773,"./ky":65505,"./ky.js":65505,"./lb":50553,"./lb.js":50553,"./lo":51237,"./lo.js":51237,"./lt":91563,"./lt.js":91563,"./lv":61057,"./lv.js":61057,"./me":96495,"./me.js":96495,"./mi":83096,"./mi.js":83096,"./mk":43874,"./mk.js":43874,"./ml":46055,"./ml.js":46055,"./mn":87747,"./mn.js":87747,"./mr":17113,"./mr.js":17113,"./ms":8687,"./ms-my":7948,"./ms-my.js":7948,"./ms.js":8687,"./mt":14532,"./mt.js":14532,"./my":4655,"./my.js":4655,"./nb":56961,"./nb.js":56961,"./ne":2512,"./ne.js":2512,"./nl":48448,"./nl-be":72936,"./nl-be.js":72936,"./nl.js":48448,"./nn":49031,"./nn.js":49031,"./oc-lnc":5174,"./oc-lnc.js":5174,"./pa-in":30118,"./pa-in.js":30118,"./pl":93448,"./pl.js":93448,"./pt":33518,"./pt-br":62447,"./pt-br.js":62447,"./pt.js":33518,"./ro":70817,"./ro.js":70817,"./ru":10262,"./ru.js":10262,"./sd":58990,"./sd.js":58990,"./se":43842,"./se.js":43842,"./si":37711,"./si.js":37711,"./sk":80756,"./sk.js":80756,"./sl":3772,"./sl.js":3772,"./sq":6187,"./sq.js":6187,"./sr":40732,"./sr-cyrl":75713,"./sr-cyrl.js":75713,"./sr.js":40732,"./ss":99455,"./ss.js":99455,"./sv":69770,"./sv.js":69770,"./sw":80959,"./sw.js":80959,"./ta":36459,"./ta.js":36459,"./te":25302,"./te.js":25302,"./tet":67975,"./tet.js":67975,"./tg":71294,"./tg.js":71294,"./th":2385,"./th.js":2385,"./tk":24613,"./tk.js":24613,"./tl-ph":58668,"./tl-ph.js":58668,"./tlh":58190,"./tlh.js":58190,"./tr":74506,"./tr.js":74506,"./tzl":63440,"./tzl.js":63440,"./tzm":69852,"./tzm-latn":42350,"./tzm-latn.js":42350,"./tzm.js":69852,"./ug-cn":70730,"./ug-cn.js":70730,"./uk":40099,"./uk.js":40099,"./ur":72100,"./ur.js":72100,"./uz":96002,"./uz-latn":26322,"./uz-latn.js":26322,"./uz.js":96002,"./vi":14207,"./vi.js":14207,"./x-pseudo":24674,"./x-pseudo.js":24674,"./yo":10570,"./yo.js":10570,"./zh-cn":73644,"./zh-cn.js":73644,"./zh-hk":22591,"./zh-hk.js":22591,"./zh-mo":89503,"./zh-mo.js":89503,"./zh-tw":88080,"./zh-tw.js":88080};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=46700},72807:function(e,t,s){"use strict";s.d(t,{$t:function(){return fr}});var a=s(49242),i=s(74973);async function l(){const e=await s.e(3657).then(s.t.bind(s,33657,23));e.load({google:{families:["Roboto:100,300,400,500,700,900&display=swap"]}})}var n=s(38685),o=(s(29773),(0,n.Rd)()),r=s(96149);function d(){const e=r.CX["import"]("formats/link");class t extends e{static sanitize(e){const t=super.sanitize(e);if(!t||"about:blank"===t)return t;const s=["http","https","mailto","tel","radar","rdar","smb","sms"],a=s.some((function(e){return t.startsWith(e)}));return a?t:`https://${t}`}}r.CX.register(t,!0)}var u=s(73752),c=s.n(u),m=s(73396),h=s(97718),p=s(29271);function v(e,t,s,a,i,l){const n=(0,m.up)("router-view"),o=(0,m.up)("Z-team-modal"),r=(0,m.up)("Z-delete-team-modal"),d=(0,m.up)("Z-task-modal"),u=(0,m.up)("Z-delete-task-modal"),c=(0,m.up)("Z-delete-timeBlock-modal"),v=(0,m.up)("Z-delete-blocker-modal"),k=(0,m.up)("Z-delete-master-task-modal"),f=(0,m.up)("Z-complete-task-modal"),g=(0,m.up)("Z-complete-master-task-modal"),_=(0,m.up)("Z-task-add-time-modal"),w=(0,m.up)("Z-blocker-modal"),b=(0,m.up)("Z-master-task-modal"),y=(0,m.up)("Z-delete-team-member-modal"),D=(0,m.up)("Z-show-menu-modal");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(h.q,null,{default:(0,m.w5)((()=>[(0,m.Wm)(p.O,null,{default:(0,m.w5)((()=>[(0,m.Wm)(n)])),_:1})])),_:1}),(0,m.Wm)(o,{ref:"z-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(r,{ref:"z-delete-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(d,{ref:"z-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(u,{ref:"z-delete-task-modal",onOnSubtaskDeleted:l.onTaskDeleted},null,8,["onOnSubtaskDeleted"]),(0,m.Wm)(c,{ref:"z-delete-timeblock-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(v,{ref:"z-delete-blocker-modal",onOnBlockerDeleted:l.onBlockerDeleted},null,8,["onOnBlockerDeleted"]),(0,m.Wm)(k,{ref:"z-delete-master-task-modal",onOnMastertaskDeleted:l.onMasterTaskDeleted},null,8,["onOnMastertaskDeleted"]),(0,m.Wm)(f,{ref:"z-complete-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(g,{ref:"z-complete-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(_,{ref:"z-task-add-time-modal"},null,512),(0,m.Wm)(w,{ref:"z-blocker-modal"},null,512),(0,m.Wm)(b,{ref:"z-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(y,{ref:"z-delete-team-member-modal"},null,512),(0,m.Wm)(D,{ref:"z-show-menu-modal"},null,512)],64)}s(57658);var k=s(87139),f=s(67312),g=s(75039),_=s(91334),w=s(33601),b=s(53289);const y={class:"d-flex justify-space-between align-center"};function D(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",y,[(0,m._)("h1",null,[(0,m.Uk)(" Ste si istý, že chcete zmazať tím "),(0,m._)("b",null,(0,k.zw)(l.team.name),1),(0,m.Uk)("? ")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTeam()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var M={mounted(){window.addEventListener("keydown",this.handleKeyDown)},methods:{handleKeyDown(e){27===e.keyCode&&(this.visible=!1)}}},T={mixins:[M],emits:["update"],data(){return{visible:!1,team:null,isDeleting:!1}},methods:{async showModal({team:e}){this.team=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTeam(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/teams/${this.team.id}`),this.visible=!1,this.$emit("update",this.team),this.$store.commit("tm/delete_team",this.team)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}},$=s(40089);const C=(0,$.Z)(T,[["render",D]]);var j=C,E=s(60988),x=s(45869);const W={class:"d-flex justify-space-between align-center modal-header"};function S(e,t,s,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{content:l.team,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",W,[(0,m._)("h1",null,(0,k.zw)(l.team.id?"Upraviť tím":"Vytvoriť tím"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input",{error:l.v$.team.name.$errors.length}]),label:"Názov tímu",variant:"solo",hint:l.v$.team.name.$errors?l.errorUtils.parseErrors(l.v$.team.name.$errors):null,modelValue:l.team.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.team.name=e)},null,8,["class","hint","modelValue"]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.team.employees,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:"relative w-100",key:e.id},[(0,m.Wm)(x.hw,{class:"modal-input",disabled:"",label:"Zamestanec",variant:"solo",modelValue:l.team.employees[t]._fullName,"onUpdate:modelValue":e=>l.team.employees[t]._fullName=e},null,8,["modelValue","onUpdate:modelValue"]),(0,m.Wm)(b.t,{class:"remove-input",onClick:(0,a.iM)((e=>l.team.employees.splice(t,1)),["stop"]),icon:"mdi-close",size:"small"},null,8,["onClick"])])))),128)),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:l.employeeSelect,"onUpdate:modelValue":t[2]||(t[2]=e=>l.employeeSelect=e),label:"Priradený",class:(0,k.C_)([{error:l.v$.team.employees.$errors.length},"modal-input"]),items:n.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"",ref:"autocomplete"},null,8,["custom-filter","modelValue","class","items"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary block",onClick:t[3]||(t[3]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.team.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var V=s(33053),O=s(69117),z=s(7648),A=s(34407),U=s(20065),Z=s(83299);const H=e=>e.length;var F={mixins:[Z.Z,M],emits:["close","update"],data(){return{visible:!1,v$:(0,V.ZP)(),errorUtils:z.Z,employeeSelect:null,team:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employeesOptions(){const e=this.team.employees.map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))}},validations(){return{team:{name:{required:O.C1},employees:{atLeastOne:H}}}},methods:{async showModal({team:e=null}){this.visible=!0,this.team=null,this.$nextTick((()=>this.v$.$reset()));try{if(e?.id){const t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.team=this._enrichTeam(t)}else this.team={employees:[]}}catch(t){this.$toast.error(this.$parseError(t))}},closeModal(){this.visible=!1,this.$emit("close",this.team)},async save(){if(await this.v$.$validate())try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/update_team",t)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/save_team",t)}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}},watch:{employeeSelect(e){if(!e)return;const t=this.enrichedEmployees.find((t=>t.id==e));this.team.employees.push(t),this.employeeSelect=null,this.$refs.autocomplete.search=""}}};const I=(0,$.Z)(F,[["render",S]]);var P=I;const L={class:"d-flex justify-space-between align-center"};function Y(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",L,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať sub task z mastertasku "),(0,m._)("b",null,(0,k.zw)(l.subtask.project_code),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var N={mixins:[M],emits:["on-subtask-deleted"],data(){return{visible:!1,subtask:null,isDeleting:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`),this.$store.commit("tm/delete_subtask",this.subtask),this.closeModal(),this.$emit("on-subtask-deleted",this.subtask)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const q=(0,$.Z)(N,[["render",Y]]);var B=q;const R=e=>((0,m.dD)("data-v-d2c490ee"),e=e(),(0,m.Cn)(),e),K={class:"d-flex justify-space-between align-center"},J=R((()=>(0,m._)("h4",{class:"mt-3"},"Vyberte časový úsek, ktorý chcete odstrániť",-1)));function X(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",K,[J,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center justify-center mb-3 mt-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(b.t,{onClick:(0,a.iM)((s=>l.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"close-icon circle-border cursor-pointer ml-3 text-red",icon:"mdi-close",size:"medium"},null,8,["onClick"])])))),128))])),_:1})])),_:1},8,["modelValue"])}var G={mixins:[M],emits:["on-subtask-edited"],data(){return{visible:!1,subtask:null,isDeleting:!1,tmUtils:A.Z}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}}}};const Q=(0,$.Z)(G,[["render",X],["__scopeId","data-v-d2c490ee"]]);var ee=Q;const te=e=>((0,m.dD)("data-v-3ec6ac9f"),e=e(),(0,m.Cn)(),e),se={class:"d-flex justify-space-between align-center modal-header"},ae={class:"splitted-inputs"},ie=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),le=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ne=[ie,le],oe=["onClick"],re=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),de=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ue=[re,de],ce={key:2,class:"timeblocks w-100"},me={class:"end-button w-100"},he={class:"splitted-time-inputs w-100"},pe={class:"w-100 modal-input"},ve={class:"d-flex justify-space-between align-center"},ke={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},fe={class:"d-flex justify-start"},ge=["src"],_e=["src"],we={class:"w-100"},be={class:"d-flex justify-start align-center mt-8"};function ye(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("A-timeblock"),u=(0,m.up)("QuillEditor"),c=(0,m.up)("Z-files-upload"),h=(0,m.up)("Z-task-readonly-info"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:n.visible,"onUpdate:modelValue":t[21]||(t[21]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.subtask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",se,[(0,m._)("h1",null,(0,k.zw)(n.subtask?.id?"Upraviť sub task":"Vytvoriť sub task"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:n.subtask.project_code,"onUpdate:modelValue":t[1]||(t[1]=e=>n.subtask.project_code=e),label:"Kód projektu",value:n.subtask.project_code,onFocus:e.onInputFocus,class:"modal-input",variant:"solo",disabled:""},null,8,["modelValue","value","onFocus"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.master_task_id,"onUpdate:modelValue":t[2]||(t[2]=e=>n.subtask.master_task_id=e),label:"Master task",class:(0,k.C_)([{error:n.v$.subtask.master_task_id.$errors.length},"modal-input"]),items:e.mastertasks,"item-title":"name","item-value":"id",variant:"solo",clearable:""},null,8,["custom-filter","modelValue","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.subtask.title,"onUpdate:modelValue":t[3]||(t[3]=e=>n.subtask.title=e),onFocus:e.onInputFocus,class:"modal-input",label:"Názov subtasku",variant:"solo"},null,8,["modelValue","onFocus"]),(0,m._)("div",ae,[(0,m.Wm)(r,{modelValue:n.subtask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.subtask.deadline=e),onFocus:e.onDateFocus,"auto-apply":!0,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.subtask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Deadline",validations:n.v$.subtask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.subtask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.subtask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.subtask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.subtask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.subtask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),n.subtask.id?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("div",{class:(0,k.C_)(["employee-wrapper",{"hide-arrow":n.subtask.employee_id}])},[n.subtask.employee_id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:t[6]||(t[6]=(0,a.iM)((e=>{n.subtask.employee_id=null,n.subtask.employee=null}),["prevent"]))},ne)):(0,m.kq)("",!0),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.employee_id,"onUpdate:modelValue":[t[7]||(t[7]=e=>n.subtask.employee_id=e),t[8]||(t[8]=e=>n.employeeValidations[0]?n.employeeValidations[0].employee=!1:null)],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.employee}])},null,8,["custom-filter","modelValue","items","class"])],2),(0,m.Wm)(x.hw,{modelValue:n.subtask.duration,"onUpdate:modelValue":[t[9]||(t[9]=e=>n.subtask.duration=e),t[10]||(t[10]=e=>n.employeeValidations[0]?n.employeeValidations[0].duration=!1:null)],class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","class","onFocus"])],64)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.subtask.employees,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{key:`employee-${s}`,class:(0,k.C_)(["splitted-inputs remove-employee",{"hide-arrow":t.id}])},[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:t.id,"onUpdate:modelValue":[e=>t.id=e,e=>n.employeeValidations[s]?n.employeeValidations[s].employee=!1:null],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input left",{error:n.employeeValidations[s]?.employee}])},null,8,["custom-filter","modelValue","onUpdate:modelValue","items","class"]),t.id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:(0,a.iM)((e=>t.id=null),["prevent"])},ue,8,oe)):(0,m.kq)("",!0),(0,m.Wm)(x.hw,{modelValue:t.duration,"onUpdate:modelValue":[e=>t.duration=e,e=>n.employeeValidations[s]?n.employeeValidations[s].duration=!1:null],class:(0,k.C_)(["modal-input right",{error:n.employeeValidations[s]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","onUpdate:modelValue","class","onFocus"])],2)))),128)),n.subtask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:3},(0,m.Ko)(n.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:t,class:"timeblock w-100"},[(0,m.Wm)(r,{"model-value":e.start.substring(0,10),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,readonly:"",class:"mb-5 modal-input"},null,8,["model-value"]),(0,m._)("div",he,[(0,m.Wm)(x.hw,{value:e.start.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value"]),(0,m.Wm)(x.hw,{value:e.end.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value"])])])))),128)):((0,m.wg)(),(0,m.iD)("div",ce,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeblocks,((t,s)=>((0,m.wg)(),(0,m.j4)(d,{key:s,onUpdateTimeblock:e=>o.updateTimeblock(e,s),onRemoveTimeblock:e=>o.removeTimeblock(s),onOnDateFocus:e.onDateFocus,timeblock:t,deletable:s>0,editable:"",ref_for:!0,ref:`timetable-${s}`},null,8,["onUpdateTimeblock","onRemoveTimeblock","onOnDateFocus","timeblock","deletable"])))),128)),(0,m._)("div",me,[(0,m._)("button",{onClick:t[11]||(t[11]=e=>n.timeblocks.push({date:null,starts_at_time:null,ends_at_time:null}))},"Pridať časový blok")])])),(0,m._)("div",pe,[(0,m.Wm)(u,{ref:"description",modelValue:n.subtask.description,"onUpdate:modelValue":t[12]||(t[12]=e=>n.subtask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onInput:t[13]||(t[13]=e=>n.subtask.description=e.srcElement.innerHTML)},null,8,["modelValue"])]),(0,m.Wm)(c,{class:"mt-15 files",files:n.subtask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[14]||(t[14]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.subtask.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",ve,[(0,m._)("div",null,[(0,m._)("p",null,(0,k.zw)(n.subtask._master_task.project_code),1),(0,m._)("h1",null,(0,k.zw)(n.subtask._master_task.name),1)]),(0,m.Wm)(b.t,{onClick:t[15]||(t[15]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",ke,[(0,m._)("h1",null,(0,k.zw)(n.subtask.title),1),(0,m._)("div",fe,[(0,m._)("img",{class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[16]||(t[16]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,ge),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[17]||(t[17]=(0,a.iM)((e=>o.openDeleteTaskModal(n.subtask)),["stop"]))},null,8,_e)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",we,[(0,m.Wm)(h,{subtask:n.subtask,onCloseModal:o.closeModal,onUpdateSubtask:o.updateSubtask},null,8,["subtask","onCloseModal","onUpdateSubtask"]),(0,m._)("div",be,[n.subtask.is_finished?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button secondary",onClick:t[19]||(t[19]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Znovu otvoriť")])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"done-btn",onClick:t[18]||(t[18]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Dokončiť")])),_:1})),(0,m.Wm)(f.T,{class:"button secondary",onClick:t[20]||(t[20]=e=>o.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)("Uložiť zmeny")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var De=s(63972),Me=s(87103);const Te={class:"w-100 d-flex align-center"},$e={key:0,class:"m-2 d-flex align-center flex-wrap"},Ce={key:0,class:"d-flex align-center"},je=["src"];function Ee(e,t,i,l,n,o){return(0,m.wg)(),(0,m.iD)("div",Te,[(0,m._)("input",{type:"file",multiple:"",name:"file",id:"fileInput",class:"hidden-input",accept:"*",onChange:t[0]||(t[0]=(...e)=>o.onChange&&o.onChange(...e)),ref:"fileUpload"},null,544),(0,m.Wm)(f.T,{class:"upload-btn",onClick:t[1]||(t[1]=t=>e.$refs.fileUpload.click())},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-cloud-upload-outline"}),(0,m.Uk)("NAHRAŤ ")])),_:1}),n.uploadedFiles?((0,m.wg)(),(0,m.iD)("div",$e,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.uploadedFiles,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.name,class:"mx-2"},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.name)+" ",1),(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.size/1048576).toFixed(2))+" MB",1),(0,m.Wm)(b.t,{size:"small",icon:"mdi-close",onClick:(0,a.iM)((t=>o.remove(n.uploadedFiles.indexOf(e))),["stop"])},null,8,["onClick"])])),_:2},1024)])))),128)),i.isSaving?((0,m.wg)(),(0,m.iD)("div",Ce,[i.isSaving?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,je)):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])}var xe={emit:["files-uploaded"],props:{files:{type:Array,default:()=>[]},isSaving:{type:Boolean,required:!1}},data(){return{uploadedFiles:[]}},created(){this.uploadedFiles=this.files},methods:{onChange(){const e=[...this.$refs.fileUpload.files],t=52428800,s=e.filter((e=>e.size>t));s.length>0?this.$toast.error("File is too large. Maximum file size is 50 MB."):(this.uploadedFiles=[...this.uploadedFiles,...e],this.$emit("files-uploaded",this.uploadedFiles),this.$refs.fileUpload.value="")},remove(e){this.uploadedFiles.splice(e,1)}}};const We=(0,$.Z)(xe,[["render",Ee],["__scopeId","data-v-79444997"]]);var Se=We,Ve=s(16824),Oe=s(68521),ze=s(74286);const Ae={class:"d-flex align-center"},Ue=(0,m._)("p",{class:"mx-3"},"Trvanie",-1),Ze={class:"d-flex align-center mb-3"},He=(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1),Fe={class:"d-flex justify-space-between align-center"},Ie=(0,m._)("h1",null,"Pridať dátum",-1),Pe={class:"d-flex justify-space-between align-center"},Le={class:"text-red"},Ye=(0,m._)("br",null,null,-1),Ne={class:"text-black"};function qe(e,t,s,i,l,n){const o=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ae,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),Ue])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ze,[(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),He]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(b.t,{onClick:(0,a.iM)((a=>s.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.wy)((0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>n.toggleTimeblockIsFinished(e)),["stop"]),class:(0,k.C_)(["circle-border cursor-pointer ml-2",{completed:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"]),[[a.F8,s.subtask.id]])])))),128))])),_:1})])),_:1})])),_:1}),(0,m.Wm)(w.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[6]||(t[6]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Fe,[Ie,(0,m.Wm)(b.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{modelValue:l.form.date,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.date=e),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:(0,k.C_)(["mb-5 modal-input",{error:l.v$.form.date.$errors.length}])},null,8,["modelValue","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.starts_at_time,"onUpdate:modelValue":t[3]||(t[3]=e=>l.form.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.ends_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.form.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[5]||(t[5]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,m.Wm)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Pe,[(0,m._)("h1",Le,[(0,m.Uk)("Ste si istý, že chcete pridať timeblock po deadline "),Ye,(0,m.Uk)(),(0,m._)("b",Ne,"z mastertasku "+(0,k.zw)(s.subtask?.project_code)+" ?",1)]),(0,m.Wm)(b.t,{onClick:t[7]||(t[7]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[8]||(t[8]=(0,a.iM)((e=>n.confirmSubmit()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[9]||(t[9]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Be=s(36797),Re=s.n(Be),Ke={mixins:[M],emits:["update-subtask"],components:{Datepicker:De.Z},props:{timeblocks:{type:Array,required:!0},subtask:{type:Object,required:!0}},data(){return{v$:(0,V.ZP)(),errorUtils:z.Z,tmUtils:A.Z,showModal:!1,visible:!1,form:{date:null,starts_at_time:"09:00",ends_at_time:"16:00"}}},validations(){return{form:{date:{required:O.C1},starts_at_time:{required:O.C1},ends_at_time:{required:O.C1}}}},computed:{...(0,U.Se)("tm",["mastertasks"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(e.deadline));const l=this.isAfterDeadline();l?this.visible=!0:e.id?this._update(e):this.$emit("update-unfinished-subtask",e)},async confirmSubmit(){const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();if(e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(e.deadline)),!e.id)return this.$emit("update-unfinished-subtask",e),void this.closeModal();this.visible=!1,this._update(e)},async toggleTimeblockIsFinished(e){const t=JSON.parse(JSON.stringify(this.subtask)),s=JSON.parse(JSON.stringify(e));s.is_finished=1==s.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),this.$emit("update-subtask",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(a){this.$toast.error(a.message||a)}},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}},isAfterDeadline(){const e=this.getDeadline(this.subtask);if(!e)return;const t=Re()(this.form.date),s=Re()(e),[a,i]=this.form.ends_at_time.split(":").map(Number);return t.hours(a),t.minutes(i),t.isAfter(s)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},closeModal(){this.form={date:null,starts_at_time:"09:00",ends_at_time:"16:00"},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))}}};const Je=(0,$.Z)(Ke,[["render",qe]]);var Xe=Je,Ge={data(){return{preventInputFocus:!1}},methods:{setFocusEvent(){document.querySelectorAll(".v-autocomplete input").forEach((e=>{e.addEventListener("focus",this.onInputFocus)}))},onDateFocus(e){void 0==e&&(this.preventInputFocus=!0)},onInputFocus(e){this.preventInputFocus&&(e.target.blur(),this.preventInputFocus=!1)}}},Qe=s(15941),et={computed:{employeesOptions(){const e=[...this.mastertask.employees].map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))||[]},projectsOptions(){const e=/[^a-zA-Z0-9 ]/g,t=this.projectCodeSearch?this.projectCodeSearch.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,""):"",s=this.projects.filter((s=>{const a=s.code.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,"");return a.toLowerCase().includes(t.toLowerCase())}));let a=s?.length?s.slice(0,10):this.projects.slice(0,10);if(!this.mastertask?.project_id)return a;const i=this.projects.find((e=>e.id==this.mastertask?.project_id));return a=a.filter((e=>e.id!=i.id)),[...a,i]}},methods:{onEmployeeSelected(e){const t=this.enrichedEmployees.find((t=>t.id==e));Qe.log("add employee",t),this.mastertask.employees.push(t),this.showAddEmployeeInput=!1},onEmployeeDurationChanged(){let e=0;this.mastertask.employees=this.mastertask.employees.map((t=>("string"==typeof t.duration?(e+=parseFloat(t.duration),t.duration=parseFloat(t.duration),t.invalid=!1):"number"==typeof t.duration&&(e+=t.duration,t.invalid=!1),t))),this.mastertask.duration=e}},watch:{"mastertask.team_id"(e){if(!e)return;const t=this.teams.find((t=>t.id==e));t&&(this.mastertask.team=JSON.parse(JSON.stringify(t)),this.mastertask.employees=[...this.mastertask.team.employees])}}},tt=s(66154);function st(e,t,s,a,i,l){const n=(0,m.up)("A-mastertask-name"),o=(0,m.up)("A-mastertask-status"),r=(0,m.up)("A-task-deadline"),d=(0,m.up)("A-task-timeblocks"),u=(0,m.up)("Z-created-by"),c=(0,m.up)("A-task-assigned-employee"),h=(0,m.up)("A-task-planned-time"),p=(0,m.up)("A-task-remaining-time"),v=(0,m.up)("A-task-spent-time"),k=(0,m.up)("A-task-description"),f=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{name:s.subtask._master_task.name,id:s.subtask.master_task_id,color:s.subtask._master_task.color,onCloseModal:t[0]||(t[0]=t=>e.$emit("close-modal"))},null,8,["name","id","color"]),(0,m.Wm)(o,{isFinished:s.subtask.is_finished},null,8,["isFinished"]),(0,m.Wm)(r,{subtask:s.subtask},null,8,["subtask"]),(0,m.Wm)(d,{timeblocks:s.subtask.timeblocks,subtask:s.subtask,onUpdateSubtask:t[1]||(t[1]=t=>e.$emit("update-subtask",t))},null,8,["timeblocks","subtask"]),(0,m.Wm)(u,{"employee-id":s.subtask.created_by},null,8,["employee-id"]),(0,m.Wm)(c,{employee:s.subtask._employee},null,8,["employee"]),(0,m.Wm)(h,{hours:s.subtask.duration},null,8,["hours"]),(0,m.Wm)(p,{hours:s.subtask.duration-s.subtask.spent_time},null,8,["hours"]),(0,m.Wm)(v,{hours:s.subtask.spent_time,subtask:s.subtask},null,8,["hours","subtask"]),(0,m.Wm)(k,{description:s.subtask.description,"mastertask-description":s.subtask.master_task_description},null,8,["description","mastertask-description"]),(0,m.Wm)(f,{files:s.subtask.files},null,8,["files"])],64)}const at={class:"d-flex align-center"},it=(0,m._)("p",{class:"mx-3"},"Mastertask",-1);function lt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",at,[(0,m.Wm)(b.t,{icon:"mdi-link",size:"large"}),it])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill hover",onClick:t[0]||(t[0]=e=>l.openMastertask()),style:(0,k.j5)({backgroundColor:s.color})},(0,k.zw)(s.name),5)])),_:1})])),_:1})])),_:1})}var nt={emits:["close-modal"],props:{name:{type:String,required:!0},id:{type:Number,required:!0},color:{type:String,required:!0}},methods:{openMastertask(){this.$emit("close-modal"),this.$events.emit("show-mastertask-modal",{mastertask:{id:this.id},editMode:!1})}}};const ot=(0,$.Z)(nt,[["render",lt]]);var rt=ot;const dt={class:"d-flex align-center"},ut=(0,m._)("p",{class:"mx-3"},"Status",-1),ct={key:0,class:"status-badge px-4 py-2 rounded-pill"},mt={key:1,class:"status-badge px-4 py-2 rounded-pill"};function ht(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",dt,[(0,m.Wm)(b.t,{icon:"mdi-drag-vertical",size:"large"}),ut])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.isFinished?((0,m.wg)(),(0,m.iD)("p",ct,"Ukončený")):((0,m.wg)(),(0,m.iD)("p",mt,"Neukončený"))])),_:1})])),_:1})])),_:1})}var pt={props:{isFinished:{type:Number,default:()=>0}}};const vt=(0,$.Z)(pt,[["render",ht]]);var kt=vt;const ft={class:"d-flex align-center"},gt=(0,m._)("p",{class:"mx-3"},"Vytvoril",-1),_t={class:"employee-selected-avatar d-flex justify-center align-center"},wt={class:"ml-2"};function bt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ft,[(0,m.Wm)(b.t,{icon:"mdi-account-star-outline",size:"large"}),gt])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",_t,(0,k.zw)(l.employee?l.employee._initials:"?"),1),(0,m._)("p",wt,(0,k.zw)(l.employee?l.employee._fullName:e.$t("Unasigned")),1)])),_:1})])),_:1})])),_:1})}var yt={props:{employeeId:{type:[Number],required:!1}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employee(){return this.enrichedEmployees.find((e=>e.id==this.employeeId))}}};const Dt=(0,$.Z)(yt,[["render",bt]]);var Mt=Dt;const Tt={class:"d-flex align-center"},$t=(0,m._)("p",{class:"mx-3"},"Priradený",-1),Ct={class:"employee-selected-avatar d-flex justify-center align-center"},jt=["innerHTML"];function Et(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Tt,[(0,m.Wm)(b.t,{icon:"mdi-account-outline",size:"large"}),$t])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",Ct,(0,k.zw)(s.employee.name.charAt(0)+s.employee.surname.charAt(0)),1),(0,m._)("p",{class:"ml-2",innerHTML:`${s.employee.name} ${s.employee.surname}`},null,8,jt)])),_:1})])),_:1})])),_:1})}var xt={props:{employee:{type:Object,required:!0}}};const Wt=(0,$.Z)(xt,[["render",Et]]);var St=Wt;const Vt={class:"d-flex align-center"},Ot=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function zt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Vt,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ot])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var At={props:{hours:{type:Number,required:!0}}};const Ut=(0,$.Z)(At,[["render",zt]]);var Zt=Ut;const Ht=e=>((0,m.dD)("data-v-c9f868dc"),e=e(),(0,m.Cn)(),e),Ft={class:"d-flex align-center"},It=Ht((()=>(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1))),Pt={class:"d-flex align-center mb-3"},Lt=Ht((()=>(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1))),Yt={class:"d-flex align-center flex-start width-100"},Nt={class:"task-badge rounded-pill"},qt={class:"ml-5"},Bt={class:"d-flex justify-space-between align-center"},Rt=Ht((()=>(0,m._)("h1",null,"Pridať odpracovaný čas",-1)));function Kt(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ft,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),It])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1}),(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Pt,[(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),Lt]),s.subtask.timesheets.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(s.subtask.timesheets,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>n.deleteTimesheet(e)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("div",Yt,[(0,m._)("p",Nt,(0,k.zw)(e.time),1),(0,m._)("p",qt,(0,k.zw)(e.employee_name)+" ("+(0,k.zw)(e.timestamp)+")",1)])])))),128)):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1}),(0,m.Wm)(w.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[4]||(t[4]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Bt,[Rt,(0,m.Wm)(b.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[3]||(t[3]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Jt={mixins:[M],props:{hours:{type:Number,required:!0},subtask:{type:Object,required:!0}},data(){return{moment:Re(),v$:(0,V.ZP)(),errorUtils:z.Z,showModal:!1,form:{hours:null}}},validations(){return{form:{hours:{required:O.C1,numeric:O.uR,minValue:(0,O.uv)(.1)}}}},computed:{...(0,U.Se)("auth",["user"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask));e.timesheets.push({id:null,employee_id:this.user.id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(e.deadline)),this._update(e)},async deleteTimesheet({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timesheets=t.timesheets.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},closeModal(){this.form={hours:null},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))},async _update(e){try{e.timesheets=e.timesheets.map((e=>(delete e.employee_name,e)));const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}}}};const Xt=(0,$.Z)(Jt,[["render",Kt],["__scopeId","data-v-c9f868dc"]]);var Gt=Xt;const Qt={class:"d-flex align-center"},es=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function ts(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Qt,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),es])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours.toFixed(2))+" h",1)])),_:1})])),_:1})])),_:1})}var ss={props:{hours:{type:Number,required:!0}}};const as=(0,$.Z)(ss,[["render",ts]]);var is=as,ls=s(80678);const ns={class:"d-flex align-center"},os=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function rs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ns,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),os])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.subtask.deadline?((0,m.wg)(),(0,m.iD)("p",{key:0,class:(0,k.C_)(""+(i.tmUtils.isAfter(s.subtask.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDate(s.subtask.deadline))+" "+(0,k.zw)(l.deadlineTime),3)):((0,m.wg)(),(0,m.j4)(ls.N,{key:1,text:"Deadline z Mastertasku",location:"end"},{activator:(0,m.w5)((({props:e})=>[(0,m._)("span",(0,m.dG)({class:"cursor-pointer"},e),(0,k.zw)(l.getMasterTaskDeadline(s.subtask))+"*",17)])),_:1}))])),_:1})])),_:1})])),_:1})}var ds={props:{subtask:{type:[String,Object,null],required:!0}},computed:{...(0,U.Se)("tm",["mastertasks"]),deadlineTime(){const e=this.subtask?._deadline_time;return e?Re()(e,"HH:mm:ss").format("HH:mm"):""}},data(){return{tmUtils:A.Z}},methods:{getMasterTaskDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline}}};const us=(0,$.Z)(ds,[["render",rs]]);var cs=us;const ms={key:0,class:"px-5 py-5 border-bottom"},hs=(0,m._)("p",null,"Popis zadania",-1),ps=["innerHTML"],vs={key:1,class:"px-5 py-5 border-bottom"},ks=(0,m._)("p",null,"Popis mastertasku",-1),fs=["innerHTML"];function gs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ms,[hs,(0,m._)("section",{innerHTML:s.description,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,ps)])):(0,m.kq)("",!0),s.mastertaskDescription?((0,m.wg)(),(0,m.iD)("div",vs,[ks,(0,m._)("section",{innerHTML:s.mastertaskDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,fs)])):(0,m.kq)("",!0)],64)}var _s={props:{description:{type:String||null,default:()=>null},mastertaskDescription:{type:String||null,default:()=>null}}};const ws=(0,$.Z)(_s,[["render",gs]]);var bs=ws;const ys=e=>((0,m.dD)("data-v-634e184f"),e=e(),(0,m.Cn)(),e),Ds=ys((()=>(0,m._)("p",{class:"mt-5"},"Prílohy",-1))),Ms={class:"w-100 d-flex align-center"},Ts=["onClick"],$s={key:0,class:"d-flex align-center"},Cs=["src"],js=ys((()=>(0,m._)("p",{class:"ml-2"},"Súbor sa sťahuje, počkajte prosím",-1)));function Es(e,t,a,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.iD)(m.HY,null,[Ds,(0,m._)("div",Ms,[(0,m.Wm)(o,{content:a.files,emptyMessage:"Žiadne prílohy neboli nahraté"},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(a.files,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:(0,k.C_)(["d-flex align-center flex-wrap",[0===t?"ml-0":"ml-2"]])},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m._)("p",{onClick:t=>n.downloadFile(e),class:"cursor-pointer"},(0,k.zw)(e.name),9,Ts),(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.file_size/1048576).toFixed(2))+" MB",1)])),_:2},1024),e.isLoading?((0,m.wg)(),(0,m.iD)("div",$s,[(0,m._)("img",{class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,Cs),js])):(0,m.kq)("",!0)],2)))),128))])),_:1},8,["content"])])],64)}var xs={props:{files:{type:Array,default:()=>[]}},data(){return{isLoading:!1}},methods:{async downloadFile(e){e.isLoading=!0;try{const t=await fetch(e.path),s=await t.blob();tt.saveAs(s,e.name)}catch(t){this.$toast.error(this.$parseError(t))}finally{e.isLoading=!1}}}};const Ws=(0,$.Z)(xs,[["render",Es],["__scopeId","data-v-634e184f"]]);var Ss=Ws,Vs={emits:["close-modal","update-subtask"],components:{ZFiles:Ss,AMastertaskName:rt,AMastertaskStatus:kt,ATaskTimeblocks:Xe,ZCreatedBy:Mt,ATaskAssignedEmployee:St,ATaskPlannedTime:Zt,ATaskSpentTime:Gt,ATaskRemainingTime:is,ATaskDescription:bs,ATaskDeadline:cs},props:{subtask:{type:Object,required:!0}}};const Os=(0,$.Z)(Vs,[["render",st]]);var zs=Os;const As={class:"timeblock w-100"},Us={key:0,class:"x-button"},Zs={class:"splitted-time-inputs"};function Hs(e,t,s,a,i,l){const n=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)("div",As,[s.deletable&&s.editable?((0,m.wg)(),(0,m.iD)("div",Us,[(0,m._)("button",{onClick:t[0]||(t[0]=t=>e.$emit("removeTimeblock")),class:"x-button"},"x")])):(0,m.kq)("",!0),(0,m.Wm)(n,{"model-value":s.timeblock.date,onFocus:t[1]||(t[1]=t=>e.$emit("onDateFocus")),"onUpdate:modelValue":l.updateDate,format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:"mb-5 modal-input"},null,8,["model-value","onUpdate:modelValue"]),(0,m._)("div",Zs,[(0,m.Wm)(x.hw,{value:s.timeblock.starts_at_time,onInput:l.updateStartTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.starts_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value","onInput","onFocus","class"]),(0,m.Wm)(x.hw,{value:s.timeblock.ends_at_time,onInput:l.updateEndTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.ends_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value","onInput","onFocus","class"])])])}var Fs=s(15941),Is={components:{Datepicker:De.Z},props:{timeblock:{type:Object,required:!0},deletable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1}},data(){return{v$:(0,V.ZP)()}},validations(){return{timeblock:{starts_at_time:{required:(0,O.CF)(this.timeblock.date)},ends_at_time:{required:(0,O.CF)(this.timeblock.date)}}}},methods:{onFocus(){Fs.log("focus")},updateDate(e){const t={...this.timeblock};e&&(t.date=e),this.$emit("updateTimeblock",t)},updateStartTime(e){const t={...this.timeblock};t.starts_at_time=e.target.value,this.$emit("updateTimeblock",t)},updateEndTime(e){const t={...this.timeblock};t.ends_at_time=e.target.value,this.$emit("updateTimeblock",t)}}};const Ps=(0,$.Z)(Is,[["render",Hs],["__scopeId","data-v-75050b9e"]]);var Ls=Ps,Ys=s(15941),Ns={emits:["close","refresh"],mixins:[Ge,et,Z.Z,M],components:{ZTaskReadonlyInfo:zs,ATimeblock:Ls,ZFilesUpload:Se,Datepicker:De.Z,QuillEditor:r.Bn},data(){return{tmUtils:A.Z,editMode:!1,visible:!1,subtask:null,isSaving:!1,errorUtils:z.Z,v$:(0,V.ZP)(),employeeValidations:[],showDatePicker:!1,selectedNewDate:[],timeblocks:[{date:null,starts_at_time:null,ends_at_time:null}]}},computed:{...(0,U.Se)("tm",["mastertasks","enrichedEmployees"])},validations(){return{subtask:{master_task_id:{required:O.C1},deadline:{required:O.C1},_deadline_time:{required:O.C1}}}},mounted(){this.$events.on("add-timeblock",(e=>{this.subtask?.timeblocks||(this.subtask.timeblocks=[]),this.subtask?.timesheets||(this.subtask.timesheets=[]),this.subtask?.is_finished||(this.subtask.is_finished=0),this.subtask.timeblocks.push(e)})),this.$events.on("on-subtask-edited",(e=>{e?.id==this.subtask?.id&&(this.subtask=this._enrichTask(e)),this.$forceUpdate()})),this.$events.on("on-subtask-deleted",(e=>{e?.id==this.subtask?.id&&this.closeModal()}))},methods:{updateTimeblock(e,t){this.timeblocks[t]=e},removeTimeblock(e){this.timeblocks.splice(e,1)},async showModal({subtask:e,editMode:t=!1,mastertask:s={}}){this.isSaving=!1,this.subtask=null,this.visible=!0,this.timeblocks=[{date:null,starts_at_time:null,ends_at_time:null}],this.$nextTick((()=>{this.v$.$reset(),this.setFocusEvent()}));try{if(e?.id){const s=await this.$axios.get_auth_data(`v1/subtasks/${e.id}`);if(!s.deadline)return this.editMode=t||!s.id,this.subtask=this._enrichTask(s);const a=s.deadline.split(" ");s.deadline=Re()(a[0]),s._deadline_time=a[1],this.subtask=this._enrichTask(s)}else{if(this.subtask={master_task:s,employees:[{}],_deadline_time:"17:00"},e?.deadline&&e._deadline_time&&e.employee_id){const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));this.subtask.employees=[t],this.subtask.deadline=e.deadline,this.subtask._deadline_time=e._deadline_time}e?.master_task_id&&e?.project_code&&(this.subtask.master_task_id=e.master_task_id,this.subtask.project_code=e.project_code)}this.editMode=t||!this.subtask.id}catch(a){Ys.error("ERROR",a),this.$toast.error(this.$parseError(a))}},deleteTimeblock(e){this.subtask.timeblocks.splice(e,1)},closeModal(){this.visible=!1,this.$router.replace({name:this.$route.name})},async save(){const e=await this._validateEmployees(),t=!!this.subtask?.id||await this._validateTimeblocks();if(await this.v$.$validate()&&e&&t){this.subtask.description=this.$refs["description"].getHTML(),this._mergeDeadlineTimeDate();try{if(this.isSaving=!0,this.subtask.deadline=Re()(this.subtask.deadline).format("YYYY-MM-DD HH:mm:SS"),this.subtask?.id){const e=this.subtask.timesheets.map((e=>(delete e.employee_name,e))),{subtask:t}=await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`,{...this.subtask,timesheets:e});this.$store.commit("tm/update_subtask",t),this.$events.emit("on-subtask-edited",this.subtask)}else{this.subtask.employees.forEach((e=>{e.id&&(e.timeblocks=this.timeblocks.filter((e=>e.date)).map((e=>({start:`${Re()(e.date).format("YYYY-MM-DD")} ${e.starts_at_time}:00`,end:`${Re()(e.date).format("YYYY-MM-DD")} ${e.ends_at_time}:00`,id:null}))))}));const e=this.subtask;delete e._master_task;const{subtasks:t}=await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`,e);this.subtask.id=t[0].id,t.forEach((e=>{this.$store.commit("tm/update_subtask",e),this.$events.emit("on-subtask-edited",this.subtask)})),this.$events.emit("task-created"),this.$events.emit("close-both-modals")}this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},showCompleteTaskModal(){this.$events.emit("show-complete-task-modal",{subtask:this.subtask}),this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline))},filesUploaded(e){this.subtask.files=e},updateSubtask(e){Ys.log("UPDATE SUBTASK: ",e.timeblocks[0]),this.subtask=e},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline),t=this.subtask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.subtask.deadline=e},_validateEmployees(){return new Promise((e=>{if(this.employeeValidations=[],this.subtask.id){if(this.subtask.employee&&this.subtask.duration)return;this.employeeValidations[0]={},this.subtask.employee_id||(this.employeeValidations[0].employee=!0),this.subtask.duration||(this.employeeValidations[0].duration=!0)}else this.subtask.employees.forEach(((e,t)=>{t==this.subtask.employees.length-1&&t>0||e.id&&e.duration||(this.employeeValidations[t]={},e.id||(this.employeeValidations[t].employee=!0),e.duration||(this.employeeValidations[t].duration=!0))}));const t=this.employeeValidations.some((e=>e.duration||e.employee));e(!t)}))},async _validateTimeblocks(){let e=!1;for(let t=0;tt.id==e.created_by)),_employee:this.enrichedEmployees.find((t=>t.id==e.employee_id)),_master_task:this.mastertasks.find((t=>t.id==e.master_task_id))}}},watch:{"subtask.employee_id"(e,t){e&&t&&(this.subtask.timeblocks=[],this.subtask._employee=this.enrichedEmployees.find((e=>e.id==this.subtask.employee_id)))},"subtask.employees":{handler(){if(!this.subtask?.employees)return;const e=this.subtask.employees[this.subtask.employees.length-1];(e.id||e.duration)&&this.subtask.employees.push({})},deep:!0},"subtask.master_task_id"(e){e&&(this.subtask._master_task=this.mastertasks.find((e=>e.id==this.subtask.master_task_id)),this.subtask.project_code=this.subtask._master_task?.project_code||null)},editMode(){this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))}}};const qs=(0,$.Z)(Ns,[["render",ye],["__scopeId","data-v-3ec6ac9f"]]);var Bs=qs;const Rs={class:"d-flex justify-space-between align-center"};function Ks(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Rs,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.blocker.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteBlocker()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Js={mixins:[M],emits:["on-blocker-deleted"],data(){return{visible:!1,blocker:null,isDeleting:!1}},methods:{async showModal({blocker:e}){this.blocker=e,this.visible=!0},closeModal(){this.visible=!1},async deleteBlocker(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`),this.$emit("on-blocker-deleted",this.blocker),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const Xs=(0,$.Z)(Js,[["render",Ks]]);var Gs=Xs;const Qs={class:"d-flex justify-space-between align-center"};function ea(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Qs,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.subtask.is_finished?"znovu otvoriť":"dokončiť")+" sub task, z mastertasku ",1),(0,m._)("b",null,(0,k.zw)(l.subtask?.master_task?.name||l.subtask.master_task),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ta={mixins:[M],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){try{const e={...this.subtask,is_finished:this.subtask.is_finished?0:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))},{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.visible=!1,this.$emit("on-subtask-edited",t)}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.visible=!1}}};const sa=(0,$.Z)(ta,[["render",ea]]);var aa=sa;const ia={class:"d-flex justify-space-between align-center"};function la(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ia,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.mastertask.is_finished?"znovu otvoriť":"dokončiť")+" ",1),(0,m._)("b",null,(0,k.zw)(l.mastertask?.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var na={mixins:[M],emits:["close","master-task-edited"],data(){return{visible:!1,mastertask:null}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},async complete(){try{const e={...this.mastertask,is_finished:this.mastertask.is_finished?0:1},{mastertask:t}=await this.$axios.put_auth(`v1/mastertasks/${e.id}`,e);this.visible=!1,this.$emit("master-task-edited",t),this.$events.emit("close-both-modals")}catch(e){this.$toast.error(this.$parseError(e))}}}};const oa=(0,$.Z)(na,[["render",la]]);var ra=oa;const da={class:"d-flex justify-space-between align-center"},ua=(0,m._)("h1",null,"Pridať odpracovaný čas",-1);function ca(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{"max-width":"750",modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",da,[ua,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[1]||(t[1]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ma={mixins:[M],emits:["close","on-subtask-edited"],data(){return{v$:(0,V.ZP)(),errorUtils:z.Z,visible:!1,subtask:null,form:{hours:null}}},validations(){return{form:{hours:{required:O.C1,numeric:O.uR,minValue:(0,O.uv)(.1)}}}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0,this.form.hours=null,this.$nextTick((()=>this.v$.$reset()))},async submit(){if(!await this.v$.$validate())return;this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline)),this.subtask.timesheets.push({id:null,employee_id:this.subtask.employee_id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours});const e={...this.subtask,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},closeModal(){this.visible=!1,this.v$.$reset()}}};const ha=(0,$.Z)(ma,[["render",ca]]);var pa=ha;const va={class:"d-flex justify-space-between align-center modal-header"};function ka(e,t,s,i,l,n){const o=(0,m.up)("Datepicker"),r=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[7]||(t[7]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(r,{content:l.blocker,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",va,[(0,m._)("h1",null,(0,k.zw)(l.blocker.id?"Upraviť":"Vytvoriť")+" blocker",1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:l.v$.blocker.name.$errors.length}]),label:"Názov blockeru",hint:l.v$.blocker.name.$errors?l.errorUtils.parseErrors(l.v$.blocker.name.$errors):null,modelValue:l.blocker.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.blocker.name=e),variant:"solo"},null,8,["onFocus","class","hint","modelValue"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,clearable:"",label:"Vyhľadať zamestnanca",items:[...e.enrichedEmployees],"item-title":"_fullName","item-value":"id",variant:"solo",class:"modal-input",modelValue:l.blocker.employee_id,"onUpdate:modelValue":t[2]||(t[2]=e=>l.blocker.employee_id=e)},null,8,["custom-filter","items","modelValue"]),(0,m.Wm)(o,{class:(0,k.C_)(["modal-input mb-5",{error:l.v$.datepicker.$errors?.length}]),modelValue:l.datepicker,"onUpdate:modelValue":t[3]||(t[3]=e=>l.datepicker=e),"auto-apply":!0,format:"dd.MM.yyyy",locale:"sk",validations:l.v$.datepicker,"select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","enable-time-picker":!1,ref:"datepicker"},null,8,["modelValue","class","validations"]),(0,m.Wm)(x.hw,{modelValue:l.starts_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.ends_at_time,"onUpdate:modelValue":t[5]||(t[5]=e=>l.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary",onClick:t[6]||(t[6]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.blocker.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var fa={mixins:[Ge,Z.Z,M],emits:["close"],components:{Datepicker:De.Z},data(){return{visible:!1,v$:(0,V.ZP)(),errorUtils:z.Z,blocker:null,datepicker:null,starts_at_time:null,ends_at_time:null,employee:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),...(0,U.Se)("auth",["user"])},validations(){return{blocker:{name:{required:O.C1},start:{required:O.C1},end:{required:O.C1}},starts_at_time:{required:O.C1},ends_at_time:{required:O.C1},datepicker:{required:O.C1}}},methods:{async showModal({blocker:e}){this.visible=!0,this.blocker=null,this.datepicker=null,this.starts_at_time=null,this.ends_at_time=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{e?.id?(e=await this.$axios.get_auth_data(`v1/blockers/${e.id}`),this.starts_at_time=Re()(e.start).format("HH:mm"),this.ends_at_time=Re()(e.end).format("HH:mm"),this.datepicker=new Date(e.start),e.employee_id=e.employee.id,this.blocker=e):(this.blocker={start:null,employee_id:this.user.id},e.starts_at_time&&e.datepicker&&e.employee_id&&(this.datepicker=e.datepicker,this.starts_at_time=e.starts_at_time,this.blocker.employee_id=e.employee_id))}catch(t){this.$toast.error(this.$parseError(t))}},async save(){if(await this.v$.$validate())try{if(this.blocker.id){const{blocker:e}=await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`,this.blocker);this.blocker=e}else{const{blocker:e}=await this.$axios.post_auth("v1/blockers",this.blocker);this.blocker=e}this.$events.emit("on-blocker-edited",this.blocker),this.$events.emit("blocker-created"),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.$refs["datepicker"].clearValue(),this.visible=!1,this.$emit("close",this.blocker)},onEmployeeSelected({key:e}){this.blocker.employee=this.enrichedEmployees.find((t=>t.id==e))},_syncDatesTimes(){if(!this.starts_at_time||!this.ends_at_time||!this.datepicker)return;const e=this.starts_at_time.split(":"),t=this.ends_at_time.split(":");this.blocker.start=Re()(this.datepicker).set({hours:parseInt(e[0]),minutes:parseInt(e[1])}).format("YYYY-MM-DD HH:mm"),this.blocker.end=Re()(this.datepicker).set({hours:parseInt(t[0]),minutes:parseInt(t[1])}).format("YYYY-MM-DD HH:mm")}},watch:{ends_at_time(){this._syncDatesTimes()},starts_at_time(){this._syncDatesTimes()},datepicker(){this._syncDatesTimes()}}};const ga=(0,$.Z)(fa,[["render",ka]]);var _a=ga;const wa={class:"d-flex justify-space-between align-center"};function ba(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",wa,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.mastertask.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteMasterTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ya={mixins:[M],emits:["on-mastertask-deleted"],data(){return{visible:!1,mastertask:null,isDeleting:!1}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteMasterTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`),this.$emit("on-mastertask-deleted",this.mastertask),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const Da=(0,$.Z)(ya,[["render",ba]]);var Ma=Da,Ta=s(10240);const $a={class:"d-flex justify-space-between align-center modal-header"},Ca={class:"splitted-inputs"},ja={class:"employee-select-avatar d-flex justify-center align-center"},Ea={class:"employee-select-avatar d-flex justify-center align-center"},xa={class:"d-flex justify-space-between align-center"},Wa={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},Sa={class:"d-flex justify-start"},Va=["src"],Oa=["src"],za={class:"w-100"},Aa={class:"d-flex justify-start align-center mt-8"},Ua={class:"d-flex align-center"};function Za(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("QuillEditor"),u=(0,m.up)("Z-files-upload"),c=(0,m.up)("A-mastertask-description"),h=(0,m.up)("A-tasks-table"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:n.visible,"onUpdate:modelValue":t[16]||(t[16]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.mastertask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",$a,[(0,m._)("h1",null,(0,k.zw)(n.mastertask?.id?"Upraviť master task":"Vytvoriť master task"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.mastertask.project_id,"onUpdate:modelValue":t[1]||(t[1]=e=>n.mastertask.project_id=e),label:e.$t("Project code"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.projectsOptions,"item-title":"code","item-value":"id",variant:"solo",clearable:"","onUpdate:search":t[2]||(t[2]=e=>n.projectCodeSearch=e)},null,8,["custom-filter","modelValue","label","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.name,"onUpdate:modelValue":t[3]||(t[3]=e=>n.mastertask.name=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.name.$errors.length}]),label:"Názov mastertasku",variant:"solo",hint:n.v$.mastertask.name.$errors?n.errorUtils.parseErrors(n.v$.mastertask.name.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m._)("div",Ca,[(0,m.Wm)(r,{modelValue:n.mastertask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.mastertask.deadline=e),"auto-apply":!0,onFocus:e.onDateFocus,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.mastertask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum",validations:n.v$.mastertask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.mastertask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.mastertask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.mastertask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.mastertask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.mastertask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.duration,"onUpdate:modelValue":t[6]||(t[6]=e=>n.mastertask.duration=e),onFocus:e.onInputFocus,class:"modal-input",variant:"solo",type:"number",label:`${n.mastertask.duration} h`,disabled:!0},null,8,["modelValue","onFocus","label"]),(0,m.Wm)(Ta.r,{modelValue:n.mastertask.team_id,"onUpdate:modelValue":t[7]||(t[7]=e=>n.mastertask.team_id=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input border-select",{error:n.v$.mastertask.employees.$errors.length}]),label:"Tím",variant:"solo",items:e.teams,"item-value":"id","item-title":"name",disabled:n.mastertask.id},null,8,["modelValue","onFocus","class","items","disabled"]),n.mastertask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.mastertask._allEmployees,(e=>((0,m.wg)(),(0,m.j4)(x.hw,{key:e.id,class:"modal-input",label:`${e.name} ${e.surname}`,variant:"solo",placeholder:"h",modelValue:e.duration,"onUpdate:modelValue":t=>e.duration=t,type:"number",disabled:!0},{default:(0,m.w5)((()=>[(0,m._)("p",Ea,(0,k.zw)(e?.name.charAt(0)+e?.surname.charAt(0)),1),(0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>o.removeEmployee(e)),["stop"]),class:"remove-input",icon:"mdi-close",size:"small"},null,8,["onClick"])])),_:2},1032,["label","modelValue","onUpdate:modelValue"])))),128)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(n.mastertask.employees,((t,s)=>((0,m.wg)(),(0,m.j4)(x.hw,{key:t.id,onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:t.invalid}]),label:`${t.name} ${t.surname}`,variant:"solo",placeholder:"h",modelValue:n.mastertask.employees[s].duration,"onUpdate:modelValue":e=>n.mastertask.employees[s].duration=e,type:"number",min:"1",onInput:e.onEmployeeDurationChanged},{default:(0,m.w5)((()=>[(0,m._)("p",ja,(0,k.zw)(t?.name.charAt(0)+t?.surname.charAt(0)),1),(0,m.Wm)(b.t,{onClick:(0,a.iM)((e=>o.removeEmployee(t)),["stop"]),class:"remove-input",icon:"mdi-close",size:"small"},null,8,["onClick"])])),_:2},1032,["onFocus","class","label","modelValue","onUpdate:modelValue","onInput"])))),128)),n.showAddEmployeeInput?((0,m.wg)(),(0,m.j4)(E.f,{key:2,"custom-filter":e.customFilter,"match-any":!0,label:e.$t("Search for employee"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"","onUpdate:modelValue":e.onEmployeeSelected},null,8,["custom-filter","label","class","items","onUpdate:modelValue"])):(0,m.kq)("",!0),(0,m.Wm)(f.T,{disabled:n.mastertask.id,class:(0,k.C_)(["w-100 mb-5 button secondary",{error:n.v$.mastertask.project_id.$errors.length}]),onClick:t[8]||(t[8]=e=>n.showAddEmployeeInput=!0)},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať zamestnanca ")])),_:1},8,["disabled","class"]),(0,m._)("div",{class:(0,k.C_)(["w-100 modal-input",{error:n.v$.mastertask.description.$errors.length}])},[(0,m.Wm)(d,{ref:"description",modelValue:n.mastertask.description,"onUpdate:modelValue":t[9]||(t[9]=e=>n.mastertask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onKeyup:o.onQuillEditorInput},null,8,["modelValue","onKeyup"])],2),(0,m.Wm)(u,{class:"mt-15 files",files:n.mastertask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[10]||(t[10]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.id?"ULOŽIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",xa,[(0,m._)("p",null,(0,k.zw)(n.mastertask.project_code),1),(0,m.Wm)(b.t,{onClick:t[11]||(t[11]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",Wa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask.name),1),(0,m._)("div",Sa,[n.mastertask.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:0,class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[12]||(t[12]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,Va)),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[13]||(t[13]=(0,a.iM)((e=>o.openDeleteMasterTaskModal(n.mastertask)),["stop"]))},null,8,Oa)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",za,[(0,m.Wm)(c,{mastertask:n.mastertask},null,8,["mastertask"]),(0,m._)("div",Aa,[(0,m.Wm)(f.T,{class:"button primary",onClick:t[14]||(t[14]=e=>o.toggleIsFinished(n.mastertask))},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.is_finished?"Otvoriť mastertask":"Ukončiť mastertask"),1)])),_:1})]),(0,m.Wm)(h,{subtasks:n.mastertask.subtasks},null,8,["subtasks"]),(0,m._)("div",Ua,[(0,m.Wm)(f.T,{class:"subtask-btn w-100",onClick:t[15]||(t[15]=e=>o.addTask())},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať sub task")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Ha=s(4413);const Fa={class:"px-5 py-5"},Ia={key:0,class:"w-25"},Pa={key:1,class:"w-50"},La={class:"d-flex align-center"},Ya={class:"employee-selected-avatar d-flex justify-center align-center"},Na={class:"ml-2 line-clamp"},qa={key:0,class:"text-light-green"},Ba={key:1},Ra={class:"task-action"},Ka={class:"d-flex justify-start"},Ja=["src","onClick"],Xa=["src","onClick"],Ga=["src","onClick"],Qa=["src","onClick"];function ei(e,t,i,l,n,o){return(0,m.wg)(),(0,m.j4)(Ha.Y,{class:"mt-7 mb-5"},{default:(0,m.w5)((()=>[(0,m._)("tbody",Fa,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(o.enrichedtasks,(e=>((0,m.wg)(),(0,m.iD)("tr",{key:e.id},[e?.title?((0,m.wg)(),(0,m.iD)("td",Ia,(0,k.zw)(e.title),1)):((0,m.wg)(),(0,m.iD)("td",Pa,(0,k.zw)(e?.master_task),1)),(0,m._)("td",La,[(0,m._)("p",Ya,(0,k.zw)(e._employeeInitials),1),(0,m._)("p",Na,(0,k.zw)(e._employeeFullName),1)]),(0,m._)("td",null,[e.is_finished?((0,m.wg)(),(0,m.iD)("p",qa,"Ukončený")):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("p",Ba,"Neukončený"))]),(0,m._)("td",Ra,[(0,m._)("div",Ka,[e.is_finished?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"pencil-icon is-finished",src:s(53830),alt:"checkmark-icon",onClick:(0,a.iM)((t=>o.clickCompleteTask(e)),["stop"])},null,8,Ja)):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:1,class:"pencil-icon",src:s(53830),alt:"checkmark-icon",onClick:(0,a.iM)((t=>o.clickCompleteTask(e)),["stop"])},null,8,Xa)),(0,m._)("img",{class:"pencil-icon ml-2",src:s(34413),alt:"pencil-icon",onClick:(0,a.iM)((t=>o.openTaskModal(e)),["stop"])},null,8,Ga),(0,m._)("img",{class:"trash-icon",src:s(27484),alt:"trash-icon",onClick:(0,a.iM)((t=>o.openDeleteTaskModal(e)),["stop"])},null,8,Qa)])])])))),128))])])),_:1})}var ti={props:{subtasks:{type:Array,required:!0}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_employeeInitials:t._initials,_employeeFullName:t._fullName}}))}},methods:{openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},openTaskModal(e){this.$events.emit("show-subtask-modal",{subtask:e,editMode:!1})},async clickCompleteTask(e){this.$events.emit("show-complete-task-modal",{subtask:e})}}};const si=(0,$.Z)(ti,[["render",ei],["__scopeId","data-v-6a5e57ec"]]);var ai=si;function ii(e,t,s,a,i,l){const n=(0,m.up)("Z-status"),o=(0,m.up)("Z-deadline"),r=(0,m.up)("Z-created-by"),d=(0,m.up)("Z-team"),u=(0,m.up)("Z-planned-time"),c=(0,m.up)("Z-remaining-time"),h=(0,m.up)("Z-spent-time"),p=(0,m.up)("Z-description"),v=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{status:s.mastertask.is_finished},null,8,["status"]),(0,m.Wm)(o,{deadline:s.mastertask.deadline},null,8,["deadline"]),(0,m.Wm)(r,{"employee-id":s.mastertask.created_by},null,8,["employee-id"]),(0,m.Wm)(d,{team:s.mastertask.team,employees:s.mastertask._allEmployees||s.mastertask.employees},null,8,["team","employees"]),(0,m.Wm)(u,{hours:s.mastertask.duration},null,8,["hours"]),(0,m.Wm)(c,{hours:s.mastertask.duration-s.mastertask.time_worked},null,8,["hours"]),(0,m.Wm)(h,{hours:s.mastertask.time_worked,"is-exceeded":s.mastertask.time_worked>s.mastertask.duration},null,8,["hours","is-exceeded"]),(0,m.Wm)(p,{description:s.mastertask.description},null,8,["description"]),(0,m.Wm)(v,{files:s.mastertask.files},null,8,["files"])],64)}const li={class:"d-flex align-center"},ni=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function oi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",li,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),ni])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(""+(i.tmUtils.isAfter(s.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDateTime(s.deadline)),3)])),_:1})])),_:1})])),_:1})}var ri={props:{deadline:{type:String,required:!0}},data(){return{tmUtils:A.Z}}};const di=(0,$.Z)(ri,[["render",oi]]);var ui=di;const ci={key:0,class:"px-5 py-5 border-bottom"},mi=(0,m._)("p",null,"Popis zadania",-1),hi=["innerHTML"],pi={key:1,class:"px-5 py-5 border-bottom"},vi=(0,m._)("p",null,"Popis mastertasku",-1),ki=["innerHTML"];function fi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ci,[mi,(0,m._)("section",{innerHTML:s.description,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,hi)])):(0,m.kq)("",!0),s.inheritedDescription?((0,m.wg)(),(0,m.iD)("div",pi,[vi,(0,m._)("section",{innerHTML:s.inheritedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,ki)])):(0,m.kq)("",!0)],64)}var gi={props:{description:{type:String||null,default:()=>null},inheritedDescription:{type:String||null,default:()=>null}}};const _i=(0,$.Z)(gi,[["render",fi]]);var wi=_i;const bi={class:"d-flex align-center"},yi=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Di(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",bi,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),yi])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Mi={props:{hours:{type:Number,required:!0}}};const Ti=(0,$.Z)(Mi,[["render",Di]]);var $i=Ti;const Ci={class:"d-flex align-center"},ji=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function Ei(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ci,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),ji])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var xi={props:{hours:{type:Number,required:!0}}};const Wi=(0,$.Z)(xi,[["render",Ei]]);var Si=Wi;const Vi={class:"d-flex align-center"},Oi=(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1);function zi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Vi,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Oi])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(s.isExceeded?"text-red-darken-4":"text-black")},(0,k.zw)(s.hours)+" h",3)])),_:1})])),_:1})])),_:1})}var Ai={props:{hours:{type:Number,required:!0},isExceeded:{type:Boolean,required:!0}}};const Ui=(0,$.Z)(Ai,[["render",zi]]);var Zi=Ui;const Hi={class:"d-flex align-center"},Fi=(0,m._)("p",{class:"mx-3"},"Status",-1),Ii={key:0,class:"status-badge px-4 py-2 rounded-pill"},Pi={key:1,class:"status-badge px-4 py-2 rounded-pill"};function Li(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Hi,[(0,m.Wm)(b.t,{icon:"mdi-drag-vertical",size:"large"}),Fi])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[1==s.status?((0,m.wg)(),(0,m.iD)("p",Ii,"Ukončený")):0==s.status?((0,m.wg)(),(0,m.iD)("p",Pi,"Neukončený")):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1})}var Yi={props:{status:{type:Number,required:!0}}};const Ni=(0,$.Z)(Yi,[["render",Li]]);var qi=Ni;const Bi={class:"d-flex align-center"},Ri=(0,m._)("p",{class:"mx-3"},"Tím",-1),Ki={class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},Ji={class:"employee-selected-avatar d-flex justify-center align-center"},Xi={class:"ml-2"},Gi=(0,m._)("div",{class:"mb-4"},null,-1),Qi=(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},"Nepriradený",-1),el={class:"employee-selected-avatar d-flex justify-center align-center"},tl={class:"ml-2"};function sl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Bi,[(0,m.Wm)(b.t,{icon:"mdi-account-multiple-outline",size:"large"}),Ri])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex flex-wrap flex-column"},{default:(0,m.w5)((()=>[s.team?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("p",Ki,(0,k.zw)(s.team.name),1),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesInTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",Ji,(0,k.zw)(e._initials),1),(0,m._)("p",Xi,(0,k.zw)(e._fullName),1)])))),128)),Gi],64)):(0,m.kq)("",!0),Qi,((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesOutsideTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",el,(0,k.zw)(e._initials),1),(0,m._)("p",tl,(0,k.zw)(e._fullName),1)])))),128))])),_:1})])),_:1})])),_:1})}var al={props:{team:{type:Object,required:!1},employees:{type:Array,required:!0}},computed:{enrichedEmployeesInTeam(){return this.team?.employees?A.Z.enrichEmployees(this.team.employees):[]},enrichedEmployeesOutsideTeam(){if(!this.team)return A.Z.enrichEmployees(this.employees);const e=this.employees.filter((e=>!this.team.employees.find((t=>t.id==e.id))));return A.Z.enrichEmployees(e)}}};const il=(0,$.Z)(al,[["render",sl]]);var ll=il,nl={components:{ZCreatedBy:Mt,ZDeadline:ui,ZDescription:wi,ZFiles:Ss,ZPlannedTime:$i,ZRemainingTime:Si,ZSpentTime:Zi,ZStatus:qi,ZTeam:ll},props:{mastertask:{type:Object,required:!0}}};const ol=(0,$.Z)(nl,[["render",ii]]);var rl=ol,dl=s(15941),ul={emits:["master-task-edited","close"],mixins:[Ge,et,Z.Z,M],components:{AMastertaskDescription:rl,ATasksTable:ai,Datepicker:De.Z,ZFilesUpload:Se,QuillEditor:r.Bn},data(){return{deadline:null,editMode:!1,visible:!1,errorUtils:z.Z,v$:(0,V.ZP)(),mastertask:null,isSaving:!1,showAddEmployeeInput:!1,date:null,projectCodeSearch:null}},computed:{...(0,U.Se)("tm",["teams","projects","enrichedEmployees"]),enrichedSubtasks(){return this.mastertask?.subtasks?this.mastertask.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_initials:t?t.name.charAt(0)+t.surname.charAt(0):"?",_fullName:t?`${t.name} ${t.surname}`:""}})):null}},validations(){const e=e=>!!(e&&e.length&&e.replace(/<[^>]*>/g,"").length);return{mastertask:{employees:{required:O.C1,minLength:(0,O.Ei)(1),$each:{duration:{required:O.C1}}},project_id:{required:O.C1},name:{required:O.C1},description:{quillEditorRequired:e},deadline:{required:O.C1},_deadline_time:{required:O.C1}}}},mounted(){this.$events.on("close-both-modals",this.closeBothModals),this.$events.on("master-task:team-member-deleted",(({teamId:e,memberId:t})=>{this.mastertask.team_id==e&&(this.mastertask.employees=this.mastertask.employees.filter((e=>e.id!=t)))})),this.$events.on("on-mastertask-deleted",(e=>{e?.id==this.mastertask?.id&&this.closeModal()})),this.$events.on("on-subtask-deleted",(e=>{this.mastertask&&(this.mastertask.subtasks=this.mastertask.subtasks.filter((t=>t.id!=e.id)))})),this.$events.on("on-subtask-edited",(e=>{this.mastertask?.subtasks&&(this.mastertask.subtasks.find((t=>t.id==e.id))?this.mastertask.subtasks=this.mastertask.subtasks.map((t=>t.id==e.id?e:t)):this.mastertask.subtasks.push(e))}))},beforeUnmount(){this.$events.off("on-mastertask-deleted"),this.$events.off("on-subtask-deleted"),this.$events.off("on-subtask-edited"),this.$events.off("master-task:team-member-deleted"),this.$events.off("close-both-modals",this.closeBothModals)},methods:{closeBothModals(){this.$emit("close"),this.visible=!1},removeEmployee({id:e}){this.mastertask.employees=this.mastertask.employees.filter((t=>t.id!=e))},removeMemberAlert(e){const t=this.mastertask.team;this.$events.emit("show-delete-team-member-modal",{member:e,team:t})},async showModal({mastertask:e,editMode:t=!1}){this.isSaving=!1,this.editMode=null,this.visible=!0,this.mastertask=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{if(e?.id){this.mastertask=await this.$axios.get_auth_data(`v1/mastertasks/${e.id}`);const t=this.projects.find((e=>e.code==this.mastertask.project_code));this.mastertask.project_id=t?.id||null,this.mastertask.team_id=this.mastertask.team?.id||null,this.mastertask._allEmployees=this.mastertask.subtasks.map((({employee_id:e,duration:t})=>{const s=this.enrichedEmployees.find((({id:t})=>t==e));return s.duration=t,s})),dl.log("NEW",this.mastertask)}else this.mastertask={employees:[],duration:0,_deadline_time:"17:00"};this.editMode=t||!this.mastertask.id}catch(s){this.$toast.error(s.message||s)}},toggleIsFinished(){this.$events.emit("show-complete-master-task-modal",{mastertask:this.mastertask})},async save(){this.mastertask.id&&(this.mastertask.employees=this.mastertask.employees.map((e=>{const{duration:t}=this.mastertask.subtasks.find((({employee_id:t})=>t==e.id));return e.duration=t,e})));const e=await this.v$.$validate(),t=await this._validateEmployees();if(e&&t){this.$refs["description"]&&(this.mastertask.description=this.$refs["description"].getHTML()),this._mergeDeadlineTimeDate();try{this.isSaving=!0,this.mastertask.deadline=Re()(this.mastertask.deadline).format("YYYY-MM-DD HH:MM:SS"),this.mastertask.id?await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`,this.mastertask):await this.$axios.post_auth_data("v1/mastertasks",this.mastertask),this.$emit("master-task-edited",this.mastertask),this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},filesUploaded(e){this.mastertask.files=e},closeModal(){this.visible=!1},openDeleteMasterTaskModal(e){this.$events.emit("show-delete-master-task-modal",{mastertask:e})},addTask(){this.$events.emit("show-subtask-modal",{subtask:{master_task_id:this.mastertask.id,project_code:this.mastertask.project_code}})},onQuillEditorInput(){this.mastertask.description=this.$refs["description"].getHTML()},_mergeDeadlineTimeDate(){const e=new Date(this.mastertask.deadline),t=this.mastertask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.mastertask.deadline=e},_validateEmployees(){let e=!0;return this.mastertask.employees=this.mastertask.employees.map((t=>(t.duration||(t.invalid=!0,e=!1),t))),e}},watch:{editMode(){this.$nextTick((()=>{if(this.$refs["description"]?.setHTML(this.mastertask.description||""),!this.mastertask?.id)return;const e=new Date(this.mastertask.deadline),t=e.getHours(),s=e.getMinutes();this.mastertask._deadline_time=`${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}))}}};const cl=(0,$.Z)(ul,[["render",Za],["__scopeId","data-v-6d155146"]]);var ml=cl,hl=s(41888),pl=s(89234);const vl=(0,m._)("h1",{class:"text-h5"}," Chcete túto osobu odstrániť z tímu? ",-1);function kl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:i.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>i.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[vl,(0,m.Wm)(hl.Z,null,{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(i.member.name+" "+i.member.surname)+" bude odstránený/á z teamu.",1)])),_:1}),(0,m.Wm)(_.h,null,{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button secondary",variant:"text",onClick:t[0]||(t[0]=e=>l.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Zrušiť ")])),_:1}),(0,m.Wm)(pl.C),(0,m.Wm)(f.T,{class:"button primary",variant:"text",onClick:t[1]||(t[1]=e=>l.deleteMember())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Áno ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var fl={mixins:[M],data(){return{visible:!1,member:null,team:null}},methods:{async showModal({member:e,team:t}){this.member=e,this.team=t,this.visible=!0},closeModal(){this.visible=!1},async deleteMember(){this.team.employees=[...this.team.employees].filter((e=>e.id!==this.member.id));try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team);this.$store.commit("tm/update_team",e)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team);this.$store.commit("tm/save_team",e)}this.$events.emit("master-task:team-member-deleted",{teamId:this.team.id,memberId:this.member.id}),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}}};const gl=(0,$.Z)(fl,[["render",kl]]);var _l=gl;const wl={class:"d-flex justify-space-between align-center"},bl=(0,m._)("h1",null,"Vytvoriť",-1);function yl(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",wl,[bl,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[1]||(t[1]=(0,a.iM)((e=>n.createTask()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("SUB TASK")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.createBlocker()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Dl=s(15941),Ml={emits:["update","data"],props:["data"],mixins:[M],data(){return{visible:!1,localData:null}},mounted(){this.$events.on("blocker-created",(()=>{this.closeModal()})),this.$events.on("task-created",(()=>{this.closeModal()}))},methods:{async showModal(e){this.localData=e,this.visible=!0},closeModal(){this.visible=!1},createTask(){Dl.log(this.localData.date,this.localData.time,this.localData.employees),this.$events.emit("show-subtask-modal",{subtask:{deadline:this.localData.date,_deadline_time:this.localData.time,employee_id:this.localData.employee},onTaskCreated:()=>{this.closeModal()}})},createBlocker(){this.$events.emit("show-blocker-modal",{blocker:{starts_at_time:this.localData.time,datepicker:this.localData.date,employee_id:this.localData.employee},onBlockerCreated:()=>{this.closeModal()}})}}};const Tl=(0,$.Z)(Ml,[["render",yl]]);var $l=Tl,Cl={components:{ZDeleteTeamModal:j,ZTeamModal:P,ZDeleteTaskModal:B,ZDeleteBlockerModal:Gs,ZTaskModal:Bs,ZMasterTaskModal:ml,ZCompleteTaskModal:aa,ZTaskAddTimeModal:pa,ZBlockerModal:_a,ZDeleteMasterTaskModal:Ma,ZDeleteTeamMemberModal:_l,ZShowMenuModal:$l,ZCompleteMasterTaskModal:ra,ZDeleteTimeBlockModal:ee},mounted(){this.$events.on("show-menu-modal",(e=>{this.$refs["z-show-menu-modal"].showModal(e)})),this.$events.on("show-delete-team-modal",(({team:e})=>{this.$refs["z-delete-team-modal"].showModal({team:e})})),this.$events.on("show-team-modal",(({team:e})=>{this.$refs["z-team-modal"].showModal({team:e})})),this.$events.on("show-delete-task-modal",(({subtask:e})=>{this.$refs["z-delete-task-modal"].showModal({subtask:e})})),this.$events.on("show-delete-timeblock-modal",(({subtask:e})=>{this.$refs["z-delete-timeblock-modal"].showModal({subtask:e})})),this.$events.on("show-delete-blocker-modal",(({blocker:e})=>{this.$refs["z-delete-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-delete-master-task-modal",(({mastertask:e})=>{this.$refs["z-delete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-delete-team-member-modal",(({member:e,team:t})=>{this.$refs["z-delete-team-member-modal"].showModal({member:e,team:t})})),this.$events.on("show-subtask-modal",(({subtask:e,editMode:t,mastertask:s})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{subtask:t}})}this.$refs["z-task-modal"].showModal({subtask:e,editMode:t,mastertask:s})})),this.$events.on("show-mastertask-modal",(({mastertask:e,editMode:t})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{mastertask:t}})}this.$refs["z-master-task-modal"].showModal({mastertask:e,editMode:t})})),this.$events.on("show-complete-task-modal",(({subtask:e})=>{this.$refs["z-complete-task-modal"].showModal({subtask:e})})),this.$events.on("show-complete-master-task-modal",(({mastertask:e})=>{this.$refs["z-complete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-blocker-modal",(({blocker:e={}})=>{this.$refs["z-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-task-add-time-modal",(({subtask:e})=>{this.$refs["z-task-add-time-modal"].showModal({subtask:e})})),this.$events.on("on-subtask-edited",(()=>{this.$store.dispatch("tm/reloadSubtasks")})),this.$events.on("on-mastertask-edited",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("on-mastertask-deleted",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this._showModalsAfterInicialization()},methods:{onTeamUpdate(e){this.$events.emit("on-team-update",e)},onTaskDeleted(e){this.$events.emit("on-subtask-deleted",e)},onBlockerDeleted(e){this.$events.emit("on-blocker-deleted",e)},onTaskEdited(e){this.$events.emit("on-subtask-edited",e)},onMasterTaskDeleted(e){this.$events.emit("on-mastertask-deleted",e)},onMasterTaskEdited(e){this.$events.emit("on-mastertask-edited",e)},_showModalsAfterInicialization(e=0){setTimeout((()=>e>50?this.$router.push({name:this.$route.name}):this.$store.getters["tm/isInitialized"]?this.$route.query["mastertask"]?this.$events.emit("show-mastertask-modal",{mastertask:{id:this.$route.query["mastertask"]},editMode:!1}):this.$route.query["subtask"]?this.$events.emit("show-subtask-modal",{subtask:{id:this.$route.query["subtask"]},editMode:!1}):void 0:this._showModalsAfterInicialization(e+1)),300)}}};const jl=(0,$.Z)(Cl,[["render",v]]);var El=jl,xl=s(22483),Wl=(0,U.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});const Sl=[{path:"",redirect:"/auth"},{path:"/auth/",component:()=>s.e(9983).then(s.bind(s,79983)),children:[{path:"",redirect:"/auth/login"},{path:"/auth/login",name:"Login",component:()=>s.e(8290).then(s.bind(s,68290)),meta:{requiresAuth:!1}},{path:"/auth/forgot-password",name:"Forgot password",component:()=>s.e(5921).then(s.bind(s,75921)),meta:{requiresAuth:!1}},{path:"/auth/forgot-success",name:"Forgot success",component:()=>s.e(8731).then(s.bind(s,28731)),meta:{requiresAuth:!1}},{path:"/auth/reset-password",name:"Reset password",component:()=>s.e(2998).then(s.bind(s,32998)),meta:{requiresAuth:null}}]},{path:"/app",component:()=>s.e(4258).then(s.bind(s,64258)),children:[{path:"",redirect:"/app/dashboard"},{path:"/app/dashboard",redirect:"/app/dashboard/tasks",children:[{path:"/app/dashboard/tasks",name:"Dashboard - Tasks",meta:{title:"Sub Tasks",requiresAuth:!0},component:()=>Promise.all([s.e(2704),s.e(630)]).then(s.bind(s,38492))},{path:"/app/dashboard/teams",name:"Dashboard - Teams",meta:{title:"Teams Overview",requiresAuth:!0},component:()=>Promise.all([s.e(2704),s.e(6901)]).then(s.bind(s,58311))},{path:"/app/dashboard/projects",name:"Dashboard - Projects",meta:{title:"Projects overview",requiresAuth:!0},component:()=>s.e(7906).then(s.bind(s,57906))},{path:"/app/overview/unscheduled",name:"Overview - Unscheduled tasks",meta:{title:"Unscheduled Sub Tasks",requiresAuth:!0},component:()=>s.e(9215).then(s.bind(s,29215))},{path:"/app/overview/ongoing",name:"Overview - Ongoing tasks",meta:{title:"Ongoing Sub Tasks",requiresAuth:!0},component:()=>s.e(7023).then(s.bind(s,37023))},{path:"/app/overview/teams",name:"Overview - Teams",meta:{title:"Teams",requiresAuth:!0},component:()=>s.e(7073).then(s.bind(s,97073))},{path:"/app/dashboard/user",name:"Dashboard - User",meta:{title:"Profile",requiresAuth:!0},component:()=>s.e(3539).then(s.bind(s,33539))},{path:"/app/search",name:"Search",meta:{title:"Search Results",requiresAuth:!0},component:()=>s.e(8227).then(s.bind(s,78227))}]}]},{path:"/:catchAll(.*)",name:"404",component:()=>s.e(188).then(s.bind(s,60188)),meta:{requiresAuth:null}}],Vl=(0,xl.p7)({history:(0,xl.r5)("/"),routes:Sl});Vl.beforeEach(((e,t,s)=>{const a=Wl.getters["auth/isLoggedIn"];return!0===e.meta.requiresAuth?a?s():s({name:"Login"}):!1===e.meta.requiresAuth&&a?s({name:"Dashboard - Tasks"}):s()}));var Ol=Vl,zl=s(34311),Al=s(15941);zl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Ul={async get(e,t){return zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_auth(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_data(e,t){return zl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async get_auth_data(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(e.response||e)))},async post(e,t=null,s){return zl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_auth(e,t=null,s){return s=this._config(s),zl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_data(e,t=null,s){return zl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async post_auth_data(e,t=null,s){return s=this._config(s),zl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete(e,t){return zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_auth(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_data(e,t){return zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete_auth_data(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch(e,t=null,s){return zl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_auth(e,t=null,s){return s=this._config(s),zl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_data(e,t=null,s){return zl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch_auth_data(e,t=null,s){return s=this._config(s),zl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put(e,t=null,s){return zl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_auth(e,t=null,s){return s=this._config(s),zl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_data(e,t=null,s){return zl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put_auth_data(e,t=null,s){return s=this._config(s),zl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},_config(e){return e&&Al.error("NOT IMPLEMENTED"),Wl.getters["auth/token"]?{headers:{Authorization:`Bearer ${Wl.getters["auth/token"]}`}}:{headers:{}}}},Zl={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Ul)}},Hl=s(82482);const Fl=e=>Object.entries(e).map((e=>e.map(encodeURIComponent).join("="))).join("&");function Il(e){let t=e;return t=t.replace(/\//g,"\\/"),t=t.replace(/\./g,"\\."),t=t.replace(/\([^)]+\)/g,"[^/]+"),t}var Pl=s(15941);class Ll{constructor(){(0,Hl.Z)(this,"_mocks",{}),zl.Z.interceptors.request.use(this._redirectRequestToMock.bind(this)),this._mocks={}}mock(e){for(const t in e){let s=e[t];!1!==s&&(s={},s.name=t,s.url=t.split(" ")[1],s.reUrl||(s.reUrl=Il(s.url)),s.matchMethod||(s.matchMethod=t.split(" ")[0].toLowerCase()),this._mocks[t]=s)}}_redirectRequestToMock(e){const t=e.url.replace(/https?:\/\/[^/?]+/,"");let s;for(const a in this._mocks){const i=this._mocks[a];if(e.method==i.matchMethod&&t.match(i.reUrl)){s=i;break}}if(s){s.fname||(s.fname={VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM?`/mock/${{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM}/${s.url}.${e.method.toUpperCase()}.json`:`/mock/${s.url}.${e.method.toUpperCase()}.json`),Pl.log(s.fname=`/mock/${s.url}.${e.method.toUpperCase()}.json`);const t={method:"get",url:window.location.origin+s.fname+"?___MOCK___&"+Fl(e.data||{})};e={...e,...t}}return e}}var Yl={install:(e,t)=>{const s=new Ll;t&&t.routes&&Object.values(t.routes).length&&!0!==t.disabled&&s.mock(t.routes)}},Nl=s(8069),ql={install:(e,t)=>{if(t&&!0===t.disabled)return;const s=(0,Nl.Z)();e.config.globalProperties.$events=s}},Bl=s(44870),Rl=s(5658),Kl=s(31310),Jl=s(15941);class Xl{constructor(e){(0,Hl.Z)(this,"currentLanguage",(0,Bl.iH)()),(0,Hl.Z)(this,"availableLanguages",void 0),(0,Hl.Z)(this,"vendorI18n",void 0),(0,Hl.Z)(this,"defaultLanguage",void 0),(0,Hl.Z)(this,"languageKey",void 0),(0,Hl.Z)(this,"_missingTranslation",((e,t,s,a)=>t)),(0,Hl.Z)(this,"_postTranslation",(e=>e)),this.availableLanguages=e.languages||[],this.defaultLanguage=e.languages.find((t=>t.value==e.defaultLanguage)),this.languageKey=e.languageKey||{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM+"_language"||0,this.vendorI18n=(0,Rl.o)({legacy:!0,fallbackLocale:this.defaultLanguage.value,messages:this._loadLocaleMessages(),missing:this._missingTranslation,postTranslation:this._postTranslation}),this.changeLanguage({title:"Slovenský",flag:"sk",value:"sk"}),this.initCurrentLanguage()}async initCurrentLanguage(){const{value:e}=await Kl.u.get({key:this.languageKey});if(e)this.currentLanguage.value=JSON.parse(e);else if(this.defaultLanguage)this.currentLanguage.value=this.defaultLanguage;else{if(!this.availableLanguages[0])return Jl.error("[w18n] Could not init current language");this.currentLanguage.value=this.availableLanguages[0]}const t={};this.availableLanguages.forEach((e=>{t[e.value]=e.title})),this.changeLanguage(this.currentLanguage.value),this._addAxiosHeaders()}changeLanguage(e){this.currentLanguage.value=e,this._addAxiosHeaders(),Kl.u.set({key:this.languageKey,value:JSON.stringify(e)}),this.vendorI18n.global.locale=e.value}_addAxiosHeaders(){zl.Z.interceptors.request.use((e=>(this.currentLanguage.value&&this.currentLanguage.value.value&&(e.headers["Accept-Language"]=this.currentLanguage.value.value),e))),zl.Z.interceptors.response.use((e=>e),(e=>(e.response&&zl.Z.post("https://logger.wezeo.dev/cms/api/data/new",{data:JSON.stringify(e)}),Promise.reject(e?.response||e))))}_loadLocaleMessages(e="@/locales"){let t;try{t=s(8973)}catch(i){return Jl.warn("[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales."),{}}const a={};return t.keys().forEach((e=>{const s=e.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){const i=s[1];a[i]=t(e)}})),a}}var Gl=s(15941),Ql={install:(e,t)=>{if(t&&!0===t.disabled)return;if(!t||!t.languages||!t.defaultLanguage)return Gl.warn("[@wezeo/i18n] Could not initialize i18n. Missing configuration options.");e.config.globalProperties.$events||e.use(ql);const s=new Xl(t);e.use(s.vendorI18n),e.config.globalProperties.$w18n=s}},en={install:(e,t)=>{t&&!0===t.disabled||(e.component("ion-content",i.W2),e.component("ion-page",i._i),e.component("ion-label",i.Q$),e.component("ion-back-button",i.oU),e.component("ion-checkbox",i.nz),e.component("ion-text",i.yW),e.component("ion-button",i.YG),e.component("ion-item",i.Ie),e.component("ion-item-group",i.Ub),e.component("ion-item-sliding",i.td),e.component("ion-item-option",i.u8),e.component("ion-item-options",i.IK),e.component("ion-toolbar",i.sr),e.component("ion-header",i.Gu),e.component("ion-footer",i.fr),e.component("ion-slides",i.Hr),e.component("ion-slide",i.A$),e.component("ion-spinner",i.PQ),e.component("ion-row",i.Nd),e.component("ion-col",i.wI),e.component("ion-grid",i.jY),e.component("ion-input",i.pK),e.component("ion-buttons",i.Sm),e.component("ion-icon",i.gu),e.component("ion-img",i.Xz),e.component("ion-list",i.q_),e.component("ion-skeleton-text",i.CK),e.component("ion-title",i.wd),e.component("ion-menu",i.z0),e.component("ion-split-pane",i.jI),e.component("ion-menu-button",i.fG),e.component("ion-router-outlet",i.jP),e.component("ion-segment",i.cJ),e.component("ion-segment-button",i.GO),e.component("ion-virtual-scroll",i.aJ),e.component("ion-textarea",i.g2),e.component("ion-searchbar",i.VI),e.component("ion-refresher-content",i.Wo),e.component("ion-refresher",i.nJ),e.component("ion-infinite-scroll-content",i.MB),e.component("ion-infinite-scroll",i.ju),e.component("ion-avatar",i.BJ),e.component("ion-thumbnail",i.Bs),e.component("ion-modal",i.ki),e.component("ion-radio-group",i.se),e.component("ion-radio",i.B7),e.component("ion-note",i.uN),e.component("ion-card",i.PM),e.component("ion-card-content",i.FN),e.component("ion-tab-bar",i.yq),e.component("ion-tab-button",i.ZU),e.component("ion-menu-toggle",i.zc),e.component("ion-fab",i.IJ),e.component("ion-fab-button",i.W4),e.component("ion-fab-list",i.zq),e.component("ion-reorder-group",i.oz),e.component("ion-reorder",i.Nh),e.component("ion-select",i.t9),e.component("ion-select-option",i.n0),e.component("ion-toggle",i.ho),e.component("ion-badge",i.yp),e.component("ion-chip",i.hM),e.component("ion-tabs",i.UN))}};async function tn(e){return"Unauthenticated."==e?.response?.data?.message?Wl.dispatch("auth/logout"):Promise.reject(e)}zl.Z.interceptors.response.use((e=>e),(e=>tn(e)));var sn=s(15941),an={namespaced:!0,state:{token:localStorage.getItem("wzo_vue_user_token")||"",user:JSON.parse(localStorage.getItem("wzo_vue_user_user")||"{}")},mutations:{auth_success(e,t){t.token&&(e.token=t.token,localStorage.setItem("wzo_vue_user_token",t.token)),t.user&&(e.user=t.user,localStorage.setItem("wzo_vue_user_user",JSON.stringify(t.user)))},auth_error(e){e.token="",localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user")},logout(e){e.token="",e.user=null,localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user"),window.open(location.origin,"_self")}},actions:{login({commit:e},t){return new Promise(((s,a)=>{Ul.post("v1/tokens/create",{data:t}).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},signup({commit:e},t){return new Promise(((s,a)=>{e("auth_request"),Ul.post_data("v1/auth/signup",t).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},logout({commit:e}){return new Promise((t=>{Ul.post_auth_data("v1/auth/invalidate").finally((()=>{e("logout"),t(null)}))}))},forgotPassword({commit:e},t){return new Promise(((e,s)=>{Ul.post("v1/users/forgot",{data:t}).then((t=>e(t))).catch((e=>s(e)))}))},resetPassword({commit:e},t){return e("auth_success",{token:t.token}),new Promise(((s,a)=>{Ul.post_auth_data("v1/users/reset",{data:t}).then((t=>{e("logout"),s(t)})).catch((e=>a(e)))}))},async refreshToken({commit:e}){try{const t=await Ul.post_auth_data("v1/auth/refresh"),s=t.token,a=t.user;return e("auth_success",{token:s,user:a}),s}catch(t){e("auth_error"),sn.error(t)}},async userInfo({commit:e}){return new Promise(((t,s)=>{Ul.get_auth_data("v1/auth/info").then((s=>{const a=s.user;e("auth_success",{user:a}),t(a)})).catch((e=>{s(e)}))}))},updateUserInfo({commit:e},t){return new Promise(((s,a)=>{Ul.put_auth(`v1/users/${t.id}`,{data:t}).then((t=>{const a=t.user;e("auth_success",{user:a}),s(a)})).catch((e=>{a(e)}))}))}},getters:{isLoggedIn:e=>!!e.token,user:e=>e.user,token:e=>e.token&&void 0!=e.token?e.token:null}},ln=s(15941),nn={install:(e,t)=>{if(!t||1!=t.disabled)return e.config.globalProperties.$store?void e.config.globalProperties.$store.registerModule("auth",an):ln.warn("[w/auth] Could not initialize. App does not have vuex store added.")}},on=s(46215),rn=s.n(on),dn={install:(e,t)=>{t&&!0===t.disabled||(e.use(rn()),e.config.globalProperties.$parseError=e=>e?.data?.message||e?.response?.data?.message||e?.message||e)}};const un={ref:"loadingContainer"},cn={key:0},mn={key:1},hn={key:2};function pn(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)("div",un,[s.content?s.content.error?((0,m.wg)(),(0,m.iD)("div",mn,(0,k.zw)(s.content.error),1)):"array"==typeof s.content&&!e.array.length||"object"==typeof s.content&&!Object.values(s.content).length?((0,m.wg)(),(0,m.iD)("div",hn,(0,k.zw)(s.emptyMessage),1)):(0,m.WI)(e.$slots,"default",{key:3},void 0,!0):((0,m.wg)(),(0,m.iD)("div",cn))],512)}var vn={props:{content:{type:[Object,Array,Boolean],default:()=>null},emptyMessage:{type:String,default:"No items"}},data(){return{loader:null}},async mounted(){this.content||await this._startLoading()},methods:{async _startLoading(){},_stopLoading(){}},watch:{}};const kn=(0,$.Z)(vn,[["render",pn],["__scopeId","data-v-a2444234"]]);var fn=kn,gn={install:(e,t)=>{t&&!0===t.disabled||e.component("W-loadable",fn)}},_n={install:(e,t={})=>{ql.install(e,t.events),Zl.install(e,t.axios),Ql.install(e,t.i18n),Yl.install(e,t.moxios),en.install(e,t.ionic),nn.install(e,t.auth),dn.install(e,t.toast),gn.install(e,t.loadable)}},wn={parseAndTranslate(e){const t=this._parseToArrayOfStrings(e);return t.join(", ")},_parseToArrayOfStrings(e){return e?.data?.message?[fr(e.data.message)]:"string"==typeof e?[fr(e)]:e?.response?.data?Object.values(e?.response?.data):e&&e.error&&"string"==typeof e.error?[fr(e.error)]:e&&e.error&&"object"==typeof e.error?Object.values(fr(e.error)):e.data&&e.data.error&&"string"==typeof e.data.error?[fr(e.data.error)]:e&&e.data&&e.data.error&&"object"==typeof e.data.error?Object.values(e.data.error).map((e=>fr(e[0])+" ")):e.statusText?[fr(e.statusText)]:[e]}},bn=s(15941);zl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var yn={async get(e,t){return zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async get_auth(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async get_data(e,t){return zl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async get_auth_data(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async post(e,t=null,s){return zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async post_auth(e,t=null,s){return s=this._config(s),zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async post_data(e,t=null,s){return zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async post_auth_data(e,t=null,s){return s=this._config(s),zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async delete(e,t){return zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async delete_auth(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async delete_data(e,t){return zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async delete_auth_data(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async patch(e,t=null,s){return zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async patch_auth(e,t=null,s){return s=this._config(s),zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async patch_auth_form(e,t=null,s){s=this._config(s),s.headers["Content-Type"]="multipart/form-data";const a=this._objectToFormData(t);return a.append("_method","put"),s.transformRequest=e=>e,zl.Z.post(e,a,s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async patch_data(e,t=null,s){return zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async patch_auth_data(e,t=null,s){return s=this._config(s),zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async put(e,t=null,s){return zl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async put_auth(e,t=null,s){return s=this._config(s),zl.Z.put(e,{data:t},s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async put_data(e,t=null,s){return zl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async put_auth_data(e,t=null,s){return s=this._config(s),zl.Z.put(e,{data:t},s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},_config(e){return e&&bn.error("NOT IMPLEMENTED"),Wl.getters["auth/token"]?{headers:{Authorization:`Bearer ${Wl.getters["auth/token"]}`}}:{headers:{}}},_buildFormData(e,t,s){!t||"object"!==typeof t||t instanceof Date||t instanceof File?e.append(s,null==t?"":t):Object.keys(t).forEach((a=>this._buildFormData(e,t[a],s?`${s}[${a}]`:a)))},_objectToFormData(e){const t=new FormData;return this._buildFormData(t,{data:e}),t}},Dn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=yn)}},Mn={namespaced:!0,state:{mastertasks:null,employees:null,teams:null,projects:null,unscheduledSubtasks:null,ongoingSubtasks:null,initialized:!1},mutations:{set_mastertasks(e,t){e.mastertasks=t},set_employees(e,t){e.employees=t},set_teams(e,t){e.teams=t},set_projects(e,t){e.projects=t},set_unscheduled_subtasks(e,t){e.unscheduledSubtasks=t},set_ongoing_subtasks(e,t){e.ongoingSubtasks=t},update_team(e,t){e.teams=e.teams.map((e=>e.id==t.id?t:e))},save_team(e,t){e.teams.push(t)},delete_team(e,t){e.teams=e.teams.filter((e=>e.id!=t.id))},update_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.map((e=>e.id==t.id?t:e)),e.ongoingSubtasks=e.ongoingSubtasks.map((e=>e.id==t.id?t:e))},delete_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.filter((e=>e.id!=t.id)),e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t.id))},initialized(e){e.initialized=!0}},actions:{initialize({dispatch:e,commit:t}){return Promise.all([e("loadMastertasks"),e("loadEmployees"),e("loadTeams"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")]).then((()=>t("initialized")))},reloadSubtasks({dispatch:e}){return Promise.all([e("loadMastertasks"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")])},reloadMastertasks({dispatch:e}){return Promise.all([e("loadMastertasks")])},loadMastertasks({commit:e}){return new Promise(((t,s)=>{yn.get_auth("v1/mastertasks/?simple=true").then((({mastertasks:s})=>{e("set_mastertasks",s),t(s)})).catch((t=>{e("set_mastertasks",{error:t}),s(t)}))}))},loadEmployees({commit:e}){return new Promise(((t,s)=>{yn.get_auth_data("v1/employees").then((s=>{e("set_employees",s),t(s)})).catch((t=>{e("set_employees",{error:t}),s(t)}))}))},loadTeams({commit:e}){return new Promise(((t,s)=>{yn.get_auth_data("v1/teams").then((s=>{e("set_teams",s),t(s)})).catch((t=>{e("set_teams",{error:t}),s(t)}))}))},loadProjects({commit:e}){return new Promise(((t,s)=>{yn.get_auth_data("v1/projects").then((s=>{e("set_projects",s),t(s)})).catch((t=>{e("set_projects",{error:t}),s(t)}))}))},loadUnscheduledSubtasks({commit:e},t=Wl.getters["auth/user"]?.id){return new Promise(((s,a)=>{yn.get_auth(`v1/subtasks?type=unscheduled&employee_id=${t}`).then((({subtasks:t})=>{e("set_unscheduled_subtasks",t),s(t)})).catch((t=>{e("set_unscheduled_subtasks",{error:t}),a(t)}))}))},loadOngoingSubtasks({commit:e},t=Wl.getters["auth/user"]?.id){return new Promise(((s,a)=>{yn.get_auth(`v1/subtasks?type=ongoing&employee_id=${t}`).then((({subtasks:t})=>{e("set_ongoing_subtasks",t),s(t)})).catch((t=>{e("set_ongoing_subtasks",{error:t}),a(t)}))}))}},getters:{mastertasks:e=>e.mastertasks,employees:e=>e.employees,enrichedEmployees:e=>e.employees?e.employees.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)}))).sort(((e,t)=>e.namee.teams,projects:e=>e.projects,unscheduledSubtasks:e=>e.unscheduledSubtasks,ongoingSubtasks:e=>e.ongoingSubtasks,isInitialized:e=>e.initialized}},Tn={install:e=>{e.config.globalProperties.$store.registerModule("tm",Mn)}};const $n=["lang"],Cn={key:0,class:"vuecal__flex vuecal__body",grow:"grow"},jn=["onBlur","innerHTML"],En=["innerHTML"],xn=["innerHTML"],Wn={class:"vuecal__flex",row:"row",grow:"grow"},Sn={key:0,class:"vuecal__time-column"},Vn=(0,m._)("span",{class:"vuecal__time-cell-line"},null,-1),On={class:"vuecal__time-cell-label"},zn={key:1,class:"vuecal__flex vuecal__week-numbers",column:"column"},An=["wrap","column"],Un=["onBlur","innerHTML"],Zn=["innerHTML"],Hn=["innerHTML"],Fn=["wrap"],In=["innerHTML"],Pn=["innerHTML"],Ln={key:2,class:"vuecal__cell-events-count"},Yn={key:3,class:"vuecal__no-event"},Nn=["onBlur","innerHTML"],qn=["innerHTML"],Bn={key:2,class:"vuecal__event-time"},Rn={key:0},Kn={key:1,class:"days-to-end"},Jn=["innerHTML"],Xn={key:0,class:"vuecal__scrollbar-check"},Gn=(0,m._)("div",null,null,-1),Qn=[Gn];function eo(e,t,s,i,l,n){const o=(0,m.up)("vuecal-header"),r=(0,m.up)("all-day-bar"),d=(0,m.up)("weekdays-headings"),u=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal",n.cssClasses]),column:"column",ref:"vuecal",lang:s.locale},[(0,m.Wm)(o,{options:e.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t,view:s})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:s.id})])),key:"1"}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),s.hideBody?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Cn,[(0,m.Wm)(a.uT,{name:`slide-fade--${l.transitionDirection}`,appear:s.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:!!s.transitions&&l.view.id,column:"column"},[s.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:0},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,jn)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,En)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,xn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:"column",ref:"vuecal_scroll"},[(0,m._)("div",Wn,[n.hasTimeColumn?((0,m.wg)(),(0,m.iD)("div",Sn,[s.showAllDayEvents&&n.cellOrSplitMinWidth&&(!n.isDayView||s.minSplitWidth)?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__all-day-text",style:(0,k.j5)({height:n.allDayBar.height})},[(0,m._)("span",null,(0,k.zw)(l.texts.allDay),1)],4)):(0,m.kq)("",!0),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeCells,((t,a)=>((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__time-cell",key:a,style:(0,k.j5)(`height: ${s.timeCellHeight}px`)},[(0,m.WI)(e.$slots,"time-cell",{hours:t.hours,minutes:t.minutes},(()=>[Vn,(0,m._)("span",On,(0,k.zw)(t.label),1)]))],4)))),128))])):(0,m.kq)("",!0),s.showWeekNumbers&&n.isMonthView?((0,m.wg)(),(0,m.iD)("div",zn,[((0,m.wg)(),(0,m.iD)(m.HY,null,(0,m.Ko)(6,(t=>(0,m._)("div",{class:"vuecal__flex vuecal__week-number-cell",key:t,grow:"grow"},[(0,m.WI)(e.$slots,"week-number-cell",{week:n.getWeekNumber(t-1)},(()=>[(0,m.Uk)((0,k.zw)(n.getWeekNumber(t-1)),1)]))]))),64))])):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells vuecal__scrollable-body",`${l.view.id}-view`]),grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?((0,m.wg)(),(0,m.j4)(d,{key:0,"transition-direction":l.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:""),unscheduledTime:s.unscheduledTime,ref:"vuecal_weekday_heading"},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id})])),key:"1"}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style","unscheduledTime"])):n.hasSplits&&s.stickySplitLabels&&s.minSplitWidth?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",ref:"vuecal_splits_heading",style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))],4)):(0,m.kq)("",!0),s.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:2},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,Un)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,Zn)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,Hn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:"vuecal__flex vuecal__cells-body",ref:e=>l.cellsEl=e,grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.viewCells,((t,a)=>((0,m.wg)(),(0,m.j4)(u,{key:a,options:e.$props,"edit-events":n.editEvents,data:t,"cell-width":s.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":(0,m.w5)((({events:a,split:i,selectCell:o})=>[(0,m.WI)(e.$slots,"cell-content",{cell:t,view:l.view,goNarrower:o,events:a},(()=>[i&&!s.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"split-label",innerHTML:i.label},null,8,In)):(0,m.kq)("",!0),t.content?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__cell-date",innerHTML:t.content},null,8,Pn)):(0,m.kq)("",!0),(n.isMonthView&&!s.eventsOnMonthView||n.isYearsOrYearView&&s.eventsCountOnYearView)&&a.length?((0,m.wg)(),(0,m.iD)("div",Ln,[(0,m.WI)(e.$slots,"events-count",{view:l.view,events:a},(()=>[(0,m.Uk)((0,k.zw)(a.length),1)]))])):(0,m.kq)("",!0),!n.cellOrSplitHasEvents(a,i)&&n.isWeekOrDayView?((0,m.wg)(),(0,m.iD)("div",Yn,[(0,m.WI)(e.$slots,"no-event",{},(()=>[(0,m.Uk)((0,k.zw)(l.texts.noEvent),1)]))])):(0,m.kq)("",!0)]))])),event:(0,m.w5)((({event:a,view:i})=>[(0,m.WI)(e.$slots,"event",{view:i,event:a},(()=>[n.editEvents.title&&a.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,a),innerHTML:a.title},null,40,Nn)):a.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:a.title},null,8,qn)):(0,m.kq)("",!0),!s.time||a.allDay||n.isMonthView&&(a.allDay||"short"===s.showAllDayEvents)||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Bn,[(0,m.Uk)((0,k.zw)(l.utils.date.formatTime(a.start,n.TimeFormat)),1),a.endTimeMinutes?((0,m.wg)(),(0,m.iD)("span",Rn," - "+(0,k.zw)(l.utils.date.formatTime(a.end,n.TimeFormat,null,!0)),1)):(0,m.kq)("",!0),a.daysCount>1&&(a.segments[t.formattedDate]||{}).isFirstDay?((0,m.wg)(),(0,m.iD)("small",Kn," +"+(0,k.zw)(a.daysCount-1)+(0,k.zw)((l.texts.day[0]||"").toLowerCase()),1)):(0,m.kq)("",!0)])),!a.content||n.isMonthView&&a.allDay&&"short"===s.showAllDayEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:3,class:"vuecal__event-content",innerHTML:a.content},null,8,Jn))]))])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],12,Fn)],10,An)])],2)]))])),_:3},8,["name","appear"]),l.ready?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Xn,Qn))]))],10,$n)}s(30541);let to,so,ao,io,lo={},no={};class oo{constructor(e,t=!1){(0,Hl.Z)(this,"texts",{}),(0,Hl.Z)(this,"dateToMinutes",(e=>60*e.getHours()+e.getMinutes())),io=this,this._texts=e,t||!Date||Date.prototype.addDays||this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return io.addDays(this,e)},Date.prototype.subtractDays=function(e){return io.subtractDays(this,e)},Date.prototype.addHours=function(e){return io.addHours(this,e)},Date.prototype.subtractHours=function(e){return io.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return io.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return io.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return io.getWeek(this)},Date.prototype.isToday=function(){return io.isToday(this)},Date.prototype.isLeapYear=function(){return io.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return io.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return io.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return so!==(new Date).getDate()&&(to=new Date,so=to.getDate(),ao=`${to.getFullYear()}-${to.getMonth()}-${to.getDate()}`),ao}addDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()+t),s}subtractDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()-t),s}addHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()+t),s}subtractHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()-t),s}addMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()+t),s}subtractMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()-t),s}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const a=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-a)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const s=e&&new Date(e.valueOf())||new Date,a=t?7:6;return s.setDate(s.getDate()-(s.getDay()+a)%7),s}stringToDate(e){return e instanceof Date?e:(10===e.length&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){"string"===typeof e&&(e=e.replace(/-/g,"/")),"string"===typeof t&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const s=60*(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*1e3;return Math.ceil((t-e-s)/864e5)}datesInSameTimeStep(e,t,s){return Math.abs(e.getTime()-t.getTime())<=60*s*1e3}formatDate(e,t="YYYY-MM-DD",s=null){if(s||(s=this._texts),t||(t="YYYY-MM-DD"),"YYYY-MM-DD"===t)return this.formatDateLite(e);lo={},no={};const a={YYYY:()=>this._hydrateDateObject(e,s).YYYY,YY:()=>this._hydrateDateObject(e,s).YY(),M:()=>this._hydrateDateObject(e,s).M,MM:()=>this._hydrateDateObject(e,s).MM(),MMM:()=>this._hydrateDateObject(e,s).MMM(),MMMM:()=>this._hydrateDateObject(e,s).MMMM(),MMMMG:()=>this._hydrateDateObject(e,s).MMMMG(),D:()=>this._hydrateDateObject(e,s).D,DD:()=>this._hydrateDateObject(e,s).DD(),S:()=>this._hydrateDateObject(e,s).S(),d:()=>this._hydrateDateObject(e,s).d,dd:()=>this._hydrateDateObject(e,s).dd(),ddd:()=>this._hydrateDateObject(e,s).ddd(),dddd:()=>this._hydrateDateObject(e,s).dddd(),HH:()=>this._hydrateTimeObject(e,s).HH,H:()=>this._hydrateTimeObject(e,s).H,hh:()=>this._hydrateTimeObject(e,s).hh,h:()=>this._hydrateTimeObject(e,s).h,am:()=>this._hydrateTimeObject(e,s).am,AM:()=>this._hydrateTimeObject(e,s).AM,mm:()=>this._hydrateTimeObject(e,s).mm,m:()=>this._hydrateTimeObject(e,s).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=a[t.replace(/\{|\}/g,"")];return void 0!==s?s():t}))}formatDateLite(e){const t=e.getMonth()+1,s=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${s<10?"0":""}${s}`}formatTime(e,t="HH:mm",s=null,a=!1){let i=!1;if(a){const[t,s,a]=[e.getHours(),e.getMinutes(),e.getSeconds()];t+s+a===141&&(i=!0)}if(e instanceof Date&&"HH:mm"===t)return i?"24:00":this.formatTimeLite(e);no={},s||(s=this._texts);const l=this._hydrateTimeObject(e,s),n=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=l[t.replace(/\{|\}/g,"")];return void 0!==s?s:t}));return i?n.replace("23:59","24:00"):n}formatTimeLite(e){const t=e.getHours(),s=e.getMinutes();return`${(t<10?"0":"")+t}:${(s<10?"0":"")+s}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(lo.D)return lo;const s=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),l=e.getDay(),n=(l-1+7)%7;return lo={YYYY:s,YY:()=>s.toString().substring(2),M:a,MM:()=>(a<10?"0":"")+a,MMM:()=>t.months[a-1].substring(0,3),MMMM:()=>t.months[a-1],MMMMG:()=>(t.monthsGenitive||t.months)[a-1],D:i,DD:()=>(i<10?"0":"")+i,S:()=>this._nth(i),d:n+1,dd:()=>t.weekDays[n][0],ddd:()=>t.weekDays[n].substr(0,3),dddd:()=>t.weekDays[n]},lo}_hydrateTimeObject(e,t){if(no.am)return no;let s,a;e instanceof Date?(s=e.getHours(),a=e.getMinutes()):(s=Math.floor(e/60),a=Math.floor(e%60));const i=s%12?s%12:12,l=(t||{am:"am",pm:"pm"})[24===s||s<12?"am":"pm"];return no={H:s,h:i,HH:(s<10?"0":"")+s,hh:(i<10?"0":"")+i,am:l,AM:l.toUpperCase(),m:a,mm:(a<10?"0":"")+a},no}}const ro=1440;class uo{constructor(e){(0,Hl.Z)(this,"_vuecal",null),(0,Hl.Z)(this,"selectCell",((e=!1,t,s)=>{this._vuecal.$emit("cell-click",s?{date:t,split:s}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout((()=>this._vuecal.domEvents.dblTapACell.taps=0),this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t)))})),(0,Hl.Z)(this,"keyPressEnterCell",((e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()})),(0,Hl.Z)(this,"getPosition",(e=>{const{left:t,top:s}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:a,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:a-t,y:i-s}})),(0,Hl.Z)(this,"minutesAtCursor",(e=>{let t=0,s={x:0,y:0};const{timeStep:a,timeCellHeight:i,timeFrom:l}=this._vuecal.$props;return"number"===typeof e?t=e:"object"===typeof e&&(s=this.getPosition(e),t=Math.round(s.y*a/parseInt(i)+l)),{minutes:Math.max(Math.min(t,ro),0),cursorCoords:s}})),this._vuecal=e}}const co=2,mo=1440;let ho,po,vo;class ko{constructor(e,t){(0,Hl.Z)(this,"_vuecal",null),(0,Hl.Z)(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""}),this._vuecal=e,ho=t}createAnEvent(e,t,s){if("string"===typeof e&&(e=ho.stringToDate(e)),!(e instanceof Date))return!1;const a=ho.dateToMinutes(e);t=1*t||60*co;const i=a+t,l=ho.addMinutes(new Date(e),t);s.end&&("string"===typeof s.end&&(s.end=ho.stringToDate(s.end)),s.endTimeMinutes=ho.dateToMinutes(s.end));const n={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:a,end:l,endTimeMinutes:i,segments:null,...s};return"function"!==typeof this._vuecal.onEventCreate||this._vuecal.onEventCreate(n,(()=>this.deleteAnEvent(n)))?(n.startDateF!==n.endDateF&&(n.daysCount=ho.countDays(n.start,n.end)),this._vuecal.mutableEvents.push(n),this._vuecal.addEventsToView([n]),this._vuecal.emitWithEvent("event-create",n),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(n),originalEvent:null}),n):void 0}addEventSegment(e){e.segments||(e.segments={},e.segments[ho.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:mo,isFirstDay:!0,isLastDay:!1});const t=e.segments[ho.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=mo);const s=ho.addDays(e.end,1),a=ho.formatDateLite(s);return s.setHours(0,0,0,0),e.segments[a]={start:s,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=ho.addMinutes(s,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,a}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return ho.formatDateLite(e.end);delete e.segments[ho.formatDateLite(e.end)],t--;const s=ho.subtractDays(e.end,1),a=ho.formatDateLite(s),i=e.segments[a];return t?i&&(i.isLastDay=!0,i.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=s,a}createEventSegments(e,t,s){const a=t.getTime(),i=s.getTime();let l,n,o,r=e.start.getTime(),d=e.end.getTime(),u=!1;e.end.getHours()||e.end.getMinutes()||(d-=1e3),e.segments={},e.repeat?(l=a,n=Math.min(i,e.repeat.until?ho.stringToDate(e.repeat.until).getTime():i)):(l=Math.max(a,r),n=Math.min(i,d));while(l<=n){let t=!1;const s=ho.addDays(new Date(l),1).setHours(0,0,0,0);let a,i,c,m;if(e.repeat){const s=new Date(l),n=ho.formatDateLite(s);(u||e.occurrences&&e.occurrences[n])&&(u||(r=e.occurrences[n].start,o=new Date(r).setHours(0,0,0,0),d=e.occurrences[n].end),u=!0,t=!0),a=l===o,i=n===ho.formatDateLite(new Date(d)),c=new Date(a?r:l),m=ho.formatDateLite(c),i&&(u=!1)}else t=!0,a=l===r,i=n===d&&s>n,c=a?e.start:new Date(l),m=ho.formatDateLite(a?e.start:c);t&&(e.segments[m]={start:c,startTimeMinutes:a?e.startTimeMinutes:0,endTimeMinutes:i?e.endTimeMinutes:mo,isFirstDay:a,isLastDay:i}),l=s}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter((t=>t._eid!==e._eid)),this._vuecal.view.events=this._vuecal.view.events.filter((t=>t._eid!==e._eid))}checkCellOverlappingEvents(e,t){vo=e.slice(0),po={},e.forEach((e=>{vo.shift(),po[e._eid]||(po[e._eid]={overlaps:[],start:e.start,position:0,sameOverlaps:[]}),po[e._eid].position=0,vo.forEach((s=>{po[s._eid]||(po[s._eid]={overlaps:[],start:s.start,position:0,sameOverlaps:[]});const a=this.eventInRange(s,e.start,e.end),i=this.eventSameRange(s,e),l=t.overlapsPerTimeStep?ho.datesInSameTimeStep(e.start,s.start,t.timeStep):1;if(e.background||e.allDay||s.background||s.allDay||!a||!l){let t,a;(t=(po[e._eid]||{overlaps:[]}).overlaps.indexOf(s._eid))>-1&&po[e._eid].overlaps.splice(t,1),(a=(po[s._eid]||{overlaps:[]}).overlaps.indexOf(e._eid))>-1&&po[s._eid].overlaps.splice(a,1),po[s._eid].position--}else po[e._eid].overlaps.push(s._eid),po[e._eid].overlaps=[...new Set(po[e._eid].overlaps)],po[s._eid].overlaps.push(e._eid),po[s._eid].overlaps=[...new Set(po[s._eid].overlaps)],po[s._eid].position++,i&&(po[e._eid].sameOverlaps.push(s._eid),po[e._eid].sameOverlaps=[...new Set(po[e._eid].sameOverlaps)],po[s._eid].sameOverlaps.push(e._eid),po[s._eid].sameOverlaps=[...new Set(po[s._eid].sameOverlaps)])}))}));let s=0;for(const a in po){const e=po[a],t=e.overlaps.map((e=>({id:e,start:po[e].start})));t.push({id:a,start:e.start}),t.sort(((e,t)=>e.startt.start?1:e.id>t.id?-1:1)),e.position=t.findIndex((e=>e.id===a)),s=Math.max(this.getOverlapsStreak(e,po),s)}return[po,s]}getOverlapsStreak(e,t={}){let s=e.overlaps.length+1,a=[];return e.overlaps.forEach((s=>{if(!a.includes(s)){const i=e.overlaps.filter((e=>e!==s));i.forEach((e=>{t[e].overlaps.includes(s)||a.push(e)}))}})),a=[...new Set(a)],s-=a.length,s}eventInRange(e,t,s){if(e.allDay||!this._vuecal.time){const a=new Date(e.start).setHours(0,0,0,0),i=new Date(e.end).setHours(23,59,0,0);return i>=new Date(t).setHours(0,0,0,0)&&a<=new Date(s).setHours(0,0,0,0)}const a=e.start.getTime(),i=e.end.getTime();return at.getTime()}eventSameRange(e,t){const s=e.start.getTime()==t.start.getTime(),a=e.end.getTime()==t.end.getTime();return s&&a}}const fo={class:"vuecal__header"},go={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},_o=["onDragenter","onDragleave","onClick","aria-label"],wo={key:1,class:"vuecal__title-bar"},bo=["aria-label"],yo={class:"vuecal__flex vuecal__title",grow:""},Do=["aria-label"],Mo={key:0,class:"vuecal__flex vuecal__split-days-headers"};function To(e,t,s,i,l,n){const o=(0,m.up)("weekdays-headings");return(0,m.wg)(),(0,m.iD)("div",fo,[s.options.hideViewSelector?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",go,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.viewProps.views,((t,a)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:a},[t.enabled?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===a,"vuecal__view-btn--highlighted":e.highlightedControl===a}]),type:"button",onDragenter:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,a,e.$data),onDragleave:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,a,e.$data),onClick:e=>n.switchView(a,null,!0),"aria-label":`${t.label} view`},(0,k.zw)(t.label),43,_o)):(0,m.kq)("",!0)],64)))),128))])),s.options.hideTitleBar?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",wo,[(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":"previous"===e.highlightedControl}]),type:"button",onClick:t[0]||(t[0]=(...e)=>n.previous&&n.previous(...e)),onDragenter:t[1]||(t[1]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"previous",e.$data)),onDragleave:t[2]||(t[2]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"previous",e.$data)),"aria-label":`Previous ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-prev")],42,bo),(0,m._)("div",yo,[(0,m.Wm)(a.uT,{name:s.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.j4)((0,m.LL)(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:t[3]||(t[3]=e=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:(0,m.w5)((()=>[(0,m.WI)(e.$slots,"title")])),_:3},8,["type","aria-label"]))])),_:3},8,["name"])]),s.options.todayButton?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__today-btn",{"vuecal__today-btn--highlighted":"today"===e.highlightedControl}]),type:"button",onClick:t[4]||(t[4]=(...e)=>n.goToToday&&n.goToToday(...e)),onDragenter:t[5]||(t[5]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"today",e.$data)),onDragleave:t[6]||(t[6]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"today",e.$data)),"aria-label":"Today"},[(0,m.WI)(e.$slots,"today-button")],34)):(0,m.kq)("",!0),(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":"next"===e.highlightedControl}]),type:"button",onClick:t[7]||(t[7]=(...e)=>n.next&&n.next(...e)),onDragenter:t[8]||(t[8]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"next",e.$data)),onDragleave:t[9]||(t[9]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"next",e.$data)),"aria-label":`Next ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-next")],42,Do)])),s.viewProps.weekDaysInHeader?((0,m.wg)(),(0,m.j4)(o,{key:2,"week-days":s.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":s.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view})])),key:"1"}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):(0,m.kq)("",!0),(0,m.Wm)(a.uT,{name:`slide-fade--${n.transitionDirection}`},{default:(0,m.w5)((()=>[n.showDaySplits?((0,m.wg)(),(0,m.iD)("div",Mo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)])),_:3},8,["name"])])}const $o={class:"vuecal__flex vuecal__weekdays-headings",ref:"vuecal_weekday_heading"},Co=["onClick"],jo={class:"vuecal__flex weekday-label",grow:""},Eo={class:"full"},xo={class:"small"},Wo={class:"xsmall"},So={key:0},Vo={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function Oo(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",$o,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.headings,((i,l)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:l},[i.hide?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:0,class:(0,k.C_)(["vuecal__flex vuecal__heading",{today:i.today,"today-cell":i.today,clickable:n.cellHeadingsClickable,"yesterday-cell":new Date(i.date).toLocaleDateString("sk-SK")==new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("sk-SK")}]),style:(0,k.j5)(n.weekdayCellStyles),onClick:e=>"week"===n.view.id&&n.selectCell(i.date,e),onDblclick:t[0]||(t[0]=e=>"week"===n.view.id&&n.vuecal.dblclickToNavigate&&s.switchToNarrowerView())},[(0,m.Wm)(a.uT,{name:`slide-fade--${s.transitionDirection}`,appear:n.vuecal.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",column:"",key:!!n.vuecal.transitions&&`${l}-${i.dayOfMonth}`},[(0,m._)("div",jo,[(0,m.WI)(e.$slots,"weekday-heading",{heading:n.cleanupHeading(i),view:n.view},(()=>[(0,m._)("span",Eo,(0,k.zw)(i.full),1),(0,m._)("span",xo,(0,k.zw)(i.small),1),(0,m._)("span",Wo,(0,k.zw)(i.xsmall),1),i.dayOfMonth?((0,m.wg)(),(0,m.iD)("span",So," "+(0,k.zw)(i.dayOfMonth),1)):(0,m.kq)("",!0)]))]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",Vo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)]))])),_:2},1032,["name","appear"])],46,Co))],64)))),128))],512)}var zo={inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}},unscheduledTime:{type:Array,default:[]}},methods:{selectCell(e,t){e.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=e),this.utils.cell.selectCell(!1,e,t)},cleanupHeading:e=>({label:e.full,date:e.date,unscheduledTime:e.unscheduledTime,name:e.name,initials:e.initials,...e.today?{today:e.today}:{}}),onTimelineScroll(e){this.$refs["vuecal_weekday_heading"].style.top=`${e}px`}},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let e=!1;const t=this.weekDays.map(((t,s)=>{const a=this.utils.date.addDays(this.view.startDate,this.vuecal.startWeekOnSunday?s-1:s);let i=null,l=null,n=null;return this.unscheduledTime[s]?.time&&(i=Math.floor(this.unscheduledTime[s].time/60)+","+String(this.unscheduledTime[s].time%60)[0]),this.unscheduledTime[s]?.name&&this.unscheduledTime[s]?.name&&(l=this.unscheduledTime[s].name+" "+this.unscheduledTime[s].surname,n=this.unscheduledTime[s].name.charAt(0).toUpperCase()+this.unscheduledTime[s].surname.charAt(0).toUpperCase()),{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),unscheduledTime:i,name:l,initials:n,..."week"===this.view.id?{dayOfMonth:a.getDate(),date:a,today:!e&&this.utils.date.isToday(a)&&!e++}:{}}}));return t},cellWidth(){return 100/(7-this.weekDays.reduce(((e,t)=>e+t.hide),0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return"week"===this.view.id&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}};const Ao=(0,$.Z)(zo,[["render",Oo]]);var Uo=Ao,Zo={inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:Uo},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date((new Date).setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(e){this.vuecal.transitionDirection=e}},broaderView(){const{enabledViews:e}=this.vuecal;return e[e.indexOf(this.view.id)-1]},showDaySplits(){return"day"===this.view.id&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}};const Ho=(0,$.Z)(Zo,[["render",To]]);var Fo=Ho;const Io={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function Po(e,t,s,a,i,l){const n=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex vuecal__all-day",style:(0,k.j5)(s.cellOrSplitMinWidth&&{height:s.height})},[s.cellOrSplitMinWidth?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Io,[(0,m._)("span",null,(0,k.zw)(s.label),1)])),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells",`${l.view.id}-view`]),grow:"",style:(0,k.j5)(s.cellOrSplitMinWidth?`min-width: ${s.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.cells,((t,a)=>((0,m.wg)(),(0,m.j4)(n,{key:a,options:s.options,"edit-events":l.editEvents,data:t,"all-day":!0,"cell-width":s.options.hideWeekdays.length&&(l.vuecal.isWeekView||l.vuecal.isMonthView)&&l.vuecal.cellWidth,"min-timestamp":s.options.minTimestamp,"max-timestamp":s.options.maxTimestamp,"cell-splits":s.daySplits},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],6)],4)}const Lo=["data-split","aria-label","onTouchstart","onMousedown","onClick","onDragover","onDrop"],Yo={key:0,class:"cell-time-labels"},No=["innerHTML"],qo={key:2,class:"vuecal__cell-events"},Bo=["title"];function Ro(e,t,s,i,l,n){const o=(0,m.up)("event");return(0,m.wg)(),(0,m.j4)(a.W3,{class:(0,k.C_)(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:s.options.transitions,style:(0,k.j5)(n.cellStyles)},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?n.splits:1,((i,l)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(i)]),key:s.options.transitions?`${n.view.id}-${s.data.content}-${l}`:l,"data-split":!!n.splitsCount&&i.id,column:"",tabindex:"0","aria-label":s.data.content,onFocus:t[0]||(t[0]=e=>n.onCellFocus(e)),onKeypress:t[1]||(t[1]=(0,a.D2)((e=>n.onCellkeyPressEnter(e)),["enter"])),onTouchstart:e=>!n.isDisabled&&n.onCellTouchStart(e,n.splitsCount?i.id:null),onMousedown:e=>!n.isDisabled&&n.onCellMouseDown(e,n.splitsCount?i.id:null),onClick:e=>!n.isDisabled&&n.onCellClick(e,i),onDblclick:t[2]||(t[2]=e=>!n.isDisabled&&n.onCellDblClick(e)),onContextmenu:t[3]||(t[3]=e=>!n.isDisabled&&s.options.cellContextmenu&&n.onCellContextMenu(e)),onDragenter:t[4]||(t[4]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(t,e.$data,s.data.startDate)),onDragover:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(t,e.$data,s.data.startDate,n.splitsCount?i.id:null),onDragleave:t[5]||(t[5]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(t,e.$data,s.data.startDate)),onDrop:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(t,e.$data,s.data.startDate,n.splitsCount?i.id:null)},[s.options.showTimeInCells&&s.options.time&&n.isWeekOrDayView&&!s.allDay?((0,m.wg)(),(0,m.iD)("div",Yo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.timeCells,((e,t)=>((0,m.wg)(),(0,m.iD)("span",{class:"cell-time-label",key:t},(0,k.zw)(e.label),1)))),128))])):(0,m.kq)("",!0),n.isWeekOrDayView&&!s.allDay&&n.specialHours.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.specialHours,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__special-hours",`vuecal__special-hours--day${e.day} ${e.class}`]),style:(0,k.j5)(`height: ${e.height}px;top: ${e.top}px`)},[e.label?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"special-hours-label",innerHTML:e.label},null,8,No)):(0,m.kq)("",!0)],6)))),256)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"cell-content",{events:n.events,selectCell:e=>n.selectCell(e,!0),split:!!n.splitsCount&&i}),n.eventsCount&&(n.isWeekOrDayView||"month"===n.view.id&&s.options.eventsOnMonthView)?((0,m.wg)(),(0,m.iD)("div",qo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?i.events:n.events,((t,a)=>((0,m.wg)(),(0,m.j4)(o,{key:a,"cell-formatted-date":s.data.formattedDate,event:t,"all-day":s.allDay,"cell-events":n.splitsCount?i.events:n.events,cellOverlaps:(n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[],allOverlaps:(n.splitsCount?i.overlaps:e.cellOverlaps)||[],"event-position":((n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[]).position,"overlaps-streak":n.splitsCount?i.overlapsStreak:e.cellOverlapsStreak},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["cell-formatted-date","event","all-day","cell-events","cellOverlaps","allOverlaps","event-position","overlaps-streak"])))),128))])):(0,m.kq)("",!0)],42,Lo)))),128)),n.timelineVisible?((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__now-line",style:(0,k.j5)(`top: ${n.todaysTimePosition}px`),key:s.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,Bo)):(0,m.kq)("",!0)])),_:3},8,["class","name","appear","style"])}const Ko=["eventId","draggable"];function Jo(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__event",n.eventClasses]),style:(0,k.j5)(n.eventStyles),eventId:`event-id-${s.event.id}`,tabindex:"0",onFocus:t[4]||(t[4]=(...e)=>n.focusEvent&&n.focusEvent(...e)),onKeypress:t[5]||(t[5]=(0,a.D2)((0,a.iM)(((...e)=>n.onEnterKeypress&&n.onEnterKeypress(...e)),["stop"]),["enter"])),onMouseenter:t[6]||(t[6]=(...e)=>n.onMouseEnter&&n.onMouseEnter(...e)),onMouseleave:t[7]||(t[7]=(...e)=>n.onMouseLeave&&n.onMouseLeave(...e)),onTouchstart:t[8]||(t[8]=(0,a.iM)(((...e)=>n.onTouchStart&&n.onTouchStart(...e)),["stop"])),onMousedown:t[9]||(t[9]=e=>n.onMouseDown(e)),onMouseup:t[10]||(t[10]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchend:t[11]||(t[11]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchmove:t[12]||(t[12]=(...e)=>n.onTouchMove&&n.onTouchMove(...e)),onDblclick:t[13]||(t[13]=(...e)=>n.onDblClick&&n.onDblClick(...e)),draggable:n.draggable,onDragstart:t[14]||(t[14]=e=>n.draggable&&n.onDragStart(e)),onDragend:t[15]||(t[15]=e=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&s.event.deletable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-delete",onClick:t[0]||(t[0]=(0,a.iM)(((...e)=>n.deleteEvent&&n.deleteEvent(...e)),["stop"])),onTouchstart:t[1]||(t[1]=(0,a.iM)(((...e)=>n.touchDeleteEvent&&n.touchDeleteEvent(...e)),["stop"]))},(0,k.zw)(n.vuecal.texts.deleteEvent),33)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"event",{event:s.event,view:n.view.id}),n.resizable?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:t[2]||(t[2]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"])),onTouchstart:t[3]||(t[3]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"]))},null,32)):(0,m.kq)("",!0)],46,Ko)}var Xo={inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},cellOverlaps:{type:Object,default:()=>({})},allOverlaps:{type:Object,default:()=>({})},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(e,t=!1){if("ontouchstart"in window&&!t)return!1;const{clickHoldAnEvent:s,focusAnEvent:a,resizeAnEvent:i,dragAnEvent:l}=this.domEvents;if(a._eid===this.event._eid&&s._eid===this.event._eid)return!0;this.focusEvent(),s._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(s.timeoutId=setTimeout((()=>{i._eid||l._eid||(s._eid=this.event._eid,this.event.deleting=!0)}),s.timeout))},onMouseUp(e){this.domEvents.focusAnEvent._eid!==this.event._eid||this.touch.dragged||(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(e){if("function"!==typeof this.vuecal.onEventClick)return;const{clientX:t,clientY:s}=e.touches[0],{startX:a,startY:i,dragThreshold:l}=this.touch;(Math.abs(t-a)>l||Math.abs(s-i)>l)&&(this.touch.dragged=!0)},onTouchStart(e){this.touch.startX=e.touches[0].clientX,this.touch.startY=e.touches[0].clientY,this.onMouseDown(e,!0)},onEnterKeypress(e){if("function"===typeof this.vuecal.onEventClick)return this.vuecal.onEventClick(this.event,e)},onDblClick(e){if("function"===typeof this.vuecal.onEventDblclick)return this.vuecal.onEventDblclick(this.event,e)},onDragStart(e){"blocker"!=this.event.type&&"non-working-hours"!=this.event.type&&(this.event.draggingStatic=!1,this.dnd&&this.dnd.eventDragStart(e,this.event))},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(e=!1){if("ontouchstart"in window&&!e)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(e){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:e}=this.domEvents,t=e._eid;if(t!==this.event._eid){if(t){const e=this.view.events.find((e=>e._eid===t));e&&(e.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),e._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:e,endTimeMinutes:t}=this.segment||this.event;let s=e-this.vuecal.timeFrom;const a=Math.max(Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);s=Math.min(t,this.vuecal.timeTo)-this.vuecal.timeFrom;const i=Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),l=Math.max(i-a,5);return{top:a,height:l}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||"month"===this.view.id||this.allDay)return{};let e=100-10*this.eventPosition,t=5*this.eventPosition,s=10*(this.eventPosition+1),a=this.event.master_task_color;if(Array.isArray(this.cellOverlaps.sameOverlaps)&&this.cellOverlaps.sameOverlaps.length){const s=this.cellOverlaps.sameOverlaps.length+1,a=this.cellOverlaps.overlaps.filter((e=>{if(!this.cellOverlaps.sameOverlaps.includes(e)&&this.allOverlaps[this.event._eid].position>this.allOverlaps[e].position)return e}));e=100/s-5,t=100/s*(this.eventPosition-a.length)+5*(this.eventPosition-a.length)/s,a.length&&(e-=a.length*(10/s),t+=5*a.length-10*a.length/s*(this.eventPosition-a.length))}this.vuecal.minEventWidth&&e({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({tmUtils:A.Z,cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:e}){const t=e.classList.contains("vuecal__cell-split");let s=t?e:this.vuecal.findAncestor(e,"vuecal__cell-split");return s&&(s=s.attributes["data-split"].value,parseInt(s).toString()===s.toString()&&(s=parseInt(s))),s||null},splitClasses(e){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===e.id,"vuecal__cell-split--weekend":e.isWeekend,[e.class]:!!e.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(1===this.eventsCount?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(e){return this.vuecal.isDOMElementAnEvent(e)},selectCell(e,t=!1){const s=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.selectCell(t,this.timeAtCursor,s),this.timeAtCursor=null},onCellkeyPressEnter(e){this.isSelected||this.onCellFocus(e);const t=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,t),this.timeAtCursor=null},onCellFocus(e){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const t=this.splitsCount?this.getSplitAtCursor(e):null,s=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",t?{date:s,split:t}:s)}},onCellMouseDown(e,t=null,s=!1){if("ontouchstart"in window&&!s)return!1;this.isSelected||this.onCellFocus(e);const{clickHoldACell:a,focusAnEvent:i}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:l,cursorCoords:{y:n}}=this.vuecal.minutesAtCursor(e);this.timeAtCursor.setMinutes(l);const o=this.isDOMElementAnEvent(e.target);!o&&i._eid&&((this.view.events.find((e=>e._eid===i._eid))||{}).focused=!1),this.editEvents.create&&!o&&this.setUpEventCreation(e,n)},setUpEventCreation(e,t){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:s}=this.domEvents;if(s.startCursorY=t,s.split=this.splitsCount?this.getSplitAtCursor(e):null,s.start=this.timeAtCursor,this.options.snapToTime){let e=60*this.timeAtCursor.getHours()+this.timeAtCursor.getMinutes();const t=e+this.options.snapToTime/2;e=t-t%this.options.snapToTime,s.start.setHours(0,e,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(e)},setUpCellHoldTimer(e){const{clickHoldACell:t}=this.domEvents;t.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,t.split=this.splitsCount?this.getSplitAtCursor(e):null,t.timeoutId=setTimeout((()=>{if(t.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:e}=this.utils.event.createAnEvent(this.timeAtCursor,null,t.split?{split:t.split}:{});t.eventCreated=e}}),t.timeout)},onCellTouchStart(e,t=null){this.onCellMouseDown(e,t,!0)},onCellClick(e,t){if(e.offsetY>950&&e.offsetY<1700){const s=t.date;s.setHours(Math.floor(e.offsetY/100),0,0,0);const a=new Date(s);a.setHours(s.getHours()+1);const i=Re()(s).format("HH:mm"),l="Dashboard - Teams"===this.$route.name,n=l?t.employee_id:Number(localStorage.getItem("selectedEmployee")||this.user.id);this.$events.emit("show-menu-modal",{time:i,date:A.Z.formatDateTimeForBackend(s),employee:n}),setTimeout((()=>{this.$events.emit("add-timeblock",{id:null,start:A.Z.formatDateTimeForBackend(s),end:A.Z.formatDateTimeForBackend(a)})}),150)}this.isDOMElementAnEvent(e.target)||this.selectCell(e)},onCellDblClick(e){const t=new Date(this.data.startDate);t.setMinutes(this.vuecal.minutesAtCursor(e).minutes);const s=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(e){e.stopPropagation(),e.preventDefault();const t=new Date(this.data.startDate),{cursorCoords:s,minutes:a}=this.vuecal.minutesAtCursor(e);t.setMinutes(a);const i=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-contextmenu",{date:t,...s,...i||{},e:e})}},computed:{...(0,U.Se)("auth",["user"]),dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return null!==this.minTimestamp&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp{let{from:t,to:s}=e;return t=Math.max(t,this.options.timeFrom),s=Math.min(s,this.options.timeTo),{...e,height:(s-t)*this.timeScale,top:(t-this.options.timeFrom)*this.timeScale}}))},events(){const{startDate:e,endDate:t}=this.data;let s=[];if(!["years","year"].includes(this.view.id)||this.options.eventsCountOnYearView){if(s=this.view.events.slice(0),"month"===this.view.id&&s.push(...this.view.outOfScopeEvents),s=s.filter((s=>this.utils.event.eventInRange(s,e,t))),this.options.showAllDayEvents&&"month"!==this.view.id&&(s=s.filter((e=>!!e.allDay===this.allDay))),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:e,timeTo:t}=this.options;s=s.filter((s=>{const a=s.daysCount>1&&s.segments[this.data.formattedDate]||{},i=1===s.daysCount&&s.startTimeMinutese,l=s.daysCount>1&&a.startTimeMinutese,n=!1;return s.allDay||i||l||n}))}!this.options.time||!this.isWeekOrDayView||this.options.showAllDayEvents&&this.allDay||s.sort(((e,t)=>e.start{const s=this.events.filter((t=>t.split===e.id)),[a,i]=this.utils.event.checkCellOverlappingEvents(s.filter((e=>!e.background&&!e.allDay)),this.options);return{...e,overlaps:a,overlapsStreak:i,events:s}}))},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:e,timeTo:t}=this.options;return this.data.today&&this.isWeekOrDayView&&e&&!this.allDay&&this.nowInMinutes<=t},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const e=this.nowInMinutes-this.options.timeFrom;return Math.round(e*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}};const tr=(0,$.Z)(er,[["render",Ro]]);var sr=tr,ar={inject:["vuecal","view","editEvents"],components:{"vuecal-cell":sr},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}};const ir=(0,$.Z)(ar,[["render",Po]]);var lr=ir,nr=s(15941);const or=1440,rr={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},dr=["years","year","month","week","day"],ur=new oo(rr);var cr={name:"vue-cal",components:{"vuecal-cell":sr,"vuecal-header":Fo,WeekdaysHeadings:Uo,AllDayBar:lr},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},scrollToHour:{type:Number,default:0},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},unscheduledTime:{type:Array,default:[]},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showTimeInCells:{type:Boolean,default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:or},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...rr},utils:{date:!!this.disableDatePrototypes&&ur.removePrototypes()||ur,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(e){if("object"===typeof this.locale)return this.texts=Object.assign({},rr,e),void this.utils.date.updateTexts(this.texts);if("en"===this.locale){const e=await s.e(3320).then(s.t.bind(s,3320,19));this.texts=Object.assign({},rr,e)}else s(66667)(`./${e}.json`).then((e=>{this.texts=Object.assign({},rr,e.default),this.utils.date.updateTexts(this.texts)}))},loadDragAndDrop(){s.e(1466).then(s.bind(s,91466)).then((e=>{const{DragAndDrop:t}=e;this.modules.dnd=new t(this)})).catch((()=>nr.warn("Vue Cal: Missing drag & drop module.")))},validateView(e){return dr.includes(e)||(nr.error(`Vue Cal: invalid active-view parameter provided: "${e}".\nA valid view must be one of: ${dr.join(", ")}.`),e="week"),this.enabledViews.includes(e)||(nr.warn(`Vue Cal: the provided active-view "${e}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),e=this.enabledViews[0]),e},switchToNarrowerView(e=null){this.transitionDirection="right";const t=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];t&&this.switchView(t,e)},switchView(e,t=null,s=!1){e=this.validateView(e);const a=this.utils.date,i=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&s){if(this.view.id===e)return;const t=this.enabledViews;this.transitionDirection=t.indexOf(this.view.id)>t.indexOf(e)?"left":"right"}const l=this.view.id;switch(this.view.events=[],this.view.id=e,this.view.firstCellDate=null,this.view.lastCellDate=null,t||(t=this.view.selectedDate||this.view.startDate),e){case"years":this.view.startDate=new Date(25*Math.floor(t.getFullYear()/25)||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break;case"year":this.view.startDate=new Date(t.getFullYear(),0,1),this.view.endDate=new Date(t.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break;case"month":{this.view.startDate=new Date(t.getFullYear(),t.getMonth(),1),this.view.endDate=new Date(t.getFullYear(),t.getMonth()+1,1),this.view.endDate.setSeconds(-1);let e=new Date(this.view.startDate);if(e.getDay()!==(this.startWeekOnSunday?0:1)&&(e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday)),this.view.firstCellDate=e,this.view.lastCellDate=a.addDays(e,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const e=6!==this.view.firstCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.firstCellDate=a.addDays(this.view.firstCellDate,e)}if([0,6].includes(this.view.startDate.getDay())){const e=6===this.view.startDate.getDay()?2:1;this.view.startDate=a.addDays(this.view.startDate,e)}if([0,6].includes(this.view.lastCellDate.getDay())){const e=0!==this.view.lastCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,e)}if([0,6].includes(this.view.endDate.getDay())){const e=0===this.view.endDate.getDay()?2:1;this.view.endDate=a.subtractDays(this.view.endDate,e)}}break}case"week":{t=a.getPreviousFirstDayOfWeek(t,this.startWeekOnSunday);const e=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(t,1):t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(t,e),this.view.endDate.setSeconds(-1);break}case"day":this.view.startDate=t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(t),this.view.endDate.setHours(23,59,59,0);break}this.addEventsToView();const n=this.view.startDate&&this.view.startDate.getTime();if((l!==e||n!==i)&&(this.$emit("update:activeView",e),this.ready)){const t=this.view.startDate,s={view:e,startDate:t,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(t,1):t)}:{}};this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("view-change",s)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(e=!0){const t=this.utils.date;this.transitionDirection=e?"right":"left";const s=e?1:-1;let a=null;const{startDate:i,id:l}=this.view;switch(l){case"years":a=new Date(i.getFullYear()+25*s,0,1);break;case"year":a=new Date(i.getFullYear()+1*s,1,1);break;case"month":a=new Date(i.getFullYear(),i.getMonth()+1*s,1);break;case"week":a=t[e?"addDays":"subtractDays"](t.getPreviousFirstDayOfWeek(i,this.startWeekOnSunday),7);break;case"day":a=t[e?"addDays":"subtractDays"](i,1);const l=a.getDay(),n=this.startWeekOnSunday?l:(l||7)-1,o=this.weekDays[n].hide;if(o){const s=this.weekDays.map(((e,t)=>({...e,i:t})));let i=null,l=0;e?(i=[...s.slice(n),...s].find((e=>(l++,!e.hide))).i,l--):i=[...s,...s.slice(0,n)].reverse().find((e=>(l++,!e.hide))).i,a=t[e?"addDays":"subtractDays"](a,l)}break}a&&this.switchView(l,a)},addEventsToView(e=[]){const t=this.utils.event,{startDate:s,endDate:a,firstCellDate:i,lastCellDate:l}=this.view;if(e.length||(this.view.events=[]),e=e.length?e:[...this.mutableEvents],!e||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let n=e.filter((e=>t.eventInRange(e,s,a)));this.isYearsOrYearView||this.isMonthView&&!this.eventsOnMonthView||(n=n.map((e=>e.daysCount>1?t.createEventSegments(e,i||s,l||a):e))),this.view.events.push(...n),this.isMonthView&&(this.view.outOfScopeEvents=[],e.forEach((e=>{(t.eventInRange(e,i,s)||t.eventInRange(e,a,l))&&(this.view.events.some((t=>t._eid===e._eid))||this.view.outOfScopeEvents.push(e))})))},findAncestor(e,t){while((e=e.parentElement)&&!e.classList.contains(t));return e},isDOMElementAnEvent(e){return e.classList.contains("vuecal__event")||this.findAncestor(e,"vuecal__event")},onMouseMove(e){const{resizeAnEvent:t,dragAnEvent:s,dragCreateAnEvent:a}=this.domEvents;(null!==t._eid||null!==s._eid||a.start)&&(e.preventDefault(),t._eid?this.eventResizing(e):this.dragToCreateEvent&&a.start&&this.eventDragCreation(e))},onMouseUp(e){const{focusAnEvent:t,resizeAnEvent:s,clickHoldAnEvent:a,clickHoldACell:i,dragCreateAnEvent:l}=this.domEvents,{_eid:n}=a,{_eid:o}=s;let r=!1;const{event:d,start:u}=l,c=this.isDOMElementAnEvent(e.target),m=t.mousedUp;if(t.mousedUp=!1,c&&(this.domEvents.cancelClickEventCreation=!0),i.eventCreated)return;if(o){const{originalEnd:e,originalEndTimeMinutes:t,endTimeMinutes:a}=s,i=this.view.events.find((e=>e._eid===s._eid));if(r=a&&a!==t,i&&i.end.getTime()!==e.getTime()){const t=this.mutableEvents.find((e=>e._eid===s._eid));t.endTimeMinutes=i.endTimeMinutes,t.end=i.end;const a=this.cleanupEvent(i),l={...this.cleanupEvent(i),end:e,endTimeMinutes:i.originalEndTimeMinutes};this.$emit("event-duration-change",{event:a,oldDate:s.originalEnd,originalEvent:l}),this.$emit("event-change",{event:a,originalEvent:l})}i&&(i.resizing=!1),s._eid=null,s.start=null,s.split=null,s.segment=null,s.originalEndTimeMinutes=null,s.originalEnd=null,s.endTimeMinutes=null,s.startCell=null,s.endCell=null}else u&&(d&&(this.emitWithEvent("event-drag-create",d),l.event.resizing=!1),l.start=null,l.split=null,l.event=null);c||o||this.unfocusEvent(),a.timeoutId&&!n&&(clearTimeout(a.timeoutId),a.timeoutId=null),i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null);const h="function"===typeof this.onEventClick;if(m&&!r&&!n&&!d&&h){let s=this.view.events.find((e=>e._eid===t._eid));return!s&&this.isMonthView&&(s=this.view.outOfScopeEvents.find((e=>e._eid===t._eid))),s&&this.onEventClick(s,e)}},onKeyUp(e){27===e.keyCode&&this.cancelDelete()},eventResizing(e){const{resizeAnEvent:t}=this.domEvents,s=this.view.events.find((e=>e._eid===t._eid))||{segments:{}},{minutes:a,cursorCoords:i}=this.minutesAtCursor(e),l=s.segments&&s.segments[t.segment],{date:n,event:o}=this.utils,r=Math.max(a,this.timeFrom+1,(l||s).startTimeMinutes+1);if(s.endTimeMinutes=t.endTimeMinutes=r,this.snapToTime){const e=s.endTimeMinutes+this.snapToTime/2;s.endTimeMinutes=e-e%this.snapToTime}if(l&&(l.endTimeMinutes=s.endTimeMinutes),s.end.setHours(0,s.endTimeMinutes,s.endTimeMinutes===or?-1:0,0),this.resizeX&&this.isWeekView){s.daysCount=n.countDays(s.start,s.end);const e=this.cellsEl,a=e.offsetWidth/e.childElementCount,l=Math.floor(i.x/a);if(null===t.startCell&&(t.startCell=l-(s.daysCount-1)),t.endCell!==l){t.endCell=l;const e=n.addDays(s.start,l-t.startCell),a=Math.max(n.countDays(s.start,e),1);if(a!==s.daysCount){let e=null;e=a>s.daysCount?o.addEventSegment(s):o.removeEventSegment(s),t.segment=e,s.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:s._eid,end:s.end,endTimeMinutes:s.endTimeMinutes})},eventDragCreation(e){const{dragCreateAnEvent:t}=this.domEvents,{start:s,startCursorY:a,split:i}=t,l=new Date(s),{minutes:n,cursorCoords:{y:o}}=this.minutesAtCursor(e);if(t.event||!(Math.abs(a-o)s._eid===(e._eid||t._eid)));e._eid=null,t._eid=null,s&&(s.focused=!1,s.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:e}=this.domEvents;if(e._eid){const t=this.view.events.find((t=>t._eid===e._eid));t&&(t.deleting=!1),e._eid=null,e.timeoutId=null}},onEventTitleBlur(e,t){if(t.title===e.target.innerHTML)return;const s=t.title;t.title=e.target.innerHTML;const a=this.cleanupEvent(t);this.$emit("event-title-change",{event:a,oldTitle:s}),this.$emit("event-change",{event:a,originalEvent:{...a,title:s}})},updateMutableEvents(){const e=this.utils.date;this.mutableEvents=[],this.events.forEach((t=>{const s="string"===typeof t.start?e.stringToDate(t.start):t.start,a=e.formatDateLite(s),i=e.dateToMinutes(s);let l=null;"string"===typeof t.end&&t.end.includes("24:00")?(l=new Date(t.end.replace(" 24:00","")),l.setHours(23,59,59,0)):l="string"===typeof t.end?e.stringToDate(t.end):t.end;let n=e.formatDateLite(l),o=e.dateToMinutes(l);o&&o!==or||(!this.time||"string"===typeof t.end&&10===t.end.length?l.setHours(23,59,59,0):l.setSeconds(l.getSeconds()-1),n=e.formatDateLite(l),o=or);const r=a!==n;t=Object.assign({...this.utils.event.eventDefaults},t,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:r?{}:null,start:s,startTimeMinutes:i,end:l,endTimeMinutes:o,daysCount:r?e.countDays(s,l):1,class:t.class}),this.mutableEvents.push(t)}))},minutesAtCursor(e){return this.utils.cell.minutesAtCursor(e)},createEvent(e,t,s={}){return this.utils.event.createAnEvent(e,t,s)},cleanupEvent(e){e={...e};const t=["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"];return t.forEach((t=>{t in e&&delete e[t]})),e.repeat||delete e.repeat,e},emitWithEvent(e,t){this.$emit(e,this.cleanupEvent(t))},updateSelectedDate(e){if(e=e&&"string"===typeof e?this.utils.date.stringToDate(e):new Date(e),e&&e instanceof Date){const{selectedDate:t}=this.view;t&&(this.transitionDirection=t.getTime()>e.getTime()?"left":"right"),e.setHours(0,0,0,0),t&&t.getTime()===e.getTime()||(this.view.selectedDate=e),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(e){const t=this.utils.date,s=this.firstCellDateWeekNumber,a=s+e,i=this.startWeekOnSunday?1:0;return a>52?t.getWeek(t.addDays(this.view.firstCellDate,7*e+i)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,6e4)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){},cellOrSplitHasEvents(e,t=null){return e.length&&(!t&&e.length||t&&e.some((e=>e.split===t.id)))}},created(){this.utils.cell=new uo(this),this.utils.event=new ko(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,1e3*(60-this.now.getSeconds())))},mounted(){const e=this.utils.date,t="ontouchstart"in window,{resize:s,drag:a,create:i,delete:l,title:n}=this.editEvents,o=this.onEventClick&&"function"===typeof this.onEventClick;(s||a||i||l||n||o)&&window.addEventListener(t?"touchend":"mouseup",this.onMouseUp),(s||a||i&&this.dragToCreateEvent)&&window.addEventListener(t?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),n&&window.addEventListener("keyup",this.onKeyUp),t&&(this.$refs.vuecal.oncontextmenu=function(e){e.preventDefault(),e.stopPropagation()});const r=this.view.startDate,d={view:this.view.id,startDate:r,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:e.getWeek(this.startWeekOnSunday?e.addDays(r,1):r)}:{}};this.$refs["vuecal_scroll"].addEventListener("scroll",(()=>{this.$refs["vuecal_splits_heading"].style.top=`${this.$refs["vuecal_scroll"].scrollTop}px`})),this.viewportTimelineOffset=this.$refs["vuecal_scroll"].getBoundingClientRect().top,this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("ready",d),this.ready=!0},beforeUnmount(){const e="ontouchstart"in window;window.removeEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(e?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&"object"===typeof this.editableEvents?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter((e=>this.views[e].enabled))},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&"short"===this.eventsOnMonthView},firstCellDateWeekNumber(){const e=this.utils.date,t=this.view.firstCellDate;return e.getWeek(this.startWeekOnSunday?e.addDays(t,1):t)},timeCells(){const e=[];for(let t=this.timeFrom,s=this.timeTo;t!e.hide))||[]).map(((e,t)=>({...e,id:e.id||t+1})))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return"short"===this.showAllDayEvents},cellOrSplitMinWidth(){let e=null;return this.hasSplits&&this.minSplitWidth?e=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(e=this.visibleDaysCount*this.minCellWidth),e},allDayBar(){let e=this.allDayBarHeight||null;return e&&!isNaN(e)&&(e+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:e}},minTimestamp(){let e=null;return this.minDate&&"string"===typeof this.minDate?e=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(e=this.minDate),e?e.getTime():null},maxTimestamp(){let e=null;return this.maxDate&&"string"===typeof this.maxDate?e=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(e=this.maxDate),e?e.getTime():null},weekDays(){let{weekDays:e,weekDaysShort:t=[]}=this.texts;return e=e.slice(0).map(((e,s)=>({label:e,...t.length?{short:t[s]}:{},hide:this.hideWeekends&&s>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(s+1)}))),this.startWeekOnSunday&&e.unshift(e.pop()),e},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map((e=>({label:e})))},specialDayHours(){return this.specialHours&&Object.keys(this.specialHours).length?Array(7).fill("").map(((e,t)=>{let s=this.specialHours[t+1]||[];return Array.isArray(s)||(s=[s]),e=[],s.forEach((({from:s,to:a,class:i,label:l},n)=>{e[n]={day:t+1,from:[null,void 0].includes(s)?null:1*s,to:[null,void 0].includes(a)?null:1*a,class:i||"",label:l||""}})),e})):{}},viewTitle(){const e=this.utils.date;let t="";const s=this.view.startDate,a=s.getFullYear(),i=s.getMonth();switch(this.view.id){case"years":t=this.texts.years;break;case"year":t=a;break;case"month":t=`${this.months[i].label} ${a}`;break;case"week":{const a=this.view.endDate,i=s.getFullYear();let l=this.texts.months[s.getMonth()];this.xsmall&&(l=l.substring(0,3));let n=`${l} ${i}`;if(a.getMonth()!==s.getMonth()){const e=a.getFullYear();let t=this.texts.months[a.getMonth()];this.xsmall&&(t=t.substring(0,3)),n=i===e?`${l} - ${t} ${i}`:this.small?`${l.substring(0,3)} ${i} - ${t.substring(0,3)} ${e}`:`${l} ${i} - ${t} ${e}`}t=`${this.texts.week} ${e.getWeek(this.startWeekOnSunday?e.addDays(s,1):s)} (${n})`;break}case"day":t=this.utils.date.formatDate(s,this.texts.dateFormat,this.texts);break}return t},viewCells(){const e=this.utils.date;let t=[],s=null,a=!1;this.watchRealTime||(this.now=new Date);const i=this.now;switch(this.view.id){case"years":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(25)).map(((t,a)=>{const l=new Date(s+a,0,1),n=new Date(s+a+1,0,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:s+a,current:s+a===i.getFullYear()}}));break;case"year":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(12)).map(((t,a)=>{const l=new Date(s,a,1),n=new Date(s,a+1,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:this.xsmall?this.months[a].label.substr(0,3):this.months[a].label,current:a===i.getMonth()&&s===i.getFullYear()}}));break;case"month":{const s=this.view.startDate.getMonth(),i=new Date(this.view.firstCellDate);a=!1,t=Array.apply(null,Array(42)).map(((t,l)=>{const n=e.addDays(i,l),o=new Date(n);o.setHours(23,59,59,0);const r=!a&&e.isToday(n)&&!a++;return{startDate:n,formattedDate:e.formatDateLite(n),endDate:o,content:n.getDate(),today:r,outOfScope:n.getMonth()!==s,class:`vuecal__cell--day${n.getDay()||7}`}})),(this.hideWeekends||this.hideWeekdays.length)&&(t=t.filter((e=>{const t=e.startDate.getDay()||7;return!(this.hideWeekends&&t>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(t))})));break}case"week":{a=!1;let s=this.view.startDate;const i=this.weekDays;t=i.map(((t,i)=>{const l=e.addDays(s,this.startWeekOnSunday?i-1:i),n=new Date(l);n.setHours(23,59,59,0);const o=(l.getDay()||7)-1;return{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,today:!a&&e.isToday(l)&&!a++,specialHours:this.specialDayHours[o]||[]}})).filter(((e,t)=>!i[t].hide));break}case"day":{const s=this.view.startDate,a=new Date(this.view.startDate);a.setHours(23,59,59,0);const i=(s.getDay()||7)-1;t=[{startDate:s,formattedDate:e.formatDateLite(s),endDate:a,today:e.isToday(s),specialHours:this.specialDayHours[i]||[]}];break}}return t},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce(((e,t)=>e+t.hide),0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:s}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":e._eid,"vuecal--drag-creating-event":s.event,"vuecal--dragging-event":t._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&"short"===this.eventsOnMonthView,"vuecal--has-touch":"undefined"!==typeof window&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return"years"===this.view.id},isYearView(){return"year"===this.view.id},isMonthView(){return"month"===this.view.id},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return"week"===this.view.id},isDayView(){return"day"===this.view.id}},watch:{events:{handler(e,t){this.updateMutableEvents(e),this.addEventsToView()},deep:!0},locale(e){this.loadLocale(e)},selectedDate(e){this.updateSelectedDate(e)},activeView(e){this.switchView(e)}}};const mr=(0,$.Z)(cr,[["render",eo]]);var hr=mr,pr={install:e=>{e.component("Vue-cal",hr)}};s(48851),s(1292),s(81633),s(51045),s(46187),s(22299),s(93423),s(54687),s(49147),s(6250);l(),d();const vr={axios:{disabled:!0},i18n:{languages:[{title:"Slovenský",flag:"sk",value:"sk"}],defaultLanguage:"sk"},moxios:{routes:{"GET v1/overview/teams":!0,"GET v1/overview/tasks":!0}}},kr=(0,a.ri)(El).use(Ol).use(Wl).use(Dn).use(_n,vr).use(i.oX).use(o).use(pr).use(Tn).use(c(),{color:"#6200EE"}).mount("#app"),fr=kr.$i18n.t},7648:function(e,t,s){"use strict";var a=s(72807);t["Z"]={parseErrors(e){return Object.values(e).map((e=>(0,a.$t)(e?.$message))).join(". ")}}},83299:function(e,t){"use strict";t["Z"]={methods:{customFilter(e,t){const s=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=/[^a-zA-Z0-9 ]/g,l=s.replace(i,""),n=a.replace(i,"");return l.toLowerCase().includes(n.toLowerCase())||""===e}}}},34407:function(e,t,s){"use strict";var a=s(36797),i=s.n(a);t["Z"]={enrichEmployees(e){return e.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)})))},formatDateTime(e){return i()(e),i()(e).format("DD.MM.yyyy, HH:mm")},formatDateTimeForBackend(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")},formatDate(e){return i()(e).format("DD.MM.yyyy")},isBefore(e,t=null){return i()(e).isBefore(i()(t))},isAfter(e,t=i()()){return i()(e).isAfter(i()(t))}}},8973:function(e,t,s){var a={"./en.json":20790,"./sk.json":71941};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=8973},66667:function(e,t,s){var a={"./ar.json":[68568,8568],"./bg.json":[20684,684],"./bn.json":[61170,1170],"./bs.json":[41161,1161],"./ca.json":[40612,612],"./cs.json":[50213,213],"./da.json":[98542,8542],"./de.json":[4701,4701],"./el.json":[20453,453],"./en.json":[3320,3320],"./es.json":[60076,76],"./et.json":[44075,4075],"./fa.json":[69004,9004],"./fr.json":[60007,7],"./he.json":[23746,3746],"./hr.json":[92921,2921],"./hu.json":[75723,5723],"./id.json":[12502,2502],"./is.json":[13214,3214],"./it.json":[51380,1380],"./ja.json":[72484,2484],"./ka.json":[60285,285],"./ko.json":[79249,9249],"./lt.json":[42838,2838],"./mn.json":[6177,6177],"./nl.json":[99729,9729],"./no.json":[49409,9409],"./pl.json":[25409,5409],"./pt-br.json":[74529,4529],"./ro.json":[29715,9715],"./ru.json":[32113,2113],"./sk.json":[30229,229],"./sl.json":[28636,8636],"./sq.json":[204,204],"./sr.json":[55553,5553],"./sv.json":[75979,5979],"./tr.json":[5268,5268],"./uk.json":[14057,4057],"./vi.json":[88929,8929],"./zh-cn.json":[56730,6730],"./zh-hk.json":[30841,841]};function i(e){if(!s.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],i=t[0];return s.e(t[1]).then((function(){return s.t(i,19)}))}i.keys=function(){return Object.keys(a)},i.id=66667,e.exports=i},27484:function(e,t,s){"use strict";e.exports=s.p+"img/bin.8778f5be.svg"},53830:function(e,t,s){"use strict";e.exports=s.p+"img/checkmark.76754510.svg"},34413:function(e,t,s){"use strict";e.exports=s.p+"img/eye.6d5fa7d3.svg"},60666:function(e,t,s){"use strict";e.exports=s.p+"img/pencil.b9009162.svg"},14214:function(e,t,s){"use strict";e.exports=s.p+"img/spinner.34fd3cb2.gif"},20790:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Value is not a valid email address","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')},71941:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Zadali ste neplatný email","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')}},t={};function s(a){var i=t[a];if(void 0!==i)return i.exports;var l=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(l.exports,l,l.exports,s),l.loaded=!0,l.exports}s.m=e,function(){var e=[];s.O=function(t,a,i,l){if(!a){var n=1/0;for(u=0;u=l)&&Object.keys(s.O).every((function(e){return s.O[e](a[r])}))?a.splice(r--,1):(o=!1,l0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[a,i,l]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};s.t=function(a,i){if(1&i&&(a=this(a)),8&i)return a;if("object"===typeof a&&a){if(4&i&&a.__esModule)return a;if(16&i&&"function"===typeof a.then)return a}var l=Object.create(null);s.r(l);var n={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&a;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((function(e){n[e]=function(){return a[e]}}));return n["default"]=function(){return a},s.d(l,n),l}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,a){return s.f[a](e,t),t}),[]))}}(),function(){s.u=function(e){return"js/"+e+"."+{7:"7cef58a7",76:"9977e9df",188:"5e35d228",204:"4dd3d03d",213:"c9ed5252",229:"b09f2145",285:"6a0985b5",453:"04d72c77",612:"4ea201aa",630:"73358fb6",684:"017ebeb8",841:"65cae984",1161:"59a7c68b",1170:"16217940",1380:"fc40de11",1466:"92176aab",2113:"2a1bcdfa",2484:"6def3002",2502:"66addef9",2704:"83ca6677",2838:"aa69ee5c",2921:"b5aad8e9",2998:"e20db982",3214:"72d306e7",3311:"bcab8a66",3320:"fe7033d0",3539:"e2aabd54",3657:"e558064c",3728:"3e558208",3746:"09ee0424",4057:"4b3b38fd",4075:"2d83f71e",4258:"3c341f3a",4529:"6ff3334b",4701:"e34c277a",5268:"5d463fbd",5409:"4ce439c3",5553:"032fcbe7",5723:"09853a5d",5921:"070bb4f8",5979:"385e1b41",6177:"12db94aa",6730:"61289e01",6901:"23ee64a2",7023:"4a3b210c",7073:"dc374d33",7343:"1e290ed5",7906:"d9e2973a",8024:"bb377405",8227:"58c16c3b",8290:"38b1c1ab",8520:"cb7009ea",8542:"09badcc3",8568:"7f0dfd32",8636:"2a90cf11",8731:"8acb20fc",8929:"ea6da50f",8990:"6dd37151",9004:"ffe04245",9215:"b69f417d",9249:"d2b0f88c",9409:"339f5afb",9715:"21ca1afa",9729:"812aea5b",9983:"657ab52d"}[e]+".js"}}(),function(){s.miniCssF=function(e){return"css/"+e+"."+{188:"37c2c58b",630:"fc40f503",3539:"2ae1c81e",4258:"0875966b",6901:"175f36fe",7023:"c0c8bee7",7073:"3978ef96",7906:"a409390a",8227:"440e256e",9215:"03c22964",9983:"8667b7b1"}[e]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="jandl:";s.l=function(a,i,l,n){if(e[a])e[a].push(i);else{var o,r;if(void 0!==l)for(var d=document.getElementsByTagName("script"),u=0;u[(0,m.Wm)(p.O,null,{default:(0,m.w5)((()=>[(0,m.Wm)(n)])),_:1})])),_:1}),(0,m.Wm)(o,{ref:"z-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(r,{ref:"z-delete-team-modal",onUpdate:l.onTeamUpdate},null,8,["onUpdate"]),(0,m.Wm)(d,{ref:"z-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(u,{ref:"z-delete-task-modal",onOnSubtaskDeleted:l.onTaskDeleted},null,8,["onOnSubtaskDeleted"]),(0,m.Wm)(c,{ref:"z-delete-timeblock-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(v,{ref:"z-delete-blocker-modal",onOnBlockerDeleted:l.onBlockerDeleted},null,8,["onOnBlockerDeleted"]),(0,m.Wm)(k,{ref:"z-delete-master-task-modal",onOnMastertaskDeleted:l.onMasterTaskDeleted},null,8,["onOnMastertaskDeleted"]),(0,m.Wm)(f,{ref:"z-complete-task-modal",onOnSubtaskEdited:l.onTaskEdited},null,8,["onOnSubtaskEdited"]),(0,m.Wm)(g,{ref:"z-complete-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(_,{ref:"z-task-add-time-modal"},null,512),(0,m.Wm)(w,{ref:"z-blocker-modal"},null,512),(0,m.Wm)(b,{ref:"z-master-task-modal",onMasterTaskEdited:l.onMasterTaskEdited},null,8,["onMasterTaskEdited"]),(0,m.Wm)(y,{ref:"z-delete-team-member-modal"},null,512),(0,m.Wm)(D,{ref:"z-show-menu-modal"},null,512)],64)}s(57658);var k=s(87139),f=s(67312),g=s(75039),_=s(91334),w=s(33601),b=s(53289);const y={class:"d-flex justify-space-between align-center"};function D(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",y,[(0,m._)("h1",null,[(0,m.Uk)(" Ste si istý, že chcete zmazať tím "),(0,m._)("b",null,(0,k.zw)(l.team.name),1),(0,m.Uk)("? ")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTeam()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var M={mounted(){window.addEventListener("keydown",this.handleKeyDown)},methods:{handleKeyDown(e){27===e.keyCode&&(this.visible=!1)}}},T={mixins:[M],emits:["update"],data(){return{visible:!1,team:null,isDeleting:!1}},methods:{async showModal({team:e}){this.team=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTeam(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/teams/${this.team.id}`),this.visible=!1,this.$emit("update",this.team),this.$store.commit("tm/delete_team",this.team)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}},$=s(40089);const C=(0,$.Z)(T,[["render",D]]);var j=C,E=s(60988),x=s(45869);const W={class:"d-flex justify-space-between align-center modal-header"};function S(e,t,s,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[4]||(t[4]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{content:l.team,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",W,[(0,m._)("h1",null,(0,k.zw)(l.team.id?"Upraviť tím":"Vytvoriť tím"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input",{error:l.v$.team.name.$errors.length}]),label:"Názov tímu",variant:"solo",hint:l.v$.team.name.$errors?l.errorUtils.parseErrors(l.v$.team.name.$errors):null,modelValue:l.team.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.team.name=e)},null,8,["class","hint","modelValue"]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.team.employees,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:"relative w-100",key:e.id},[(0,m.Wm)(x.hw,{class:"modal-input",disabled:"",label:"Zamestanec",variant:"solo",modelValue:l.team.employees[t]._fullName,"onUpdate:modelValue":e=>l.team.employees[t]._fullName=e},null,8,["modelValue","onUpdate:modelValue"]),(0,m.Wm)(b.t,{class:"remove-input",onClick:(0,a.iM)((e=>l.team.employees.splice(t,1)),["stop"]),icon:"mdi-close",size:"small"},null,8,["onClick"])])))),128)),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:l.employeeSelect,"onUpdate:modelValue":t[2]||(t[2]=e=>l.employeeSelect=e),label:"Priradený",class:(0,k.C_)([{error:l.v$.team.employees.$errors.length},"modal-input"]),items:n.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"",ref:"autocomplete"},null,8,["custom-filter","modelValue","class","items"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary block",onClick:t[3]||(t[3]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.team.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var V=s(33053),O=s(69117),z=s(7648),A=s(34407),U=s(20065),Z=s(83299);const H=e=>e.length;var F={mixins:[Z.Z,M],emits:["close","update"],data(){return{visible:!1,v$:(0,V.ZP)(),errorUtils:z.Z,employeeSelect:null,team:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employeesOptions(){const e=this.team.employees.map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))}},validations(){return{team:{name:{required:O.C1},employees:{atLeastOne:H}}}},methods:{async showModal({team:e=null}){this.visible=!0,this.team=null,this.$nextTick((()=>this.v$.$reset()));try{if(e?.id){const t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.team=this._enrichTeam(t)}else this.team={employees:[]}}catch(t){this.$toast.error(this.$parseError(t))}},closeModal(){this.visible=!1,this.$emit("close",this.team)},async save(){if(await this.v$.$validate())try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/update_team",t)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team),t=await this.$axios.get_auth_data(`v1/teams/${e.id}`);this.$store.commit("tm/save_team",t)}this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}},watch:{employeeSelect(e){if(!e)return;const t=this.enrichedEmployees.find((t=>t.id==e));this.team.employees.push(t),this.employeeSelect=null,this.$refs.autocomplete.search=""}}};const I=(0,$.Z)(F,[["render",S]]);var P=I;const L={class:"d-flex justify-space-between align-center"};function Y(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",L,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať sub task z mastertasku "),(0,m._)("b",null,(0,k.zw)(l.subtask.project_code),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var N={mixins:[M],emits:["on-subtask-deleted"],data(){return{visible:!1,subtask:null,isDeleting:!1}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/subtasks/${this.subtask.id}`),this.$store.commit("tm/delete_subtask",this.subtask),this.closeModal(),this.$emit("on-subtask-deleted",this.subtask)}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const q=(0,$.Z)(N,[["render",Y]]);var B=q;const R=e=>((0,m.dD)("data-v-d2c490ee"),e=e(),(0,m.Cn)(),e),K={class:"d-flex justify-space-between align-center"},J=R((()=>(0,m._)("h4",{class:"mt-3"},"Vyberte časový úsek, ktorý chcete odstrániť",-1)));function X(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[1]||(t[1]=e=>l.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",K,[J,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center justify-center mb-3 mt-3"},[(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.Wm)(b.t,{onClick:(0,a.iM)((s=>l.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"close-icon circle-border cursor-pointer ml-3 text-red",icon:"mdi-close",size:"medium"},null,8,["onClick"])])))),128))])),_:1})])),_:1},8,["modelValue"])}var G={mixins:[M],emits:["on-subtask-edited"],data(){return{visible:!1,subtask:null,isDeleting:!1,tmUtils:A.Z}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}}}};const Q=(0,$.Z)(G,[["render",X],["__scopeId","data-v-d2c490ee"]]);var ee=Q;const te=e=>((0,m.dD)("data-v-3ec6ac9f"),e=e(),(0,m.Cn)(),e),se={class:"d-flex justify-space-between align-center modal-header"},ae={class:"splitted-inputs"},ie=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),le=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ne=[ie,le],oe=["onClick"],re=te((()=>(0,m._)("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"},null,-1))),de=te((()=>(0,m._)("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"},null,-1))),ue=[re,de],ce={key:2,class:"timeblocks w-100"},me={class:"end-button w-100"},he={class:"splitted-time-inputs w-100"},pe={class:"w-100 modal-input"},ve={class:"d-flex justify-space-between align-center"},ke={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},fe={class:"d-flex justify-start"},ge=["src"],_e=["src"],we={class:"w-100"},be={class:"d-flex justify-start align-center mt-8"};function ye(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("A-timeblock"),u=(0,m.up)("QuillEditor"),c=(0,m.up)("Z-files-upload"),h=(0,m.up)("Z-task-readonly-info"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:n.visible,"onUpdate:modelValue":t[21]||(t[21]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.subtask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",se,[(0,m._)("h1",null,(0,k.zw)(n.subtask?.id?"Upraviť sub task":"Vytvoriť sub task"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:n.subtask.project_code,"onUpdate:modelValue":t[1]||(t[1]=e=>n.subtask.project_code=e),label:"Kód projektu",value:n.subtask.project_code,onFocus:e.onInputFocus,class:"modal-input",variant:"solo",disabled:""},null,8,["modelValue","value","onFocus"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.master_task_id,"onUpdate:modelValue":t[2]||(t[2]=e=>n.subtask.master_task_id=e),label:"Master task",class:(0,k.C_)([{error:n.v$.subtask.master_task_id.$errors.length},"modal-input"]),items:e.mastertasks,"item-title":"name","item-value":"id",variant:"solo",clearable:""},null,8,["custom-filter","modelValue","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.subtask.title,"onUpdate:modelValue":t[3]||(t[3]=e=>n.subtask.title=e),onFocus:e.onInputFocus,class:"modal-input",label:"Názov subtasku",variant:"solo"},null,8,["modelValue","onFocus"]),(0,m._)("div",ae,[(0,m.Wm)(r,{modelValue:n.subtask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.subtask.deadline=e),onFocus:e.onDateFocus,"auto-apply":!0,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.subtask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Deadline",validations:n.v$.subtask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.subtask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.subtask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.subtask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.subtask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.subtask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),n.subtask.id?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("div",{class:(0,k.C_)(["employee-wrapper",{"hide-arrow":n.subtask.employee_id}])},[n.subtask.employee_id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:t[6]||(t[6]=(0,a.iM)((e=>{n.subtask.employee_id=null,n.subtask.employee=null}),["prevent"]))},ne)):(0,m.kq)("",!0),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.subtask.employee_id,"onUpdate:modelValue":[t[7]||(t[7]=e=>n.subtask.employee_id=e),t[8]||(t[8]=e=>n.employeeValidations[0]?n.employeeValidations[0].employee=!1:null)],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.employee}])},null,8,["custom-filter","modelValue","items","class"])],2),(0,m.Wm)(x.hw,{modelValue:n.subtask.duration,"onUpdate:modelValue":[t[9]||(t[9]=e=>n.subtask.duration=e),t[10]||(t[10]=e=>n.employeeValidations[0]?n.employeeValidations[0].duration=!1:null)],class:(0,k.C_)(["modal-input",{error:n.employeeValidations[0]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","class","onFocus"])],64)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.subtask.employees,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{key:`employee-${s}`,class:(0,k.C_)(["splitted-inputs remove-employee",{"hide-arrow":t.id}])},[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:t.id,"onUpdate:modelValue":[e=>t.id=e,e=>n.employeeValidations[s]?n.employeeValidations[s].employee=!1:null],label:"Priradený",items:e.enrichedEmployees,"item-title":"_fullName","item-value":"id",variant:"solo",class:(0,k.C_)(["modal-input left",{error:n.employeeValidations[s]?.employee}])},null,8,["custom-filter","modelValue","onUpdate:modelValue","items","class"]),t.id?((0,m.wg)(),(0,m.iD)("svg",{key:0,version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",class:"dp__icon dp__clear_icon dp__input_icons","data-test":"clear-icon",onClick:(0,a.iM)((e=>t.id=null),["prevent"])},ue,8,oe)):(0,m.kq)("",!0),(0,m.Wm)(x.hw,{modelValue:t.duration,"onUpdate:modelValue":[e=>t.duration=e,e=>n.employeeValidations[s]?n.employeeValidations[s].duration=!1:null],class:(0,k.C_)(["modal-input right",{error:n.employeeValidations[s]?.duration}]),variant:"solo",type:"number",label:"Časový odhad","append-inner-icon":"mdi-clock-outline",onFocus:e.onInputFocus},null,8,["modelValue","onUpdate:modelValue","class","onFocus"])],2)))),128)),n.subtask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:3},(0,m.Ko)(n.subtask.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:t,class:"timeblock w-100"},[(0,m.Wm)(r,{"model-value":e.start.substring(0,10),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,readonly:"",class:"mb-5 modal-input"},null,8,["model-value"]),(0,m._)("div",he,[(0,m.Wm)(x.hw,{value:e.start.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value"]),(0,m.Wm)(x.hw,{value:e.end.substring(11,16),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value"])])])))),128)):((0,m.wg)(),(0,m.iD)("div",ce,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeblocks,((t,s)=>((0,m.wg)(),(0,m.j4)(d,{key:s,onUpdateTimeblock:e=>o.updateTimeblock(e,s),onRemoveTimeblock:e=>o.removeTimeblock(s),onOnDateFocus:e.onDateFocus,timeblock:t,deletable:s>0,editable:"",ref_for:!0,ref:`timetable-${s}`},null,8,["onUpdateTimeblock","onRemoveTimeblock","onOnDateFocus","timeblock","deletable"])))),128)),(0,m._)("div",me,[(0,m._)("button",{onClick:t[11]||(t[11]=e=>n.timeblocks.push({date:null,starts_at_time:null,ends_at_time:null}))},"Pridať časový blok")])])),(0,m._)("div",pe,[(0,m.Wm)(u,{ref:"description",modelValue:n.subtask.description,"onUpdate:modelValue":t[12]||(t[12]=e=>n.subtask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onInput:t[13]||(t[13]=e=>n.subtask.description=e.srcElement.innerHTML)},null,8,["modelValue"])]),(0,m.Wm)(c,{class:"mt-15 files",files:n.subtask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[14]||(t[14]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.subtask.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",ve,[(0,m._)("div",null,[(0,m._)("p",null,(0,k.zw)(n.subtask._master_task.project_code),1),(0,m._)("h1",null,(0,k.zw)(n.subtask._master_task.name),1)]),(0,m.Wm)(b.t,{onClick:t[15]||(t[15]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",ke,[(0,m._)("h1",null,(0,k.zw)(n.subtask.title),1),(0,m._)("div",fe,[(0,m._)("img",{class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[16]||(t[16]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,ge),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[17]||(t[17]=(0,a.iM)((e=>o.openDeleteTaskModal(n.subtask)),["stop"]))},null,8,_e)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",we,[(0,m.Wm)(h,{subtask:n.subtask,onCloseModal:o.closeModal,onUpdateSubtask:o.updateSubtask},null,8,["subtask","onCloseModal","onUpdateSubtask"]),(0,m._)("div",be,[n.subtask.is_finished?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button secondary",onClick:t[19]||(t[19]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Znovu otvoriť")])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"done-btn",onClick:t[18]||(t[18]=(0,a.iM)((e=>o.showCompleteTaskModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("Dokončiť")])),_:1})),(0,m.Wm)(f.T,{class:"button secondary",onClick:t[20]||(t[20]=e=>o.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)("Uložiť zmeny")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var De=s(63972),Me=s(87103);const Te={class:"w-100 d-flex align-center"},$e={key:0,class:"m-2 d-flex align-center flex-wrap"},Ce={key:0,class:"d-flex align-center"},je=["src"];function Ee(e,t,i,l,n,o){return(0,m.wg)(),(0,m.iD)("div",Te,[(0,m._)("input",{type:"file",multiple:"",name:"file",id:"fileInput",class:"hidden-input",accept:"*",onChange:t[0]||(t[0]=(...e)=>o.onChange&&o.onChange(...e)),ref:"fileUpload"},null,544),(0,m.Wm)(f.T,{class:"upload-btn",onClick:t[1]||(t[1]=t=>e.$refs.fileUpload.click())},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-cloud-upload-outline"}),(0,m.Uk)("NAHRAŤ ")])),_:1}),n.uploadedFiles?((0,m.wg)(),(0,m.iD)("div",$e,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.uploadedFiles,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.name,class:"mx-2"},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.name)+" ",1),(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.size/1048576).toFixed(2))+" MB",1),(0,m.Wm)(b.t,{size:"small",icon:"mdi-close",onClick:(0,a.iM)((t=>o.remove(n.uploadedFiles.indexOf(e))),["stop"])},null,8,["onClick"])])),_:2},1024)])))),128)),i.isSaving?((0,m.wg)(),(0,m.iD)("div",Ce,[i.isSaving?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,je)):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])):(0,m.kq)("",!0)])}var xe={emit:["files-uploaded"],props:{files:{type:Array,default:()=>[]},isSaving:{type:Boolean,required:!1}},data(){return{uploadedFiles:[]}},created(){this.uploadedFiles=this.files},methods:{onChange(){const e=[...this.$refs.fileUpload.files],t=52428800,s=e.filter((e=>e.size>t));s.length>0?this.$toast.error("File is too large. Maximum file size is 50 MB."):(this.uploadedFiles=[...this.uploadedFiles,...e],this.$emit("files-uploaded",this.uploadedFiles),this.$refs.fileUpload.value="")},remove(e){this.uploadedFiles.splice(e,1)}}};const We=(0,$.Z)(xe,[["render",Ee],["__scopeId","data-v-79444997"]]);var Se=We,Ve=s(16824),Oe=s(68521),ze=s(74286);const Ae={class:"d-flex align-center"},Ue=(0,m._)("p",{class:"mx-3"},"Trvanie",-1),Ze={class:"d-flex align-center mb-3"},He=(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1),Fe={class:"d-flex justify-space-between align-center"},Ie=(0,m._)("h1",null,"Pridať dátum",-1),Pe={class:"d-flex justify-space-between align-center"},Le={class:"text-red"},Ye=(0,m._)("br",null,null,-1),Ne={class:"text-black"};function qe(e,t,s,i,l,n){const o=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ae,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),Ue])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ze,[(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),He]),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.timeblocks,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(b.t,{onClick:(0,a.iM)((a=>s.subtask.id?n.deleteTimeblock(e):n.deleteTimeblockWithoutId(t)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("p",{class:(0,k.C_)(["task-badge rounded-pill",{"strike-through":e.is_finished}])},(0,k.zw)(l.tmUtils.formatDateTime(e.start))+" - "+(0,k.zw)(l.tmUtils.formatDateTime(e.end)),3),(0,m.wy)((0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>n.toggleTimeblockIsFinished(e)),["stop"]),class:(0,k.C_)(["circle-border cursor-pointer ml-2",{completed:e.is_finished}]),icon:"mdi-check",size:"medium"},null,8,["onClick","class"]),[[a.F8,s.subtask.id]])])))),128))])),_:1})])),_:1})])),_:1}),(0,m.Wm)(w.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[6]||(t[6]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Fe,[Ie,(0,m.Wm)(b.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(o,{modelValue:l.form.date,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.date=e),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:(0,k.C_)(["mb-5 modal-input",{error:l.v$.form.date.$errors.length}])},null,8,["modelValue","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.starts_at_time,"onUpdate:modelValue":t[3]||(t[3]=e=>l.form.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.form.ends_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.form.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.form.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.form.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.form.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[5]||(t[5]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"]),(0,m.Wm)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[10]||(t[10]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Pe,[(0,m._)("h1",Le,[(0,m.Uk)("Ste si istý, že chcete pridať timeblock po deadline "),Ye,(0,m.Uk)(),(0,m._)("b",Ne,"z mastertasku "+(0,k.zw)(s.subtask?.project_code)+" ?",1)]),(0,m.Wm)(b.t,{onClick:t[7]||(t[7]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[8]||(t[8]=(0,a.iM)((e=>n.confirmSubmit()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[9]||(t[9]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Be=s(36797),Re=s.n(Be),Ke={mixins:[M],emits:["update-subtask"],components:{Datepicker:De.Z},props:{timeblocks:{type:Array,required:!0},subtask:{type:Object,required:!0}},data(){return{v$:(0,V.ZP)(),errorUtils:z.Z,tmUtils:A.Z,showModal:!1,visible:!1,form:{date:null,starts_at_time:"09:00",ends_at_time:"16:00"}}},validations(){return{form:{date:{required:O.C1},starts_at_time:{required:O.C1},ends_at_time:{required:O.C1}}}},computed:{...(0,U.Se)("tm",["mastertasks"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(e.deadline));const l=this.isAfterDeadline();l?this.visible=!0:e.id?this._update(e):this.$emit("update-unfinished-subtask",e)},async confirmSubmit(){const e=JSON.parse(JSON.stringify(this.subtask)),t=this.form.starts_at_time.split(":"),s=this.form.ends_at_time.split(":"),a=Re()(this.form.date).hours(parseInt(t[0])).minutes(parseInt(t[1])).toISOString(),i=Re()(this.form.date).hours(parseInt(s[0])).minutes(parseInt(s[1])).toISOString();if(e?.timeblocks||(e.timeblocks=[]),e?.timesheets||(e.timesheets=[]),e?.is_finished||(e.is_finished=0),e.timeblocks.push({end:A.Z.formatDateTimeForBackend(i),id:null,is_finished:0,start:A.Z.formatDateTimeForBackend(a)}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(e.deadline)),!e.id)return this.$emit("update-unfinished-subtask",e),void this.closeModal();this.visible=!1,this._update(e)},async toggleTimeblockIsFinished(e){const t=JSON.parse(JSON.stringify(this.subtask)),s=JSON.parse(JSON.stringify(e));s.is_finished=1==s.is_finished?0:1;try{const{data:e}=await this.$axios.put_auth(`v1/timeblocks/${s.id}`,s);t.timeblocks=t.timeblocks.map((t=>t.id==e.id?e:t)),this.$events.emit("on-subtask-edited",t),this.$emit("update-subtask",t),s.is_finished&&this.$events.emit("show-task-add-time-modal",{subtask:t})}catch(a){this.$toast.error(a.message||a)}},async deleteTimeblock({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timeblocks=t.timeblocks.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},deleteTimeblockWithoutId(e){this.$emit("delete-timeblock")},async _update(e){try{const t=e.timesheets.map((e=>(delete e.employee_name,e))),{subtask:s}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,{...e,timesheets:t});this.closeModal(),this.$events.emit("on-subtask-edited",s)}catch(t){this.$toast.error(t.message||t)}},isAfterDeadline(){const e=this.getDeadline(this.subtask);if(!e)return;const t=Re()(this.form.date),s=Re()(e),[a,i]=this.form.ends_at_time.split(":").map(Number);return t.hours(a),t.minutes(i),t.isAfter(s)},getDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline},closeModal(){this.form={date:null,starts_at_time:"09:00",ends_at_time:"16:00"},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))}}};const Je=(0,$.Z)(Ke,[["render",qe]]);var Xe=Je,Ge={data(){return{preventInputFocus:!1}},methods:{setFocusEvent(){document.querySelectorAll(".v-autocomplete input").forEach((e=>{e.addEventListener("focus",this.onInputFocus)}))},onDateFocus(e){void 0==e&&(this.preventInputFocus=!0)},onInputFocus(e){this.preventInputFocus&&(e.target.blur(),this.preventInputFocus=!1)}}},Qe=s(15941),et={computed:{employeesOptions(){const e=[...this.mastertask.employees].map((e=>e.id));return this.enrichedEmployees.filter((t=>!e.includes(t.id)))||[]},projectsOptions(){const e=/[^a-zA-Z0-9 ]/g,t=this.projectCodeSearch?this.projectCodeSearch.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,""):"",s=this.projects.filter((s=>{const a=s.code.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(e,"");return a.toLowerCase().includes(t.toLowerCase())}));let a=s?.length?s.slice(0,10):this.projects.slice(0,10);if(!this.mastertask?.project_id)return a;const i=this.projects.find((e=>e.id==this.mastertask?.project_id));return a=a.filter((e=>e.id!=i.id)),[...a,i]}},methods:{onEmployeeSelected(e){const t=this.enrichedEmployees.find((t=>t.id==e));Qe.log("add employee",t),this.mastertask.employees.push(t),this.showAddEmployeeInput=!1},onEmployeeDurationChanged(){let e=0;this.mastertask.employees=this.mastertask.employees.map((t=>("string"==typeof t.duration?(e+=parseFloat(t.duration),t.duration=parseFloat(t.duration),t.invalid=!1):"number"==typeof t.duration&&(e+=t.duration,t.invalid=!1),t))),this.mastertask.duration=e}},watch:{"mastertask.team_id"(e){if(!e)return;const t=this.teams.find((t=>t.id==e));t&&(this.mastertask.team=JSON.parse(JSON.stringify(t)),this.mastertask.employees=[...this.mastertask.team.employees])}}},tt=s(66154);function st(e,t,s,a,i,l){const n=(0,m.up)("A-mastertask-name"),o=(0,m.up)("A-mastertask-status"),r=(0,m.up)("A-task-deadline"),d=(0,m.up)("A-task-timeblocks"),u=(0,m.up)("Z-created-by"),c=(0,m.up)("A-task-assigned-employee"),h=(0,m.up)("A-task-planned-time"),p=(0,m.up)("A-task-remaining-time"),v=(0,m.up)("A-task-spent-time"),k=(0,m.up)("A-task-description"),f=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{name:s.subtask._master_task.name,id:s.subtask.master_task_id,color:s.subtask._master_task.color,onCloseModal:t[0]||(t[0]=t=>e.$emit("close-modal"))},null,8,["name","id","color"]),(0,m.Wm)(o,{isFinished:s.subtask.is_finished},null,8,["isFinished"]),(0,m.Wm)(r,{subtask:s.subtask},null,8,["subtask"]),(0,m.Wm)(d,{timeblocks:s.subtask.timeblocks,subtask:s.subtask,onUpdateSubtask:t[1]||(t[1]=t=>e.$emit("update-subtask",t))},null,8,["timeblocks","subtask"]),(0,m.Wm)(u,{"employee-id":s.subtask.created_by},null,8,["employee-id"]),(0,m.Wm)(c,{employee:s.subtask._employee},null,8,["employee"]),(0,m.Wm)(h,{hours:s.subtask.duration},null,8,["hours"]),(0,m.Wm)(p,{hours:s.subtask.duration-s.subtask.spent_time},null,8,["hours"]),(0,m.Wm)(v,{hours:s.subtask.spent_time,subtask:s.subtask},null,8,["hours","subtask"]),(0,m.Wm)(k,{description:s.subtask.description,"mastertask-description":s.subtask.master_task_description},null,8,["description","mastertask-description"]),(0,m.Wm)(f,{files:s.subtask.files},null,8,["files"])],64)}const at={class:"d-flex align-center"},it=(0,m._)("p",{class:"mx-3"},"Mastertask",-1);function lt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",at,[(0,m.Wm)(b.t,{icon:"mdi-link",size:"large"}),it])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill hover",onClick:t[0]||(t[0]=e=>l.openMastertask()),style:(0,k.j5)({backgroundColor:s.color})},(0,k.zw)(s.name),5)])),_:1})])),_:1})])),_:1})}var nt={emits:["close-modal"],props:{name:{type:String,required:!0},id:{type:Number,required:!0},color:{type:String,required:!0}},methods:{openMastertask(){this.$emit("close-modal"),this.$events.emit("show-mastertask-modal",{mastertask:{id:this.id},editMode:!1})}}};const ot=(0,$.Z)(nt,[["render",lt]]);var rt=ot;const dt={class:"d-flex align-center"},ut=(0,m._)("p",{class:"mx-3"},"Status",-1),ct={key:0,class:"status-badge px-4 py-2 rounded-pill"},mt={key:1,class:"status-badge px-4 py-2 rounded-pill"};function ht(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",dt,[(0,m.Wm)(b.t,{icon:"mdi-drag-vertical",size:"large"}),ut])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.isFinished?((0,m.wg)(),(0,m.iD)("p",ct,"Ukončený")):((0,m.wg)(),(0,m.iD)("p",mt,"Neukončený"))])),_:1})])),_:1})])),_:1})}var pt={props:{isFinished:{type:Number,default:()=>0}}};const vt=(0,$.Z)(pt,[["render",ht]]);var kt=vt;const ft={class:"d-flex align-center"},gt=(0,m._)("p",{class:"mx-3"},"Vytvoril",-1),_t={class:"employee-selected-avatar d-flex justify-center align-center"},wt={class:"ml-2"};function bt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ft,[(0,m.Wm)(b.t,{icon:"mdi-account-star-outline",size:"large"}),gt])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",_t,(0,k.zw)(l.employee?l.employee._initials:"?"),1),(0,m._)("p",wt,(0,k.zw)(l.employee?l.employee._fullName:e.$t("Unasigned")),1)])),_:1})])),_:1})])),_:1})}var yt={props:{employeeId:{type:[Number],required:!1}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),employee(){return this.enrichedEmployees.find((e=>e.id==this.employeeId))}}};const Dt=(0,$.Z)(yt,[["render",bt]]);var Mt=Dt;const Tt={class:"d-flex align-center"},$t=(0,m._)("p",{class:"mx-3"},"Priradený",-1),Ct={class:"employee-selected-avatar d-flex justify-center align-center"},jt=["innerHTML"];function Et(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Tt,[(0,m.Wm)(b.t,{icon:"mdi-account-outline",size:"large"}),$t])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex align-center"},{default:(0,m.w5)((()=>[(0,m._)("p",Ct,(0,k.zw)(s.employee.name.charAt(0)+s.employee.surname.charAt(0)),1),(0,m._)("p",{class:"ml-2",innerHTML:`${s.employee.name} ${s.employee.surname}`},null,8,jt)])),_:1})])),_:1})])),_:1})}var xt={props:{employee:{type:Object,required:!0}}};const Wt=(0,$.Z)(xt,[["render",Et]]);var St=Wt;const Vt={class:"d-flex align-center"},Ot=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function zt(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Vt,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Ot])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var At={props:{hours:{type:Number,required:!0}}};const Ut=(0,$.Z)(At,[["render",zt]]);var Zt=Ut;const Ht=e=>((0,m.dD)("data-v-c9f868dc"),e=e(),(0,m.Cn)(),e),Ft={class:"d-flex align-center"},It=Ht((()=>(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1))),Pt={class:"d-flex align-center mb-3"},Lt=Ht((()=>(0,m._)("p",{class:"task-badge rounded-pill"},"Pridať záznam",-1))),Yt={class:"d-flex align-center flex-start width-100"},Nt={class:"task-badge rounded-pill"},qt={class:"ml-5"},Bt={class:"d-flex justify-space-between align-center"},Rt=Ht((()=>(0,m._)("h1",null,"Pridať odpracovaný čas",-1)));function Kt(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ft,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),It])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1}),(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Pt,[(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=e=>l.showModal=!0),class:"add-date cursor-pointer mr-2",icon:"mdi-plus",size:"medium"}),Lt]),s.subtask.timesheets.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(s.subtask.timesheets,(e=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:"d-flex align-center mb-3"},[(0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>n.deleteTimesheet(e)),["stop"]),class:"circle-border cursor-pointer mr-2",icon:"mdi-minus",size:"medium"},null,8,["onClick"]),(0,m._)("div",Yt,[(0,m._)("p",Nt,(0,k.zw)(e.time),1),(0,m._)("p",qt,(0,k.zw)(e.employee_name)+" ("+(0,k.zw)(e.timestamp)+")",1)])])))),128)):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1}),(0,m.Wm)(w.B,{"max-width":"750",modelValue:l.showModal,"onUpdate:modelValue":t[4]||(t[4]=e=>l.showModal=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Bt,[Rt,(0,m.Wm)(b.t,{onClick:t[1]||(t[1]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[2]||(t[2]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[3]||(t[3]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])],64)}var Jt={mixins:[M],props:{hours:{type:Number,required:!0},subtask:{type:Object,required:!0}},data(){return{moment:Re(),v$:(0,V.ZP)(),errorUtils:z.Z,showModal:!1,form:{hours:null}}},validations(){return{form:{hours:{required:O.C1,numeric:O.uR,minValue:(0,O.uv)(.1)}}}},computed:{...(0,U.Se)("auth",["user"])},methods:{async submit(){if(!await this.v$.$validate())return;const e=JSON.parse(JSON.stringify(this.subtask));e.timesheets.push({id:null,employee_id:this.user.id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours}),e.deadline&&(e.deadline=A.Z.formatDateTimeForBackend(e.deadline)),this._update(e)},async deleteTimesheet({id:e}){const t=JSON.parse(JSON.stringify(this.subtask));t.timesheets=t.timesheets.filter((t=>t.id!=e)),t.deadline&&(t.deadline=A.Z.formatDateTimeForBackend(t.deadline)),this._update(t)},closeModal(){this.form={hours:null},this.showModal=!1,this.$nextTick((()=>this.v$.$reset()))},async _update(e){try{e.timesheets=e.timesheets.map((e=>(delete e.employee_name,e)));const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}}}};const Xt=(0,$.Z)(Jt,[["render",Kt],["__scopeId","data-v-c9f868dc"]]);var Gt=Xt;const Qt={class:"d-flex align-center"},es=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function ts(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Qt,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),es])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours.toFixed(2))+" h",1)])),_:1})])),_:1})])),_:1})}var ss={props:{hours:{type:Number,required:!0}}};const as=(0,$.Z)(ss,[["render",ts]]);var is=as,ls=s(80678);const ns={class:"d-flex align-center"},os=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function rs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",ns,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),os])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[s.subtask.deadline?((0,m.wg)(),(0,m.iD)("p",{key:0,class:(0,k.C_)(""+(i.tmUtils.isAfter(s.subtask.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDate(s.subtask.deadline))+" "+(0,k.zw)(l.deadlineTime),3)):((0,m.wg)(),(0,m.j4)(ls.N,{key:1,text:"Deadline z Mastertasku",location:"end"},{activator:(0,m.w5)((({props:e})=>[(0,m._)("span",(0,m.dG)({class:"cursor-pointer"},e),(0,k.zw)(l.getMasterTaskDeadline(s.subtask))+"*",17)])),_:1}))])),_:1})])),_:1})])),_:1})}var ds={props:{subtask:{type:[String,Object,null],required:!0}},computed:{...(0,U.Se)("tm",["mastertasks"]),deadlineTime(){const e=this.subtask?._deadline_time;return e?Re()(e,"HH:mm:ss").format("HH:mm"):""}},data(){return{tmUtils:A.Z}},methods:{getMasterTaskDeadline(e){return e?.deadline?e.deadline:e.master_task_deadline}}};const us=(0,$.Z)(ds,[["render",rs]]);var cs=us;const ms={key:0,class:"px-5 py-5 border-bottom"},hs=(0,m._)("p",null,"Popis zadania",-1),ps=["innerHTML"],vs={key:1,class:"px-5 py-5 border-bottom"},ks=(0,m._)("p",null,"Popis mastertasku",-1),fs=["innerHTML"];function gs(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ms,[hs,(0,m._)("section",{innerHTML:s.description,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,ps)])):(0,m.kq)("",!0),s.mastertaskDescription?((0,m.wg)(),(0,m.iD)("div",vs,[ks,(0,m._)("section",{innerHTML:s.mastertaskDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,fs)])):(0,m.kq)("",!0)],64)}var _s={props:{description:{type:String||null,default:()=>null},mastertaskDescription:{type:String||null,default:()=>null}}};const ws=(0,$.Z)(_s,[["render",gs]]);var bs=ws;const ys=e=>((0,m.dD)("data-v-634e184f"),e=e(),(0,m.Cn)(),e),Ds=ys((()=>(0,m._)("p",{class:"mt-5"},"Prílohy",-1))),Ms={class:"w-100 d-flex align-center"},Ts=["onClick"],$s={key:0,class:"d-flex align-center"},Cs=["src"],js=ys((()=>(0,m._)("p",{class:"ml-2"},"Súbor sa sťahuje, počkajte prosím",-1)));function Es(e,t,a,i,l,n){const o=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.iD)(m.HY,null,[Ds,(0,m._)("div",Ms,[(0,m.Wm)(o,{content:a.files,emptyMessage:"Žiadne prílohy neboli nahraté"},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(a.files,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{key:e.id,class:(0,k.C_)(["d-flex align-center flex-wrap",[0===t?"ml-0":"ml-2"]])},[(0,m.Wm)(Me.v,{class:"mt-2"},{default:(0,m.w5)((()=>[(0,m._)("p",{onClick:t=>n.downloadFile(e),class:"cursor-pointer"},(0,k.zw)(e.name),9,Ts),(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-paperclip"}),(0,m._)("p",null,(0,k.zw)((e.file_size/1048576).toFixed(2))+" MB",1)])),_:2},1024),e.isLoading?((0,m.wg)(),(0,m.iD)("div",$s,[(0,m._)("img",{class:"gif-loader",src:s(14214),alt:"Loading..."},null,8,Cs),js])):(0,m.kq)("",!0)],2)))),128))])),_:1},8,["content"])])],64)}var xs={props:{files:{type:Array,default:()=>[]}},data(){return{isLoading:!1}},methods:{async downloadFile(e){e.isLoading=!0;try{const t=await fetch(e.path),s=await t.blob();tt.saveAs(s,e.name)}catch(t){this.$toast.error(this.$parseError(t))}finally{e.isLoading=!1}}}};const Ws=(0,$.Z)(xs,[["render",Es],["__scopeId","data-v-634e184f"]]);var Ss=Ws,Vs={emits:["close-modal","update-subtask"],components:{ZFiles:Ss,AMastertaskName:rt,AMastertaskStatus:kt,ATaskTimeblocks:Xe,ZCreatedBy:Mt,ATaskAssignedEmployee:St,ATaskPlannedTime:Zt,ATaskSpentTime:Gt,ATaskRemainingTime:is,ATaskDescription:bs,ATaskDeadline:cs},props:{subtask:{type:Object,required:!0}}};const Os=(0,$.Z)(Vs,[["render",st]]);var zs=Os;const As={class:"timeblock w-100"},Us={key:0,class:"x-button"},Zs={class:"splitted-time-inputs"};function Hs(e,t,s,a,i,l){const n=(0,m.up)("Datepicker");return(0,m.wg)(),(0,m.iD)("div",As,[s.deletable&&s.editable?((0,m.wg)(),(0,m.iD)("div",Us,[(0,m._)("button",{onClick:t[0]||(t[0]=t=>e.$emit("removeTimeblock")),class:"x-button"},"x")])):(0,m.kq)("",!0),(0,m.Wm)(n,{"model-value":s.timeblock.date,onFocus:t[1]||(t[1]=t=>e.$emit("onDateFocus")),"onUpdate:modelValue":l.updateDate,format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","auto-apply":!0,"enable-time-picker":!1,class:"mb-5 modal-input"},null,8,["model-value","onUpdate:modelValue"]),(0,m._)("div",Zs,[(0,m.Wm)(x.hw,{value:s.timeblock.starts_at_time,onInput:l.updateStartTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.starts_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Začiatok"},null,8,["value","onInput","onFocus","class"]),(0,m.Wm)(x.hw,{value:s.timeblock.ends_at_time,onInput:l.updateEndTime,onFocus:e.onInputFocus,class:(0,k.C_)({error:i.v$?.timeblock.ends_at_time.$errors.length}),type:"time",variant:"solo","bg-color":"white",label:"Koniec"},null,8,["value","onInput","onFocus","class"])])])}var Fs=s(15941),Is={components:{Datepicker:De.Z},props:{timeblock:{type:Object,required:!0},deletable:{type:Boolean,default:!1},editable:{type:Boolean,default:!1}},data(){return{v$:(0,V.ZP)()}},validations(){return{timeblock:{starts_at_time:{required:(0,O.CF)(this.timeblock.date)},ends_at_time:{required:(0,O.CF)(this.timeblock.date)}}}},methods:{onFocus(){Fs.log("focus")},updateDate(e){const t={...this.timeblock};e&&(t.date=e),this.$emit("updateTimeblock",t)},updateStartTime(e){const t={...this.timeblock};t.starts_at_time=e.target.value,this.$emit("updateTimeblock",t)},updateEndTime(e){const t={...this.timeblock};t.ends_at_time=e.target.value,this.$emit("updateTimeblock",t)}}};const Ps=(0,$.Z)(Is,[["render",Hs],["__scopeId","data-v-75050b9e"]]);var Ls=Ps,Ys=s(15941),Ns={emits:["close","refresh"],mixins:[Ge,et,Z.Z,M],components:{ZTaskReadonlyInfo:zs,ATimeblock:Ls,ZFilesUpload:Se,Datepicker:De.Z,QuillEditor:r.Bn},data(){return{tmUtils:A.Z,editMode:!1,visible:!1,subtask:null,isSaving:!1,errorUtils:z.Z,v$:(0,V.ZP)(),employeeValidations:[],showDatePicker:!1,selectedNewDate:[],timeblocks:[{date:null,starts_at_time:null,ends_at_time:null}]}},computed:{...(0,U.Se)("tm",["mastertasks","enrichedEmployees"])},validations(){return{subtask:{master_task_id:{required:O.C1},deadline:{required:O.C1},_deadline_time:{required:O.C1}}}},mounted(){this.$events.on("add-timeblock",(e=>{this.subtask?.timeblocks||(this.subtask.timeblocks=[]),this.subtask?.timesheets||(this.subtask.timesheets=[]),this.subtask?.is_finished||(this.subtask.is_finished=0),this.subtask.timeblocks.push(e)})),this.$events.on("on-subtask-edited",(e=>{e?.id==this.subtask?.id&&(this.subtask=this._enrichTask(e)),this.$forceUpdate()})),this.$events.on("on-subtask-deleted",(e=>{e?.id==this.subtask?.id&&this.closeModal()}))},methods:{updateTimeblock(e,t){this.timeblocks[t]=e},removeTimeblock(e){this.timeblocks.splice(e,1)},async showModal({subtask:e,editMode:t=!1,mastertask:s={}}){this.isSaving=!1,this.subtask=null,this.visible=!0,this.timeblocks=[{date:null,starts_at_time:null,ends_at_time:null}],this.$nextTick((()=>{this.v$.$reset(),this.setFocusEvent()}));try{if(e?.id){const s=await this.$axios.get_auth_data(`v1/subtasks/${e.id}`);if(!s.deadline)return this.editMode=t||!s.id,this.subtask=this._enrichTask(s);const a=s.deadline.split(" ");s.deadline=Re()(a[0]),s._deadline_time=a[1],this.subtask=this._enrichTask(s)}else{if(this.subtask={master_task:s,employees:[{}],_deadline_time:"17:00"},e?.deadline&&e._deadline_time&&e.employee_id){const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));this.subtask.employees=[t],this.subtask.deadline=e.deadline,this.subtask._deadline_time=e._deadline_time}e?.master_task_id&&e?.project_code&&(this.subtask.master_task_id=e.master_task_id,this.subtask.project_code=e.project_code)}this.editMode=t||!this.subtask.id}catch(a){Ys.error("ERROR",a),this.$toast.error(this.$parseError(a))}},deleteTimeblock(e){this.subtask.timeblocks.splice(e,1)},closeModal(){this.visible=!1,this.$router.replace({name:this.$route.name})},async save(){const e=await this._validateEmployees(),t=!!this.subtask?.id||await this._validateTimeblocks();if(await this.v$.$validate()&&e&&t){this.subtask.description=this.$refs["description"].getHTML(),this._mergeDeadlineTimeDate();try{if(this.isSaving=!0,this.subtask.deadline=Re()(this.subtask.deadline).format("YYYY-MM-DD HH:mm:SS"),this.subtask?.id){const e=this.subtask.timesheets.map((e=>(delete e.employee_name,e))),{subtask:t}=await this.$axios.patch_auth_form(`v1/subtasks/${this.subtask.id}`,{...this.subtask,timesheets:e});this.$store.commit("tm/update_subtask",t),this.$events.emit("on-subtask-edited",this.subtask)}else{this.subtask.employees.forEach((e=>{e.id&&(e.timeblocks=this.timeblocks.filter((e=>e.date)).map((e=>({start:`${Re()(e.date).format("YYYY-MM-DD")} ${e.starts_at_time}:00`,end:`${Re()(e.date).format("YYYY-MM-DD")} ${e.ends_at_time}:00`,id:null}))))}));const e=this.subtask;delete e._master_task;const{subtasks:t}=await this.$axios.post_auth(`v1/mastertasks/${this.subtask.master_task_id}/subtasks`,e);this.subtask.id=t[0].id,t.forEach((e=>{this.$store.commit("tm/update_subtask",e),this.$events.emit("on-subtask-edited",this.subtask)})),this.$events.emit("task-created"),this.$events.emit("close-both-modals")}this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},showCompleteTaskModal(){this.$events.emit("show-complete-task-modal",{subtask:this.subtask}),this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline))},filesUploaded(e){this.subtask.files=e},updateSubtask(e){Ys.log("UPDATE SUBTASK: ",e.timeblocks[0]),this.subtask=e},_mergeDeadlineTimeDate(){const e=new Date(this.subtask.deadline),t=this.subtask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.subtask.deadline=e},_validateEmployees(){return new Promise((e=>{if(this.employeeValidations=[],this.subtask.id){if(this.subtask.employee&&this.subtask.duration)return;this.employeeValidations[0]={},this.subtask.employee_id||(this.employeeValidations[0].employee=!0),this.subtask.duration||(this.employeeValidations[0].duration=!0)}else this.subtask.employees.forEach(((e,t)=>{t==this.subtask.employees.length-1&&t>0||e.id&&e.duration||(this.employeeValidations[t]={},e.id||(this.employeeValidations[t].employee=!0),e.duration||(this.employeeValidations[t].duration=!0))}));const t=this.employeeValidations.some((e=>e.duration||e.employee));e(!t)}))},async _validateTimeblocks(){let e=!1;for(let t=0;tt.id==e.created_by)),_employee:this.enrichedEmployees.find((t=>t.id==e.employee_id)),_master_task:this.mastertasks.find((t=>t.id==e.master_task_id))}}},watch:{"subtask.employee_id"(e,t){e&&t&&(this.subtask.timeblocks=[],this.subtask._employee=this.enrichedEmployees.find((e=>e.id==this.subtask.employee_id)))},"subtask.employees":{handler(){if(!this.subtask?.employees)return;const e=this.subtask.employees[this.subtask.employees.length-1];(e.id||e.duration)&&this.subtask.employees.push({})},deep:!0},"subtask.master_task_id"(e){e&&(this.subtask._master_task=this.mastertasks.find((e=>e.id==this.subtask.master_task_id)),this.subtask.project_code=this.subtask._master_task?.project_code||null)},editMode(){this.$nextTick((()=>{this.$refs["description"]?.setHTML(this.subtask.description||"")}))}}};const qs=(0,$.Z)(Ns,[["render",ye],["__scopeId","data-v-3ec6ac9f"]]);var Bs=qs;const Rs={class:"d-flex justify-space-between align-center"};function Ks(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Rs,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.blocker.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteBlocker()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Js={mixins:[M],emits:["on-blocker-deleted"],data(){return{visible:!1,blocker:null,isDeleting:!1}},methods:{async showModal({blocker:e}){this.blocker=e,this.visible=!0},closeModal(){this.visible=!1},async deleteBlocker(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/blockers/${this.blocker.id}`),this.$emit("on-blocker-deleted",this.blocker),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const Xs=(0,$.Z)(Js,[["render",Ks]]);var Gs=Xs;const Qs={class:"d-flex justify-space-between align-center"};function ea(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",Qs,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.subtask.is_finished?"znovu otvoriť":"dokončiť")+" sub task, z mastertasku ",1),(0,m._)("b",null,(0,k.zw)(l.subtask?.master_task?.name||l.subtask.master_task),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ta={mixins:[M],emits:["close","on-subtask-edited"],data(){return{visible:!1,subtask:null}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0},async complete(){try{const e={...this.subtask,is_finished:this.subtask.is_finished?0:1,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))},{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${e.id}`,e);this.visible=!1,this.$emit("on-subtask-edited",t)}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.visible=!1}}};const sa=(0,$.Z)(ta,[["render",ea]]);var aa=sa;const ia={class:"d-flex justify-space-between align-center"};function la(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",ia,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete "+(0,k.zw)(l.mastertask.is_finished?"znovu otvoriť":"dokončiť")+" ",1),(0,m._)("b",null,(0,k.zw)(l.mastertask?.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>l.visible=!1),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.complete())},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>l.visible=!1),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var na={mixins:[M],emits:["close","master-task-edited"],data(){return{visible:!1,mastertask:null}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},async complete(){try{const e={...this.mastertask,is_finished:this.mastertask.is_finished?0:1},{mastertask:t}=await this.$axios.put_auth(`v1/mastertasks/${e.id}`,e);this.visible=!1,this.$emit("master-task-edited",t),this.$events.emit("close-both-modals")}catch(e){this.$toast.error(this.$parseError(e))}}}};const oa=(0,$.Z)(na,[["render",la]]);var ra=oa;const da={class:"d-flex justify-space-between align-center"},ua=(0,m._)("h1",null,"Pridať odpracovaný čas",-1);function ca(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{"max-width":"750",modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",da,[ua,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{modelValue:l.form.hours,"onUpdate:modelValue":t[1]||(t[1]=e=>l.form.hours=e),variant:"solo","bg-color":"white",type:"number",hint:l.v$.form.hours.$errors?l.errorUtils.parseErrors(l.v$.form.hours.$errors):null,class:(0,k.C_)([{error:l.v$.form.hours.$errors.length},"mb-2"]),label:"Odpracovaný čas"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{onClick:t[2]||(t[2]=e=>n.submit()),class:"button primary mt-5"},{default:(0,m.w5)((()=>[(0,m.Uk)("Potvrdiť")])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ma={mixins:[M],emits:["close","on-subtask-edited"],data(){return{v$:(0,V.ZP)(),errorUtils:z.Z,visible:!1,subtask:null,form:{hours:null}}},validations(){return{form:{hours:{required:O.C1,numeric:O.uR,minValue:(0,O.uv)(.1)}}}},methods:{async showModal({subtask:e}){this.subtask=e,this.visible=!0,this.form.hours=null,this.$nextTick((()=>this.v$.$reset()))},async submit(){if(!await this.v$.$validate())return;this.subtask.deadline&&(this.subtask.deadline=A.Z.formatDateTimeForBackend(this.subtask.deadline)),this.subtask.timesheets.push({id:null,employee_id:this.subtask.employee_id,time:"string"==typeof this.form.hours?parseFloat(this.form.hours):this.form.hours});const e={...this.subtask,timesheets:this.subtask.timesheets.map((e=>(delete e.employee_name,e)))};try{const{subtask:t}=await this.$axios.put_auth(`v1/subtasks/${this.subtask.id}`,e);this.closeModal(),this.$events.emit("on-subtask-edited",t)}catch(t){this.$toast.error(t.message||t)}},closeModal(){this.visible=!1,this.v$.$reset()}}};const ha=(0,$.Z)(ma,[["render",ca]]);var pa=ha;const va={class:"d-flex justify-space-between align-center modal-header"};function ka(e,t,s,i,l,n){const o=(0,m.up)("Datepicker"),r=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[7]||(t[7]=e=>l.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(r,{content:l.blocker,class:"h-100"},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,{height:"100%",class:"d-flex flex-column"},{default:(0,m.w5)((()=>[(0,m._)("div",va,[(0,m._)("h1",null,(0,k.zw)(l.blocker.id?"Upraviť":"Vytvoriť")+" blocker",1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(x.hw,{onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:l.v$.blocker.name.$errors.length}]),label:"Názov blockeru",hint:l.v$.blocker.name.$errors?l.errorUtils.parseErrors(l.v$.blocker.name.$errors):null,modelValue:l.blocker.name,"onUpdate:modelValue":t[1]||(t[1]=e=>l.blocker.name=e),variant:"solo"},null,8,["onFocus","class","hint","modelValue"]),(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,clearable:"",label:"Vyhľadať zamestnanca",items:[...e.enrichedEmployees],"item-title":"_fullName","item-value":"id",variant:"solo",class:"modal-input",modelValue:l.blocker.employee_id,"onUpdate:modelValue":t[2]||(t[2]=e=>l.blocker.employee_id=e)},null,8,["custom-filter","items","modelValue"]),(0,m.Wm)(o,{class:(0,k.C_)(["modal-input mb-5",{error:l.v$.datepicker.$errors?.length}]),modelValue:l.datepicker,"onUpdate:modelValue":t[3]||(t[3]=e=>l.datepicker=e),"auto-apply":!0,format:"dd.MM.yyyy",locale:"sk",validations:l.v$.datepicker,"select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum","enable-time-picker":!1,ref:"datepicker"},null,8,["modelValue","class","validations"]),(0,m.Wm)(x.hw,{modelValue:l.starts_at_time,"onUpdate:modelValue":t[4]||(t[4]=e=>l.starts_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.starts_at_time.$errors?l.errorUtils.parseErrors(l.v$.starts_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.starts_at_time.$errors.length},"mb-1 modal-input"]),label:"Začiatok"},null,8,["modelValue","hint","class"]),(0,m.Wm)(x.hw,{modelValue:l.ends_at_time,"onUpdate:modelValue":t[5]||(t[5]=e=>l.ends_at_time=e),type:"time",variant:"solo","bg-color":"white",hint:l.v$.ends_at_time.$errors?l.errorUtils.parseErrors(l.v$.ends_at_time.$errors):null,class:(0,k.C_)([{error:l.v$.ends_at_time.$errors.length},"modal-input"]),label:"Koniec"},null,8,["modelValue","hint","class"])])),_:1}),(0,m.Wm)(f.T,{class:"button primary",onClick:t[6]||(t[6]=e=>n.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(l.blocker.id?"UPRAVIŤ":"VYTVORIŤ"),1)])),_:1})])),_:1})])),_:1},8,["content"])])),_:1},8,["modelValue"])}var fa={mixins:[Ge,Z.Z,M],emits:["close"],components:{Datepicker:De.Z},data(){return{visible:!1,v$:(0,V.ZP)(),errorUtils:z.Z,blocker:null,datepicker:null,starts_at_time:null,ends_at_time:null,employee:null}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),...(0,U.Se)("auth",["user"])},validations(){return{blocker:{name:{required:O.C1},start:{required:O.C1},end:{required:O.C1}},starts_at_time:{required:O.C1},ends_at_time:{required:O.C1},datepicker:{required:O.C1}}},methods:{async showModal({blocker:e}){this.visible=!0,this.blocker=null,this.datepicker=null,this.starts_at_time=null,this.ends_at_time=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{e?.id?(e=await this.$axios.get_auth_data(`v1/blockers/${e.id}`),this.starts_at_time=Re()(e.start).format("HH:mm"),this.ends_at_time=Re()(e.end).format("HH:mm"),this.datepicker=new Date(e.start),e.employee_id=e.employee.id,this.blocker=e):(this.blocker={start:null,employee_id:this.user.id},e.starts_at_time&&e.datepicker&&e.employee_id&&(this.datepicker=e.datepicker,this.starts_at_time=e.starts_at_time,this.blocker.employee_id=e.employee_id))}catch(t){this.$toast.error(this.$parseError(t))}},async save(){if(await this.v$.$validate())try{if(this.blocker.id){const{blocker:e}=await this.$axios.put_auth(`v1/blockers/${this.blocker.id}`,this.blocker);this.blocker=e}else{const{blocker:e}=await this.$axios.post_auth("v1/blockers",this.blocker);this.blocker=e}this.$events.emit("on-blocker-edited",this.blocker),this.$events.emit("blocker-created"),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},closeModal(){this.$refs["datepicker"].clearValue(),this.visible=!1,this.$emit("close",this.blocker)},onEmployeeSelected({key:e}){this.blocker.employee=this.enrichedEmployees.find((t=>t.id==e))},_syncDatesTimes(){if(!this.starts_at_time||!this.ends_at_time||!this.datepicker)return;const e=this.starts_at_time.split(":"),t=this.ends_at_time.split(":");this.blocker.start=Re()(this.datepicker).set({hours:parseInt(e[0]),minutes:parseInt(e[1])}).format("YYYY-MM-DD HH:mm"),this.blocker.end=Re()(this.datepicker).set({hours:parseInt(t[0]),minutes:parseInt(t[1])}).format("YYYY-MM-DD HH:mm")}},watch:{ends_at_time(){this._syncDatesTimes()},starts_at_time(){this._syncDatesTimes()},datepicker(){this._syncDatesTimes()}}};const ga=(0,$.Z)(fa,[["render",ka]]);var _a=ga;const wa={class:"d-flex justify-space-between align-center"};function ba(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",wa,[(0,m._)("h1",null,[(0,m.Uk)("Ste si istý, že chcete zmazať "),(0,m._)("b",null,(0,k.zw)(l.mastertask.name),1),(0,m.Uk)("?")]),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"mb-15"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half",variant:"flat",onClick:t[1]||(t[1]=e=>n.deleteMasterTask()),disabled:l.isDeleting},{default:(0,m.w5)((()=>[(0,m.Uk)("ÁNO")])),_:1},8,["disabled"]),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.closeModal()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("ZRUŠIŤ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var ya={mixins:[M],emits:["on-mastertask-deleted"],data(){return{visible:!1,mastertask:null,isDeleting:!1}},methods:{async showModal({mastertask:e}){this.mastertask=e,this.visible=!0},closeModal(){this.visible=!1},async deleteMasterTask(){if(!this.isDeleting){this.isDeleting=!0;try{await this.$axios.delete_auth(`v1/mastertasks/${this.mastertask.id}`),this.$emit("on-mastertask-deleted",this.mastertask),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}finally{this.isDeleting=!1}}}}};const Da=(0,$.Z)(ya,[["render",ba]]);var Ma=Da,Ta=s(10240);const $a={class:"d-flex justify-space-between align-center modal-header"},Ca={class:"splitted-inputs"},ja={class:"employee-select-avatar d-flex justify-center align-center"},Ea={class:"employee-select-avatar d-flex justify-center align-center"},xa={class:"d-flex justify-space-between align-center"},Wa={class:"d-flex justify-space-between align-center modal-header border-bottom pb-4"},Sa={class:"d-flex justify-start"},Va=["src"],Oa=["src"],za={class:"w-100"},Aa={class:"d-flex justify-start align-center mt-8"},Ua={class:"d-flex align-center"};function Za(e,t,i,l,n,o){const r=(0,m.up)("Datepicker"),d=(0,m.up)("QuillEditor"),u=(0,m.up)("Z-files-upload"),c=(0,m.up)("A-mastertask-description"),h=(0,m.up)("A-tasks-table"),p=(0,m.up)("W-loadable");return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:n.visible,"onUpdate:modelValue":t[16]||(t[16]=e=>n.visible=e),"max-width":"750","max-height":"90%",height:"700px",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(p,{content:n.mastertask,class:"h-100"},{default:(0,m.w5)((()=>[n.editMode?((0,m.wg)(),(0,m.j4)(g._,{key:0,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",$a,[(0,m._)("h1",null,(0,k.zw)(n.mastertask?.id?"Upraviť master task":"Vytvoriť master task"),1),(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m.Wm)(E.f,{"custom-filter":e.customFilter,"match-any":!0,modelValue:n.mastertask.project_id,"onUpdate:modelValue":t[1]||(t[1]=e=>n.mastertask.project_id=e),label:e.$t("Project code"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.projectsOptions,"item-title":"code","item-value":"id",variant:"solo",clearable:"","onUpdate:search":t[2]||(t[2]=e=>n.projectCodeSearch=e)},null,8,["custom-filter","modelValue","label","class","items"]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.name,"onUpdate:modelValue":t[3]||(t[3]=e=>n.mastertask.name=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:n.v$.mastertask.name.$errors.length}]),label:"Názov mastertasku",variant:"solo",hint:n.v$.mastertask.name.$errors?n.errorUtils.parseErrors(n.v$.mastertask.name.$errors):null},null,8,["modelValue","onFocus","class","hint"]),(0,m._)("div",Ca,[(0,m.Wm)(r,{modelValue:n.mastertask.deadline,"onUpdate:modelValue":t[4]||(t[4]=e=>n.mastertask.deadline=e),"auto-apply":!0,onFocus:e.onDateFocus,"min-date":new Date,class:(0,k.C_)(["modal-input left",{error:n.v$.mastertask.deadline.$errors?.length}]),format:"dd.MM.yyyy",locale:"sk","select-text":"Vybrať","cancel-text":"Zrušiť",placeholder:"Dátum",validations:n.v$.mastertask.deadline},null,8,["modelValue","onFocus","min-date","class","validations"]),(0,m.Wm)(x.hw,{class:(0,k.C_)(["modal-input right",{error:n.v$.mastertask._deadline_time.$errors.length}]),variant:"solo",modelValue:n.mastertask._deadline_time,"onUpdate:modelValue":t[5]||(t[5]=e=>n.mastertask._deadline_time=e),label:"Čas","append-inner-icon":"mdi-clock-outline",type:"time",onFocus:e.onInputFocus,hint:n.v$.mastertask._deadline_time.$errors?n.errorUtils.parseErrors(n.v$.mastertask._deadline_time.$errors):null},null,8,["modelValue","onFocus","class","hint"])]),(0,m.Wm)(x.hw,{modelValue:n.mastertask.duration,"onUpdate:modelValue":t[6]||(t[6]=e=>n.mastertask.duration=e),onFocus:e.onInputFocus,class:"modal-input",variant:"solo",type:"number",label:`${n.mastertask.duration} h`,disabled:!0},null,8,["modelValue","onFocus","label"]),(0,m.Wm)(Ta.r,{modelValue:n.mastertask.team_id,"onUpdate:modelValue":t[7]||(t[7]=e=>n.mastertask.team_id=e),onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input border-select",{error:n.v$.mastertask.employees.$errors.length}]),label:"Tím",variant:"solo",items:e.teams,"item-value":"id","item-title":"name",disabled:n.mastertask.id},null,8,["modelValue","onFocus","class","items","disabled"]),n.mastertask.id?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.mastertask._allEmployees,(e=>((0,m.wg)(),(0,m.j4)(x.hw,{key:e.id,class:"modal-input",label:`${e.name} ${e.surname}`,variant:"solo",placeholder:"h",modelValue:e.duration,"onUpdate:modelValue":t=>e.duration=t,type:"number",disabled:!0},{default:(0,m.w5)((()=>[(0,m._)("p",Ea,(0,k.zw)(e?.name.charAt(0)+e?.surname.charAt(0)),1),(0,m.Wm)(b.t,{onClick:(0,a.iM)((t=>o.removeEmployee(e)),["stop"]),class:"remove-input",icon:"mdi-close",size:"small"},null,8,["onClick"])])),_:2},1032,["label","modelValue","onUpdate:modelValue"])))),128)):((0,m.wg)(!0),(0,m.iD)(m.HY,{key:0},(0,m.Ko)(n.mastertask.employees,((t,s)=>((0,m.wg)(),(0,m.j4)(x.hw,{key:t.id,onFocus:e.onInputFocus,class:(0,k.C_)(["modal-input",{error:t.invalid}]),label:`${t.name} ${t.surname}`,variant:"solo",placeholder:"h",modelValue:n.mastertask.employees[s].duration,"onUpdate:modelValue":e=>n.mastertask.employees[s].duration=e,type:"number",min:"1",onInput:e.onEmployeeDurationChanged},{default:(0,m.w5)((()=>[(0,m._)("p",ja,(0,k.zw)(t?.name.charAt(0)+t?.surname.charAt(0)),1),(0,m.Wm)(b.t,{onClick:(0,a.iM)((e=>o.removeEmployee(t)),["stop"]),class:"remove-input",icon:"mdi-close",size:"small"},null,8,["onClick"])])),_:2},1032,["onFocus","class","label","modelValue","onUpdate:modelValue","onInput"])))),128)),n.showAddEmployeeInput?((0,m.wg)(),(0,m.j4)(E.f,{key:2,"custom-filter":e.customFilter,"match-any":!0,label:e.$t("Search for employee"),class:(0,k.C_)([{error:n.v$.mastertask.project_id.$errors.length},"modal-input"]),items:e.employeesOptions,"item-title":"_fullName","item-value":"id",variant:"solo",clearable:"","onUpdate:modelValue":e.onEmployeeSelected},null,8,["custom-filter","label","class","items","onUpdate:modelValue"])):(0,m.kq)("",!0),(0,m.Wm)(f.T,{disabled:n.mastertask.id,class:(0,k.C_)(["w-100 mb-5 button secondary",{error:n.v$.mastertask.project_id.$errors.length}]),onClick:t[8]||(t[8]=e=>n.showAddEmployeeInput=!0)},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať zamestnanca ")])),_:1},8,["disabled","class"]),(0,m._)("div",{class:(0,k.C_)(["w-100 modal-input",{error:n.v$.mastertask.description.$errors.length}])},[(0,m.Wm)(d,{ref:"description",modelValue:n.mastertask.description,"onUpdate:modelValue":t[9]||(t[9]=e=>n.mastertask.description=e),placeholder:"Popis",theme:"snow",class:"rich-text-editor",onKeyup:o.onQuillEditorInput},null,8,["modelValue","onKeyup"])],2),(0,m.Wm)(u,{class:"mt-15 files",files:n.mastertask.files,onFilesUploaded:o.filesUploaded,"is-saving":n.isSaving},null,8,["files","onFilesUploaded","is-saving"])])),_:1}),n.isSaving?((0,m.wg)(),(0,m.j4)(f.T,{key:1,class:"button primary disabled",disabled:""},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(e.$t("Ukladám...")),1)])),_:1})):((0,m.wg)(),(0,m.j4)(f.T,{key:0,class:"button primary",onClick:t[10]||(t[10]=e=>o.save())},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.id?"ULOŽIŤ":"VYTVORIŤ"),1)])),_:1}))])),_:1})):((0,m.wg)(),(0,m.j4)(g._,{key:1,height:"100%",class:"d-flex flex-column scrolling"},{default:(0,m.w5)((()=>[(0,m._)("div",xa,[(0,m._)("p",null,(0,k.zw)(n.mastertask.project_code),1),(0,m.Wm)(b.t,{onClick:t[11]||(t[11]=(0,a.iM)((e=>o.closeModal()),["stop"])),icon:"mdi-close",size:"large",class:"pb-5"})]),(0,m._)("div",Wa,[(0,m._)("h1",null,(0,k.zw)(n.mastertask.name),1),(0,m._)("div",Sa,[n.mastertask.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:0,class:"icon",src:s(60666),alt:"pencil-icon",onClick:t[12]||(t[12]=(0,a.iM)((e=>n.editMode=!n.editMode),["stop"]))},null,8,Va)),(0,m._)("img",{class:"icon trash",src:s(27484),alt:"trash-icon",onClick:t[13]||(t[13]=(0,a.iM)((e=>o.openDeleteMasterTaskModal(n.mastertask)),["stop"]))},null,8,Oa)])]),(0,m.Wm)(_.h,{class:"d-flex flex-column modal-content"},{default:(0,m.w5)((()=>[(0,m._)("div",za,[(0,m.Wm)(c,{mastertask:n.mastertask},null,8,["mastertask"]),(0,m._)("div",Aa,[(0,m.Wm)(f.T,{class:"button primary",onClick:t[14]||(t[14]=e=>o.toggleIsFinished(n.mastertask))},{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(n.mastertask.is_finished?"Otvoriť mastertask":"Ukončiť mastertask"),1)])),_:1})]),(0,m.Wm)(h,{subtasks:n.mastertask.subtasks},null,8,["subtasks"]),(0,m._)("div",Ua,[(0,m.Wm)(f.T,{class:"subtask-btn w-100",onClick:t[15]||(t[15]=e=>o.addTask())},{default:(0,m.w5)((()=>[(0,m.Wm)(b.t,{class:"mx-1",icon:"mdi-plus"}),(0,m.Uk)("Pridať sub task")])),_:1})])])])),_:1})])),_:1}))])),_:1},8,["content"])])),_:1},8,["modelValue"])}var Ha=s(4413);const Fa={class:"px-5 py-5"},Ia={key:0,class:"w-25"},Pa={key:1,class:"w-50"},La={class:"d-flex align-center"},Ya={class:"employee-selected-avatar d-flex justify-center align-center"},Na={class:"ml-2 line-clamp"},qa={key:0,class:"text-light-green"},Ba={key:1},Ra={class:"task-action"},Ka={class:"d-flex justify-start"},Ja=["src","onClick"],Xa=["src","onClick"],Ga=["src","onClick"],Qa=["src","onClick"];function ei(e,t,i,l,n,o){return(0,m.wg)(),(0,m.j4)(Ha.Y,{class:"mt-7 mb-5"},{default:(0,m.w5)((()=>[(0,m._)("tbody",Fa,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(o.enrichedtasks,(e=>((0,m.wg)(),(0,m.iD)("tr",{key:e.id},[e?.title?((0,m.wg)(),(0,m.iD)("td",Ia,(0,k.zw)(e.title),1)):((0,m.wg)(),(0,m.iD)("td",Pa,(0,k.zw)(e?.master_task),1)),(0,m._)("td",La,[(0,m._)("p",Ya,(0,k.zw)(e._employeeInitials),1),(0,m._)("p",Na,(0,k.zw)(e._employeeFullName),1)]),(0,m._)("td",null,[e.is_finished?((0,m.wg)(),(0,m.iD)("p",qa,"Ukončený")):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("p",Ba,"Neukončený"))]),(0,m._)("td",Ra,[(0,m._)("div",Ka,[e.is_finished?((0,m.wg)(),(0,m.iD)("img",{key:0,class:"pencil-icon is-finished",src:s(53830),alt:"checkmark-icon",onClick:(0,a.iM)((t=>o.clickCompleteTask(e)),["stop"])},null,8,Ja)):(0,m.kq)("",!0),e.is_finished?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("img",{key:1,class:"pencil-icon",src:s(53830),alt:"checkmark-icon",onClick:(0,a.iM)((t=>o.clickCompleteTask(e)),["stop"])},null,8,Xa)),(0,m._)("img",{class:"pencil-icon ml-2",src:s(34413),alt:"pencil-icon",onClick:(0,a.iM)((t=>o.openTaskModal(e)),["stop"])},null,8,Ga),(0,m._)("img",{class:"trash-icon",src:s(27484),alt:"trash-icon",onClick:(0,a.iM)((t=>o.openDeleteTaskModal(e)),["stop"])},null,8,Qa)])])])))),128))])])),_:1})}var ti={props:{subtasks:{type:Array,required:!0}},computed:{...(0,U.Se)("tm",["enrichedEmployees"]),enrichedtasks(){return this.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_employeeInitials:t._initials,_employeeFullName:t._fullName}}))}},methods:{openDeleteTaskModal(e){this.$events.emit("show-delete-task-modal",{subtask:e})},openTaskModal(e){this.$events.emit("show-subtask-modal",{subtask:e,editMode:!1})},async clickCompleteTask(e){this.$events.emit("show-complete-task-modal",{subtask:e})}}};const si=(0,$.Z)(ti,[["render",ei],["__scopeId","data-v-6a5e57ec"]]);var ai=si;function ii(e,t,s,a,i,l){const n=(0,m.up)("Z-status"),o=(0,m.up)("Z-deadline"),r=(0,m.up)("Z-created-by"),d=(0,m.up)("Z-team"),u=(0,m.up)("Z-planned-time"),c=(0,m.up)("Z-remaining-time"),h=(0,m.up)("Z-spent-time"),p=(0,m.up)("Z-description"),v=(0,m.up)("Z-files");return(0,m.wg)(),(0,m.iD)(m.HY,null,[(0,m.Wm)(n,{status:s.mastertask.is_finished},null,8,["status"]),(0,m.Wm)(o,{deadline:s.mastertask.deadline},null,8,["deadline"]),(0,m.Wm)(r,{"employee-id":s.mastertask.created_by},null,8,["employee-id"]),(0,m.Wm)(d,{team:s.mastertask.team,employees:s.mastertask._allEmployees||s.mastertask.employees},null,8,["team","employees"]),(0,m.Wm)(u,{hours:s.mastertask.duration},null,8,["hours"]),(0,m.Wm)(c,{hours:s.mastertask.duration-s.mastertask.time_worked},null,8,["hours"]),(0,m.Wm)(h,{hours:s.mastertask.time_worked,"is-exceeded":s.mastertask.time_worked>s.mastertask.duration},null,8,["hours","is-exceeded"]),(0,m.Wm)(p,{description:s.mastertask.description},null,8,["description"]),(0,m.Wm)(v,{files:s.mastertask.files},null,8,["files"])],64)}const li={class:"d-flex align-center"},ni=(0,m._)("p",{class:"mx-3"},"Deadline",-1);function oi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",li,[(0,m.Wm)(b.t,{icon:"mdi-calendar-week",size:"large"}),ni])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(""+(i.tmUtils.isAfter(s.deadline)?"text-black":"text-red-darken-4"))},(0,k.zw)(i.tmUtils.formatDateTime(s.deadline)),3)])),_:1})])),_:1})])),_:1})}var ri={props:{deadline:{type:String,required:!0}},data(){return{tmUtils:A.Z}}};const di=(0,$.Z)(ri,[["render",oi]]);var ui=di;const ci={key:0,class:"px-5 py-5 border-bottom"},mi=(0,m._)("p",null,"Popis zadania",-1),hi=["innerHTML"],pi={key:1,class:"px-5 py-5 border-bottom"},vi=(0,m._)("p",null,"Popis mastertasku",-1),ki=["innerHTML"];function fi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)(m.HY,null,[s.description?((0,m.wg)(),(0,m.iD)("div",ci,[mi,(0,m._)("section",{innerHTML:s.description,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,hi)])):(0,m.kq)("",!0),s.inheritedDescription?((0,m.wg)(),(0,m.iD)("div",pi,[vi,(0,m._)("section",{innerHTML:s.inheritedDescription,class:"description-detail px-2 py-2 w-100 rounded mt-2"},null,8,ki)])):(0,m.kq)("",!0)],64)}var gi={props:{description:{type:String||null,default:()=>null},inheritedDescription:{type:String||null,default:()=>null}}};const _i=(0,$.Z)(gi,[["render",fi]]);var wi=_i;const bi={class:"d-flex align-center"},yi=(0,m._)("p",{class:"mx-3"},"Naplánovaný čas",-1);function Di(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",bi,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),yi])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var Mi={props:{hours:{type:Number,required:!0}}};const Ti=(0,$.Z)(Mi,[["render",Di]]);var $i=Ti;const Ci={class:"d-flex align-center"},ji=(0,m._)("p",{class:"mx-3"},"Zostávajúci čas",-1);function Ei(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center border-bottom"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Ci,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),ji])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",null,(0,k.zw)(s.hours)+" h",1)])),_:1})])),_:1})])),_:1})}var xi={props:{hours:{type:Number,required:!0}}};const Wi=(0,$.Z)(xi,[["render",Ei]]);var Si=Wi;const Vi={class:"d-flex align-center"},Oi=(0,m._)("p",{class:"mx-3"},"Odpracovaný čas",-1);function zi(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Vi,[(0,m.Wm)(b.t,{icon:"mdi-clock-time-three-outline",size:"large"}),Oi])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("p",{class:(0,k.C_)(s.isExceeded?"text-red-darken-4":"text-black")},(0,k.zw)(s.hours)+" h",3)])),_:1})])),_:1})])),_:1})}var Ai={props:{hours:{type:Number,required:!0},isExceeded:{type:Boolean,required:!0}}};const Ui=(0,$.Z)(Ai,[["render",zi]]);var Zi=Ui;const Hi={class:"d-flex align-center"},Fi=(0,m._)("p",{class:"mx-3"},"Status",-1),Ii={key:0,class:"status-badge px-4 py-2 rounded-pill"},Pi={key:1,class:"status-badge px-4 py-2 rounded-pill"};function Li(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":"",class:"align-center"},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Hi,[(0,m.Wm)(b.t,{icon:"mdi-drag-vertical",size:"large"}),Fi])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[1==s.status?((0,m.wg)(),(0,m.iD)("p",Ii,"Ukončený")):0==s.status?((0,m.wg)(),(0,m.iD)("p",Pi,"Neukončený")):(0,m.kq)("",!0)])),_:1})])),_:1})])),_:1})}var Yi={props:{status:{type:Number,required:!0}}};const Ni=(0,$.Z)(Yi,[["render",Li]]);var qi=Ni;const Bi={class:"d-flex align-center"},Ri=(0,m._)("p",{class:"mx-3"},"Tím",-1),Ki={class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},Ji={class:"employee-selected-avatar d-flex justify-center align-center"},Xi={class:"ml-2"},Gi=(0,m._)("div",{class:"mb-4"},null,-1),Qi=(0,m._)("p",{class:"task-badge px-4 py-2 rounded-pill flex-shrink-0"},"Nepriradený",-1),el={class:"employee-selected-avatar d-flex justify-center align-center"},tl={class:"ml-2"};function sl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(Ve.o,{"no-gutters":""},{default:(0,m.w5)((()=>[(0,m.Wm)(Oe.D,{cols:"5"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3"},{default:(0,m.w5)((()=>[(0,m._)("div",Bi,[(0,m.Wm)(b.t,{icon:"mdi-account-multiple-outline",size:"large"}),Ri])])),_:1})])),_:1}),(0,m.Wm)(Oe.D,{cols:"7"},{default:(0,m.w5)((()=>[(0,m.Wm)(ze.C,{class:"py-3 d-flex flex-wrap flex-column"},{default:(0,m.w5)((()=>[s.team?((0,m.wg)(),(0,m.iD)(m.HY,{key:0},[(0,m._)("p",Ki,(0,k.zw)(s.team.name),1),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesInTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",Ji,(0,k.zw)(e._initials),1),(0,m._)("p",Xi,(0,k.zw)(e._fullName),1)])))),128)),Gi],64)):(0,m.kq)("",!0),Qi,((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(l.enrichedEmployeesOutsideTeam,(e=>((0,m.wg)(),(0,m.iD)("div",{class:"d-flex align-center flex-shrink-0 mt-2 task-badge px-4 py-2 rounded-pill",key:e.id},[(0,m._)("p",el,(0,k.zw)(e._initials),1),(0,m._)("p",tl,(0,k.zw)(e._fullName),1)])))),128))])),_:1})])),_:1})])),_:1})}var al={props:{team:{type:Object,required:!1},employees:{type:Array,required:!0}},computed:{enrichedEmployeesInTeam(){return this.team?.employees?A.Z.enrichEmployees(this.team.employees):[]},enrichedEmployeesOutsideTeam(){if(!this.team)return A.Z.enrichEmployees(this.employees);const e=this.employees.filter((e=>!this.team.employees.find((t=>t.id==e.id))));return A.Z.enrichEmployees(e)}}};const il=(0,$.Z)(al,[["render",sl]]);var ll=il,nl={components:{ZCreatedBy:Mt,ZDeadline:ui,ZDescription:wi,ZFiles:Ss,ZPlannedTime:$i,ZRemainingTime:Si,ZSpentTime:Zi,ZStatus:qi,ZTeam:ll},props:{mastertask:{type:Object,required:!0}}};const ol=(0,$.Z)(nl,[["render",ii]]);var rl=ol,dl=s(15941),ul={emits:["master-task-edited","close"],mixins:[Ge,et,Z.Z,M],components:{AMastertaskDescription:rl,ATasksTable:ai,Datepicker:De.Z,ZFilesUpload:Se,QuillEditor:r.Bn},data(){return{deadline:null,editMode:!1,visible:!1,errorUtils:z.Z,v$:(0,V.ZP)(),mastertask:null,isSaving:!1,showAddEmployeeInput:!1,date:null,projectCodeSearch:null}},computed:{...(0,U.Se)("tm",["teams","projects","enrichedEmployees"]),enrichedSubtasks(){return this.mastertask?.subtasks?this.mastertask.subtasks.map((e=>{const t=this.enrichedEmployees.find((t=>t.id==e.employee_id));return{...e,_initials:t?t.name.charAt(0)+t.surname.charAt(0):"?",_fullName:t?`${t.name} ${t.surname}`:""}})):null}},validations(){const e=e=>!!(e&&e.length&&e.replace(/<[^>]*>/g,"").length);return{mastertask:{employees:{required:O.C1,minLength:(0,O.Ei)(1),$each:{duration:{required:O.C1}}},project_id:{required:O.C1},name:{required:O.C1},description:{quillEditorRequired:e},deadline:{required:O.C1},_deadline_time:{required:O.C1}}}},mounted(){this.$events.on("close-both-modals",this.closeBothModals),this.$events.on("master-task:team-member-deleted",(({teamId:e,memberId:t})=>{this.mastertask.team_id==e&&(this.mastertask.employees=this.mastertask.employees.filter((e=>e.id!=t)))})),this.$events.on("on-mastertask-deleted",(e=>{e?.id==this.mastertask?.id&&this.closeModal()})),this.$events.on("on-subtask-deleted",(e=>{this.mastertask&&(this.mastertask.subtasks=this.mastertask.subtasks.filter((t=>t.id!=e.id)))})),this.$events.on("on-subtask-edited",(e=>{this.mastertask?.subtasks&&(this.mastertask.subtasks.find((t=>t.id==e.id))?this.mastertask.subtasks=this.mastertask.subtasks.map((t=>t.id==e.id?e:t)):this.mastertask.subtasks.push(e))}))},beforeUnmount(){this.$events.off("on-mastertask-deleted"),this.$events.off("on-subtask-deleted"),this.$events.off("on-subtask-edited"),this.$events.off("master-task:team-member-deleted"),this.$events.off("close-both-modals",this.closeBothModals)},methods:{closeBothModals(){this.$emit("close"),this.visible=!1},removeEmployee({id:e}){this.mastertask.employees=this.mastertask.employees.filter((t=>t.id!=e))},removeMemberAlert(e){const t=this.mastertask.team;this.$events.emit("show-delete-team-member-modal",{member:e,team:t})},async showModal({mastertask:e,editMode:t=!1}){this.isSaving=!1,this.editMode=null,this.visible=!0,this.mastertask=null,this.$nextTick((()=>{this.setFocusEvent(),this.v$.$reset()}));try{if(e?.id){this.mastertask=await this.$axios.get_auth_data(`v1/mastertasks/${e.id}`);const t=this.projects.find((e=>e.code==this.mastertask.project_code));this.mastertask.project_id=t?.id||null,this.mastertask.team_id=this.mastertask.team?.id||null,this.mastertask._allEmployees=this.mastertask.subtasks.map((({employee_id:e,duration:t})=>{const s=this.enrichedEmployees.find((({id:t})=>t==e));return s.duration=t,s})),dl.log("NEW",this.mastertask)}else this.mastertask={employees:[],duration:0,_deadline_time:"17:00"};this.editMode=t||!this.mastertask.id}catch(s){this.$toast.error(s.message||s)}},toggleIsFinished(){this.$events.emit("show-complete-master-task-modal",{mastertask:this.mastertask})},async save(){this.mastertask.id&&(this.mastertask.employees=this.mastertask.employees.map((e=>{const{duration:t}=this.mastertask.subtasks.find((({employee_id:t})=>t==e.id));return e.duration=t,e})));const e=await this.v$.$validate(),t=await this._validateEmployees();if(e&&t){this.$refs["description"]&&(this.mastertask.description=this.$refs["description"].getHTML()),this._mergeDeadlineTimeDate();try{this.isSaving=!0,this.mastertask.deadline=Re()(this.mastertask.deadline).format("YYYY-MM-DD HH:MM:SS"),this.mastertask.id?await this.$axios.patch_auth_form(`v1/mastertasks/${this.mastertask.id}`,this.mastertask):await this.$axios.post_auth_data("v1/mastertasks",this.mastertask),this.$emit("master-task-edited",this.mastertask),this.closeModal()}catch(s){this.$toast.error(this.$parseError(s))}finally{this.isSaving=!1}}},filesUploaded(e){this.mastertask.files=e},closeModal(){this.visible=!1},openDeleteMasterTaskModal(e){this.$events.emit("show-delete-master-task-modal",{mastertask:e})},addTask(){this.$events.emit("show-subtask-modal",{subtask:{master_task_id:this.mastertask.id,project_code:this.mastertask.project_code}})},onQuillEditorInput(){this.mastertask.description=this.$refs["description"].getHTML()},_mergeDeadlineTimeDate(){const e=new Date(this.mastertask.deadline),t=this.mastertask._deadline_time.split(":");e.setHours(parseInt(t[0])),e.setMinutes(parseInt(t[1])),this.mastertask.deadline=e},_validateEmployees(){let e=!0;return this.mastertask.employees=this.mastertask.employees.map((t=>(t.duration||(t.invalid=!0,e=!1),t))),e}},watch:{editMode(){this.$nextTick((()=>{if(this.$refs["description"]?.setHTML(this.mastertask.description||""),!this.mastertask?.id)return;const e=new Date(this.mastertask.deadline),t=e.getHours(),s=e.getMinutes();this.mastertask._deadline_time=`${t.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}`}))}}};const cl=(0,$.Z)(ul,[["render",Za],["__scopeId","data-v-6d155146"]]);var ml=cl,hl=s(41888),pl=s(89234);const vl=(0,m._)("h1",{class:"text-h5"}," Chcete túto osobu odstrániť z tímu? ",-1);function kl(e,t,s,a,i,l){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:i.visible,"onUpdate:modelValue":t[2]||(t[2]=e=>i.visible=e),"max-width":"500",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[vl,(0,m.Wm)(hl.Z,null,{default:(0,m.w5)((()=>[(0,m.Uk)((0,k.zw)(i.member.name+" "+i.member.surname)+" bude odstránený/á z teamu.",1)])),_:1}),(0,m.Wm)(_.h,null,{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button secondary",variant:"text",onClick:t[0]||(t[0]=e=>l.closeModal())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Zrušiť ")])),_:1}),(0,m.Wm)(pl.C),(0,m.Wm)(f.T,{class:"button primary",variant:"text",onClick:t[1]||(t[1]=e=>l.deleteMember())},{default:(0,m.w5)((()=>[(0,m.Uk)(" Áno ")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var fl={mixins:[M],data(){return{visible:!1,member:null,team:null}},methods:{async showModal({member:e,team:t}){this.member=e,this.team=t,this.visible=!0},closeModal(){this.visible=!1},async deleteMember(){this.team.employees=[...this.team.employees].filter((e=>e.id!==this.member.id));try{if(this.team.id){const{team:e}=await this.$axios.put_auth(`v1/teams/${this.team.id}`,this.team);this.$store.commit("tm/update_team",e)}else{const{team:e}=await this.$axios.post_auth("v1/teams",this.team);this.$store.commit("tm/save_team",e)}this.$events.emit("master-task:team-member-deleted",{teamId:this.team.id,memberId:this.member.id}),this.closeModal()}catch(e){this.$toast.error(this.$parseError(e))}},_enrichTeam(e){return e.employees=A.Z.enrichEmployees(e.employees),e}}};const gl=(0,$.Z)(fl,[["render",kl]]);var _l=gl;const wl={class:"d-flex justify-space-between align-center"},bl=(0,m._)("h1",null,"Vytvoriť",-1);function yl(e,t,s,i,l,n){return(0,m.wg)(),(0,m.j4)(w.B,{modelValue:l.visible,"onUpdate:modelValue":t[3]||(t[3]=e=>l.visible=e),"max-width":"750",persistent:""},{default:(0,m.w5)((()=>[(0,m.Wm)(g._,null,{default:(0,m.w5)((()=>[(0,m._)("div",wl,[bl,(0,m.Wm)(b.t,{onClick:t[0]||(t[0]=(0,a.iM)((e=>n.closeModal()),["stop"])),icon:"mdi-close",size:"large"})]),(0,m.Wm)(_.h,{class:"mt-10 d-flex justify-start align-center mobile-view"},{default:(0,m.w5)((()=>[(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[1]||(t[1]=(0,a.iM)((e=>n.createTask()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("SUB TASK")])),_:1}),(0,m.Wm)(f.T,{class:"button primary half outline",onClick:t[2]||(t[2]=(0,a.iM)((e=>n.createBlocker()),["stop"]))},{default:(0,m.w5)((()=>[(0,m.Uk)("BLOCKER")])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])}var Dl=s(15941),Ml={emits:["update","data"],props:["data"],mixins:[M],data(){return{visible:!1,localData:null}},mounted(){this.$events.on("blocker-created",(()=>{this.closeModal()})),this.$events.on("task-created",(()=>{this.closeModal()}))},methods:{async showModal(e){this.localData=e,this.visible=!0},closeModal(){this.visible=!1},createTask(){Dl.log(this.localData.date,this.localData.time,this.localData.employees),this.$events.emit("show-subtask-modal",{subtask:{deadline:this.localData.date,_deadline_time:this.localData.time,employee_id:this.localData.employee},onTaskCreated:()=>{this.closeModal()}})},createBlocker(){this.$events.emit("show-blocker-modal",{blocker:{starts_at_time:this.localData.time,datepicker:this.localData.date,employee_id:this.localData.employee},onBlockerCreated:()=>{this.closeModal()}})}}};const Tl=(0,$.Z)(Ml,[["render",yl]]);var $l=Tl,Cl={components:{ZDeleteTeamModal:j,ZTeamModal:P,ZDeleteTaskModal:B,ZDeleteBlockerModal:Gs,ZTaskModal:Bs,ZMasterTaskModal:ml,ZCompleteTaskModal:aa,ZTaskAddTimeModal:pa,ZBlockerModal:_a,ZDeleteMasterTaskModal:Ma,ZDeleteTeamMemberModal:_l,ZShowMenuModal:$l,ZCompleteMasterTaskModal:ra,ZDeleteTimeBlockModal:ee},mounted(){this.$events.on("show-menu-modal",(e=>{this.$refs["z-show-menu-modal"].showModal(e)})),this.$events.on("show-delete-team-modal",(({team:e})=>{this.$refs["z-delete-team-modal"].showModal({team:e})})),this.$events.on("show-team-modal",(({team:e})=>{this.$refs["z-team-modal"].showModal({team:e})})),this.$events.on("show-delete-task-modal",(({subtask:e})=>{this.$refs["z-delete-task-modal"].showModal({subtask:e})})),this.$events.on("show-delete-timeblock-modal",(({subtask:e})=>{this.$refs["z-delete-timeblock-modal"].showModal({subtask:e})})),this.$events.on("show-delete-blocker-modal",(({blocker:e})=>{this.$refs["z-delete-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-delete-master-task-modal",(({mastertask:e})=>{this.$refs["z-delete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-delete-team-member-modal",(({member:e,team:t})=>{this.$refs["z-delete-team-member-modal"].showModal({member:e,team:t})})),this.$events.on("show-subtask-modal",(({subtask:e,editMode:t,mastertask:s})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{subtask:t}})}this.$refs["z-task-modal"].showModal({subtask:e,editMode:t,mastertask:s})})),this.$events.on("show-mastertask-modal",(({mastertask:e,editMode:t})=>{if(e&&e.id){const t=e.id;this.$router.push({query:{mastertask:t}})}this.$refs["z-master-task-modal"].showModal({mastertask:e,editMode:t})})),this.$events.on("show-complete-task-modal",(({subtask:e})=>{this.$refs["z-complete-task-modal"].showModal({subtask:e})})),this.$events.on("show-complete-master-task-modal",(({mastertask:e})=>{this.$refs["z-complete-master-task-modal"].showModal({mastertask:e})})),this.$events.on("show-blocker-modal",(({blocker:e={}})=>{this.$refs["z-blocker-modal"].showModal({blocker:e})})),this.$events.on("show-task-add-time-modal",(({subtask:e})=>{this.$refs["z-task-add-time-modal"].showModal({subtask:e})})),this.$events.on("on-subtask-edited",(()=>{this.$store.dispatch("tm/reloadSubtasks")})),this.$events.on("on-mastertask-edited",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this.$events.on("on-mastertask-deleted",(()=>{this.$store.dispatch("tm/reloadMastertasks")})),this._showModalsAfterInicialization()},methods:{onTeamUpdate(e){this.$events.emit("on-team-update",e)},onTaskDeleted(e){this.$events.emit("on-subtask-deleted",e)},onBlockerDeleted(e){this.$events.emit("on-blocker-deleted",e)},onTaskEdited(e){this.$events.emit("on-subtask-edited",e)},onMasterTaskDeleted(e){this.$events.emit("on-mastertask-deleted",e)},onMasterTaskEdited(e){this.$events.emit("on-mastertask-edited",e)},_showModalsAfterInicialization(e=0){setTimeout((()=>e>50?this.$router.push({name:this.$route.name}):this.$store.getters["tm/isInitialized"]?this.$route.query["mastertask"]?this.$events.emit("show-mastertask-modal",{mastertask:{id:this.$route.query["mastertask"]},editMode:!1}):this.$route.query["subtask"]?this.$events.emit("show-subtask-modal",{subtask:{id:this.$route.query["subtask"]},editMode:!1}):void 0:this._showModalsAfterInicialization(e+1)),300)}}};const jl=(0,$.Z)(Cl,[["render",v]]);var El=jl,xl=s(22483),Wl=(0,U.MT)({state:{},getters:{},mutations:{},actions:{},modules:{}});const Sl=[{path:"",redirect:"/auth"},{path:"/auth/",component:()=>s.e(9983).then(s.bind(s,79983)),children:[{path:"",redirect:"/auth/login"},{path:"/auth/login",name:"Login",component:()=>s.e(8290).then(s.bind(s,68290)),meta:{requiresAuth:!1}},{path:"/auth/forgot-password",name:"Forgot password",component:()=>s.e(5921).then(s.bind(s,75921)),meta:{requiresAuth:!1}},{path:"/auth/forgot-success",name:"Forgot success",component:()=>s.e(8731).then(s.bind(s,28731)),meta:{requiresAuth:!1}},{path:"/auth/reset-password",name:"Reset password",component:()=>s.e(2998).then(s.bind(s,32998)),meta:{requiresAuth:null}}]},{path:"/app",component:()=>s.e(4252).then(s.bind(s,94252)),children:[{path:"",redirect:"/app/dashboard"},{path:"/app/dashboard",redirect:"/app/dashboard/tasks",children:[{path:"/app/dashboard/tasks",name:"Dashboard - Tasks",meta:{title:"Sub Tasks",requiresAuth:!0},component:()=>Promise.all([s.e(2704),s.e(630)]).then(s.bind(s,38492))},{path:"/app/dashboard/teams",name:"Dashboard - Teams",meta:{title:"Teams Overview",requiresAuth:!0},component:()=>Promise.all([s.e(2704),s.e(6901)]).then(s.bind(s,58311))},{path:"/app/dashboard/projects",name:"Dashboard - Projects",meta:{title:"Projects overview",requiresAuth:!0},component:()=>s.e(8581).then(s.bind(s,48581))},{path:"/app/overview/unscheduled",name:"Overview - Unscheduled tasks",meta:{title:"Unscheduled Sub Tasks",requiresAuth:!0},component:()=>s.e(9215).then(s.bind(s,29215))},{path:"/app/overview/ongoing",name:"Overview - Ongoing tasks",meta:{title:"Ongoing Sub Tasks",requiresAuth:!0},component:()=>s.e(7023).then(s.bind(s,37023))},{path:"/app/overview/teams",name:"Overview - Teams",meta:{title:"Teams",requiresAuth:!0},component:()=>s.e(7073).then(s.bind(s,97073))},{path:"/app/dashboard/user",name:"Dashboard - User",meta:{title:"Profile",requiresAuth:!0},component:()=>s.e(3539).then(s.bind(s,33539))},{path:"/app/search",name:"Search",meta:{title:"Search Results",requiresAuth:!0},component:()=>s.e(8227).then(s.bind(s,78227))}]}]},{path:"/:catchAll(.*)",name:"404",component:()=>s.e(188).then(s.bind(s,60188)),meta:{requiresAuth:null}}],Vl=(0,xl.p7)({history:(0,xl.r5)("/"),routes:Sl});Vl.beforeEach(((e,t,s)=>{const a=Wl.getters["auth/isLoggedIn"];return!0===e.meta.requiresAuth?a?s():s({name:"Login"}):!1===e.meta.requiresAuth&&a?s({name:"Dashboard - Tasks"}):s()}));var Ol=Vl,zl=s(34311),Al=s(15941);zl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var Ul={async get(e,t){return zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_auth(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async get_data(e,t){return zl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async get_auth_data(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(e.response||e)))},async post(e,t=null,s){return zl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_auth(e,t=null,s){return s=this._config(s),zl.Z.post(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async post_data(e,t=null,s){return zl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async post_auth_data(e,t=null,s){return s=this._config(s),zl.Z.post(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete(e,t){return zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_auth(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(e)))},async delete_data(e,t){return zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async delete_auth_data(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch(e,t=null,s){return zl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_auth(e,t=null,s){return s=this._config(s),zl.Z.patch(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async patch_data(e,t=null,s){return zl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async patch_auth_data(e,t=null,s){return s=this._config(s),zl.Z.patch(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put(e,t=null,s){return zl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_auth(e,t=null,s){return s=this._config(s),zl.Z.put(e,t,s).then((e=>e.data)).catch((e=>Promise.reject(e)))},async put_data(e,t=null,s){return zl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},async put_auth_data(e,t=null,s){return s=this._config(s),zl.Z.put(e,t,s).then((e=>e.data.data)).catch((e=>Promise.reject(e.response||e)))},_config(e){return e&&Al.error("NOT IMPLEMENTED"),Wl.getters["auth/token"]?{headers:{Authorization:`Bearer ${Wl.getters["auth/token"]}`}}:{headers:{}}}},Zl={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=Ul)}},Hl=s(82482);const Fl=e=>Object.entries(e).map((e=>e.map(encodeURIComponent).join("="))).join("&");function Il(e){let t=e;return t=t.replace(/\//g,"\\/"),t=t.replace(/\./g,"\\."),t=t.replace(/\([^)]+\)/g,"[^/]+"),t}var Pl=s(15941);class Ll{constructor(){(0,Hl.Z)(this,"_mocks",{}),zl.Z.interceptors.request.use(this._redirectRequestToMock.bind(this)),this._mocks={}}mock(e){for(const t in e){let s=e[t];!1!==s&&(s={},s.name=t,s.url=t.split(" ")[1],s.reUrl||(s.reUrl=Il(s.url)),s.matchMethod||(s.matchMethod=t.split(" ")[0].toLowerCase()),this._mocks[t]=s)}}_redirectRequestToMock(e){const t=e.url.replace(/https?:\/\/[^/?]+/,"");let s;for(const a in this._mocks){const i=this._mocks[a];if(e.method==i.matchMethod&&t.match(i.reUrl)){s=i;break}}if(s){s.fname||(s.fname={VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM?`/mock/${{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM}/${s.url}.${e.method.toUpperCase()}.json`:`/mock/${s.url}.${e.method.toUpperCase()}.json`),Pl.log(s.fname=`/mock/${s.url}.${e.method.toUpperCase()}.json`);const t={method:"get",url:window.location.origin+s.fname+"?___MOCK___&"+Fl(e.data||{})};e={...e,...t}}return e}}var Yl={install:(e,t)=>{const s=new Ll;t&&t.routes&&Object.values(t.routes).length&&!0!==t.disabled&&s.mock(t.routes)}},Nl=s(8069),ql={install:(e,t)=>{if(t&&!0===t.disabled)return;const s=(0,Nl.Z)();e.config.globalProperties.$events=s}},Bl=s(44870),Rl=s(5658),Kl=s(31310),Jl=s(15941);class Xl{constructor(e){(0,Hl.Z)(this,"currentLanguage",(0,Bl.iH)()),(0,Hl.Z)(this,"availableLanguages",void 0),(0,Hl.Z)(this,"vendorI18n",void 0),(0,Hl.Z)(this,"defaultLanguage",void 0),(0,Hl.Z)(this,"languageKey",void 0),(0,Hl.Z)(this,"_missingTranslation",((e,t,s,a)=>t)),(0,Hl.Z)(this,"_postTranslation",(e=>e)),this.availableLanguages=e.languages||[],this.defaultLanguage=e.languages.find((t=>t.value==e.defaultLanguage)),this.languageKey=e.languageKey||{VUE_APP_WAXIOS_URL:"https://tm.jandl.sk/api/",NODE_ENV:"production",BASE_URL:"/"}.VUE_APP_PLATFORM+"_language"||0,this.vendorI18n=(0,Rl.o)({legacy:!0,fallbackLocale:this.defaultLanguage.value,messages:this._loadLocaleMessages(),missing:this._missingTranslation,postTranslation:this._postTranslation}),this.changeLanguage({title:"Slovenský",flag:"sk",value:"sk"}),this.initCurrentLanguage()}async initCurrentLanguage(){const{value:e}=await Kl.u.get({key:this.languageKey});if(e)this.currentLanguage.value=JSON.parse(e);else if(this.defaultLanguage)this.currentLanguage.value=this.defaultLanguage;else{if(!this.availableLanguages[0])return Jl.error("[w18n] Could not init current language");this.currentLanguage.value=this.availableLanguages[0]}const t={};this.availableLanguages.forEach((e=>{t[e.value]=e.title})),this.changeLanguage(this.currentLanguage.value),this._addAxiosHeaders()}changeLanguage(e){this.currentLanguage.value=e,this._addAxiosHeaders(),Kl.u.set({key:this.languageKey,value:JSON.stringify(e)}),this.vendorI18n.global.locale=e.value}_addAxiosHeaders(){zl.Z.interceptors.request.use((e=>(this.currentLanguage.value&&this.currentLanguage.value.value&&(e.headers["Accept-Language"]=this.currentLanguage.value.value),e))),zl.Z.interceptors.response.use((e=>e),(e=>(e.response&&zl.Z.post("https://logger.wezeo.dev/cms/api/data/new",{data:JSON.stringify(e)}),Promise.reject(e?.response||e))))}_loadLocaleMessages(e="@/locales"){let t;try{t=s(8973)}catch(i){return Jl.warn("[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales."),{}}const a={};return t.keys().forEach((e=>{const s=e.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){const i=s[1];a[i]=t(e)}})),a}}var Gl=s(15941),Ql={install:(e,t)=>{if(t&&!0===t.disabled)return;if(!t||!t.languages||!t.defaultLanguage)return Gl.warn("[@wezeo/i18n] Could not initialize i18n. Missing configuration options.");e.config.globalProperties.$events||e.use(ql);const s=new Xl(t);e.use(s.vendorI18n),e.config.globalProperties.$w18n=s}},en={install:(e,t)=>{t&&!0===t.disabled||(e.component("ion-content",i.W2),e.component("ion-page",i._i),e.component("ion-label",i.Q$),e.component("ion-back-button",i.oU),e.component("ion-checkbox",i.nz),e.component("ion-text",i.yW),e.component("ion-button",i.YG),e.component("ion-item",i.Ie),e.component("ion-item-group",i.Ub),e.component("ion-item-sliding",i.td),e.component("ion-item-option",i.u8),e.component("ion-item-options",i.IK),e.component("ion-toolbar",i.sr),e.component("ion-header",i.Gu),e.component("ion-footer",i.fr),e.component("ion-slides",i.Hr),e.component("ion-slide",i.A$),e.component("ion-spinner",i.PQ),e.component("ion-row",i.Nd),e.component("ion-col",i.wI),e.component("ion-grid",i.jY),e.component("ion-input",i.pK),e.component("ion-buttons",i.Sm),e.component("ion-icon",i.gu),e.component("ion-img",i.Xz),e.component("ion-list",i.q_),e.component("ion-skeleton-text",i.CK),e.component("ion-title",i.wd),e.component("ion-menu",i.z0),e.component("ion-split-pane",i.jI),e.component("ion-menu-button",i.fG),e.component("ion-router-outlet",i.jP),e.component("ion-segment",i.cJ),e.component("ion-segment-button",i.GO),e.component("ion-virtual-scroll",i.aJ),e.component("ion-textarea",i.g2),e.component("ion-searchbar",i.VI),e.component("ion-refresher-content",i.Wo),e.component("ion-refresher",i.nJ),e.component("ion-infinite-scroll-content",i.MB),e.component("ion-infinite-scroll",i.ju),e.component("ion-avatar",i.BJ),e.component("ion-thumbnail",i.Bs),e.component("ion-modal",i.ki),e.component("ion-radio-group",i.se),e.component("ion-radio",i.B7),e.component("ion-note",i.uN),e.component("ion-card",i.PM),e.component("ion-card-content",i.FN),e.component("ion-tab-bar",i.yq),e.component("ion-tab-button",i.ZU),e.component("ion-menu-toggle",i.zc),e.component("ion-fab",i.IJ),e.component("ion-fab-button",i.W4),e.component("ion-fab-list",i.zq),e.component("ion-reorder-group",i.oz),e.component("ion-reorder",i.Nh),e.component("ion-select",i.t9),e.component("ion-select-option",i.n0),e.component("ion-toggle",i.ho),e.component("ion-badge",i.yp),e.component("ion-chip",i.hM),e.component("ion-tabs",i.UN))}};async function tn(e){return"Unauthenticated."==e?.response?.data?.message?Wl.dispatch("auth/logout"):Promise.reject(e)}zl.Z.interceptors.response.use((e=>e),(e=>tn(e)));var sn=s(15941),an={namespaced:!0,state:{token:localStorage.getItem("wzo_vue_user_token")||"",user:JSON.parse(localStorage.getItem("wzo_vue_user_user")||"{}")},mutations:{auth_success(e,t){t.token&&(e.token=t.token,localStorage.setItem("wzo_vue_user_token",t.token)),t.user&&(e.user=t.user,localStorage.setItem("wzo_vue_user_user",JSON.stringify(t.user)))},auth_error(e){e.token="",localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user")},logout(e){e.token="",e.user=null,localStorage.removeItem("wzo_vue_user_token"),localStorage.removeItem("wzo_vue_user_user"),window.open(location.origin,"_self")}},actions:{login({commit:e},t){return new Promise(((s,a)=>{Ul.post("v1/tokens/create",{data:t}).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},signup({commit:e},t){return new Promise(((s,a)=>{e("auth_request"),Ul.post_data("v1/auth/signup",t).then((t=>{const a=t.token,i=t.user;e("auth_success",{token:a,user:i}),s(t)})).catch((t=>{e("auth_error"),a(t)}))}))},logout({commit:e}){return new Promise((t=>{Ul.post_auth_data("v1/auth/invalidate").finally((()=>{e("logout"),t(null)}))}))},forgotPassword({commit:e},t){return new Promise(((e,s)=>{Ul.post("v1/users/forgot",{data:t}).then((t=>e(t))).catch((e=>s(e)))}))},resetPassword({commit:e},t){return e("auth_success",{token:t.token}),new Promise(((s,a)=>{Ul.post_auth_data("v1/users/reset",{data:t}).then((t=>{e("logout"),s(t)})).catch((e=>a(e)))}))},async refreshToken({commit:e}){try{const t=await Ul.post_auth_data("v1/auth/refresh"),s=t.token,a=t.user;return e("auth_success",{token:s,user:a}),s}catch(t){e("auth_error"),sn.error(t)}},async userInfo({commit:e}){return new Promise(((t,s)=>{Ul.get_auth_data("v1/auth/info").then((s=>{const a=s.user;e("auth_success",{user:a}),t(a)})).catch((e=>{s(e)}))}))},updateUserInfo({commit:e},t){return new Promise(((s,a)=>{Ul.put_auth(`v1/users/${t.id}`,{data:t}).then((t=>{const a=t.user;e("auth_success",{user:a}),s(a)})).catch((e=>{a(e)}))}))}},getters:{isLoggedIn:e=>!!e.token,user:e=>e.user,token:e=>e.token&&void 0!=e.token?e.token:null}},ln=s(15941),nn={install:(e,t)=>{if(!t||1!=t.disabled)return e.config.globalProperties.$store?void e.config.globalProperties.$store.registerModule("auth",an):ln.warn("[w/auth] Could not initialize. App does not have vuex store added.")}},on=s(46215),rn=s.n(on),dn={install:(e,t)=>{t&&!0===t.disabled||(e.use(rn()),e.config.globalProperties.$parseError=e=>e?.data?.message||e?.response?.data?.message||e?.message||e)}};const un={ref:"loadingContainer"},cn={key:0},mn={key:1},hn={key:2};function pn(e,t,s,a,i,l){return(0,m.wg)(),(0,m.iD)("div",un,[s.content?s.content.error?((0,m.wg)(),(0,m.iD)("div",mn,(0,k.zw)(s.content.error),1)):"array"==typeof s.content&&!e.array.length||"object"==typeof s.content&&!Object.values(s.content).length?((0,m.wg)(),(0,m.iD)("div",hn,(0,k.zw)(s.emptyMessage),1)):(0,m.WI)(e.$slots,"default",{key:3},void 0,!0):((0,m.wg)(),(0,m.iD)("div",cn))],512)}var vn={props:{content:{type:[Object,Array,Boolean],default:()=>null},emptyMessage:{type:String,default:"No items"}},data(){return{loader:null}},async mounted(){this.content||await this._startLoading()},methods:{async _startLoading(){},_stopLoading(){}},watch:{}};const kn=(0,$.Z)(vn,[["render",pn],["__scopeId","data-v-a2444234"]]);var fn=kn,gn={install:(e,t)=>{t&&!0===t.disabled||e.component("W-loadable",fn)}},_n={install:(e,t={})=>{ql.install(e,t.events),Zl.install(e,t.axios),Ql.install(e,t.i18n),Yl.install(e,t.moxios),en.install(e,t.ionic),nn.install(e,t.auth),dn.install(e,t.toast),gn.install(e,t.loadable)}},wn={parseAndTranslate(e){const t=this._parseToArrayOfStrings(e);return t.join(", ")},_parseToArrayOfStrings(e){return e?.data?.message?[fr(e.data.message)]:"string"==typeof e?[fr(e)]:e?.response?.data?Object.values(e?.response?.data):e&&e.error&&"string"==typeof e.error?[fr(e.error)]:e&&e.error&&"object"==typeof e.error?Object.values(fr(e.error)):e.data&&e.data.error&&"string"==typeof e.data.error?[fr(e.data.error)]:e&&e.data&&e.data.error&&"object"==typeof e.data.error?Object.values(e.data.error).map((e=>fr(e[0])+" ")):e.statusText?[fr(e.statusText)]:[e]}},bn=s(15941);zl.Z.defaults.baseURL="https://tm.jandl.sk/api/";var yn={async get(e,t){return zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async get_auth(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async get_data(e,t){return zl.Z.get(e,t).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async get_auth_data(e,t){return t=this._config(t),zl.Z.get(e,t).then((e=>Promise.resolve(e.data.data))).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async post(e,t=null,s){return zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async post_auth(e,t=null,s){return s=this._config(s),zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async post_data(e,t=null,s){return zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async post_auth_data(e,t=null,s){return s=this._config(s),zl.Z.post(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async delete(e,t){return zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async delete_auth(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async delete_data(e,t){return zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async delete_auth_data(e,t){return t=this._config(t),zl.Z["delete"](e,t).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async patch(e,t=null,s){return zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async patch_auth(e,t=null,s){return s=this._config(s),zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async patch_auth_form(e,t=null,s){s=this._config(s),s.headers["Content-Type"]="multipart/form-data";const a=this._objectToFormData(t);return a.append("_method","put"),s.transformRequest=e=>e,zl.Z.post(e,a,s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async patch_data(e,t=null,s){return zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async patch_auth_data(e,t=null,s){return s=this._config(s),zl.Z.patch(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async put(e,t=null,s){return zl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async put_auth(e,t=null,s){return s=this._config(s),zl.Z.put(e,{data:t},s).then((e=>e.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e))))},async put_data(e,t=null,s){return zl.Z.put(e,this._objectToFormData(t),s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},async put_auth_data(e,t=null,s){return s=this._config(s),zl.Z.put(e,{data:t},s).then((e=>e.data.data)).catch((e=>Promise.reject(wn.parseAndTranslate(e.response||e))))},_config(e){return e&&bn.error("NOT IMPLEMENTED"),Wl.getters["auth/token"]?{headers:{Authorization:`Bearer ${Wl.getters["auth/token"]}`}}:{headers:{}}},_buildFormData(e,t,s){!t||"object"!==typeof t||t instanceof Date||t instanceof File?e.append(s,null==t?"":t):Object.keys(t).forEach((a=>this._buildFormData(e,t[a],s?`${s}[${a}]`:a)))},_objectToFormData(e){const t=new FormData;return this._buildFormData(t,{data:e}),t}},Dn={install:(e,t)=>{t&&!0===t.disabled||(e.config.globalProperties.$axios=yn)}},Mn={namespaced:!0,state:{mastertasks:null,employees:null,teams:null,projects:null,unscheduledSubtasks:null,ongoingSubtasks:null,initialized:!1},mutations:{set_mastertasks(e,t){e.mastertasks=t},set_employees(e,t){e.employees=t},set_teams(e,t){e.teams=t},set_projects(e,t){e.projects=t},set_unscheduled_subtasks(e,t){e.unscheduledSubtasks=t},set_ongoing_subtasks(e,t){e.ongoingSubtasks=t},update_team(e,t){e.teams=e.teams.map((e=>e.id==t.id?t:e))},save_team(e,t){e.teams.push(t)},delete_team(e,t){e.teams=e.teams.filter((e=>e.id!=t.id))},update_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.map((e=>e.id==t.id?t:e)),e.ongoingSubtasks=e.ongoingSubtasks.map((e=>e.id==t.id?t:e))},delete_subtask(e,t){e.unscheduledSubtasks=e.unscheduledSubtasks.filter((e=>e.id!=t.id)),e.ongoingSubtasks=e.ongoingSubtasks.filter((e=>e.id!=t.id))},initialized(e){e.initialized=!0}},actions:{initialize({dispatch:e,commit:t}){return Promise.all([e("loadMastertasks"),e("loadEmployees"),e("loadTeams"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")]).then((()=>t("initialized")))},reloadSubtasks({dispatch:e}){return Promise.all([e("loadMastertasks"),e("loadProjects"),e("loadUnscheduledSubtasks"),e("loadOngoingSubtasks")])},reloadMastertasks({dispatch:e}){return Promise.all([e("loadMastertasks")])},loadMastertasks({commit:e}){return new Promise(((t,s)=>{yn.get_auth("v1/mastertasks/?simple=true").then((({mastertasks:s})=>{e("set_mastertasks",s),t(s)})).catch((t=>{e("set_mastertasks",{error:t}),s(t)}))}))},loadEmployees({commit:e}){return new Promise(((t,s)=>{yn.get_auth_data("v1/employees").then((s=>{e("set_employees",s),t(s)})).catch((t=>{e("set_employees",{error:t}),s(t)}))}))},loadTeams({commit:e}){return new Promise(((t,s)=>{yn.get_auth_data("v1/teams").then((s=>{e("set_teams",s),t(s)})).catch((t=>{e("set_teams",{error:t}),s(t)}))}))},loadProjects({commit:e}){return new Promise(((t,s)=>{yn.get_auth_data("v1/projects").then((s=>{e("set_projects",s),t(s)})).catch((t=>{e("set_projects",{error:t}),s(t)}))}))},loadUnscheduledSubtasks({commit:e},t=Wl.getters["auth/user"]?.id){return new Promise(((s,a)=>{yn.get_auth(`v1/subtasks?type=unscheduled&employee_id=${t}`).then((({subtasks:t})=>{e("set_unscheduled_subtasks",t),s(t)})).catch((t=>{e("set_unscheduled_subtasks",{error:t}),a(t)}))}))},loadOngoingSubtasks({commit:e},t=Wl.getters["auth/user"]?.id){return new Promise(((s,a)=>{yn.get_auth(`v1/subtasks?type=ongoing&employee_id=${t}`).then((({subtasks:t})=>{e("set_ongoing_subtasks",t),s(t)})).catch((t=>{e("set_ongoing_subtasks",{error:t}),a(t)}))}))}},getters:{mastertasks:e=>e.mastertasks,employees:e=>e.employees,enrichedEmployees:e=>e.employees?e.employees.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)}))).sort(((e,t)=>e.namee.teams,projects:e=>e.projects,unscheduledSubtasks:e=>e.unscheduledSubtasks,ongoingSubtasks:e=>e.ongoingSubtasks,isInitialized:e=>e.initialized}},Tn={install:e=>{e.config.globalProperties.$store.registerModule("tm",Mn)}};const $n=["lang"],Cn={key:0,class:"vuecal__flex vuecal__body",grow:"grow"},jn=["onBlur","innerHTML"],En=["innerHTML"],xn=["innerHTML"],Wn={class:"vuecal__flex",row:"row",grow:"grow"},Sn={key:0,class:"vuecal__time-column"},Vn=(0,m._)("span",{class:"vuecal__time-cell-line"},null,-1),On={class:"vuecal__time-cell-label"},zn={key:1,class:"vuecal__flex vuecal__week-numbers",column:"column"},An=["wrap","column"],Un=["onBlur","innerHTML"],Zn=["innerHTML"],Hn=["innerHTML"],Fn=["wrap"],In=["innerHTML"],Pn=["innerHTML"],Ln={key:2,class:"vuecal__cell-events-count"},Yn={key:3,class:"vuecal__no-event"},Nn=["onBlur","innerHTML"],qn=["innerHTML"],Bn={key:2,class:"vuecal__event-time"},Rn={key:0},Kn={key:1,class:"days-to-end"},Jn=["innerHTML"],Xn={key:0,class:"vuecal__scrollbar-check"},Gn=(0,m._)("div",null,null,-1),Qn=[Gn];function eo(e,t,s,i,l,n){const o=(0,m.up)("vuecal-header"),r=(0,m.up)("all-day-bar"),d=(0,m.up)("weekdays-headings"),u=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal",n.cssClasses]),column:"column",ref:"vuecal",lang:s.locale},[(0,m.Wm)(o,{options:e.$props,"edit-events":n.editEvents,"view-props":{views:n.views,weekDaysInHeader:n.weekDaysInHeader},"week-days":n.weekDays,"has-splits":n.hasSplits,"day-splits":n.daySplits,"switch-to-narrower-view":n.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t,view:s})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:s.id})])),key:"1"}:void 0]),1032,["options","edit-events","view-props","week-days","has-splits","day-splits","switch-to-narrower-view"]),s.hideBody?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Cn,[(0,m.Wm)(a.uT,{name:`slide-fade--${l.transitionDirection}`,appear:s.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",style:{"min-width":"100%"},key:!!s.transitions&&l.view.id,column:"column"},[s.showAllDayEvents&&n.hasTimeColumn&&(!n.cellOrSplitMinWidth||n.isDayView&&!s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:0},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,jn)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,En)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,xn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__bg",{vuecal__flex:!n.hasTimeColumn}]),column:"column",ref:"vuecal_scroll"},[(0,m._)("div",Wn,[n.hasTimeColumn?((0,m.wg)(),(0,m.iD)("div",Sn,[s.showAllDayEvents&&n.cellOrSplitMinWidth&&(!n.isDayView||s.minSplitWidth)?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__all-day-text",style:(0,k.j5)({height:n.allDayBar.height})},[(0,m._)("span",null,(0,k.zw)(l.texts.allDay),1)],4)):(0,m.kq)("",!0),((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.timeCells,((t,a)=>((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__time-cell",key:a,style:(0,k.j5)(`height: ${s.timeCellHeight}px`)},[(0,m.WI)(e.$slots,"time-cell",{hours:t.hours,minutes:t.minutes},(()=>[Vn,(0,m._)("span",On,(0,k.zw)(t.label),1)]))],4)))),128))])):(0,m.kq)("",!0),s.showWeekNumbers&&n.isMonthView?((0,m.wg)(),(0,m.iD)("div",zn,[((0,m.wg)(),(0,m.iD)(m.HY,null,(0,m.Ko)(6,(t=>(0,m._)("div",{class:"vuecal__flex vuecal__week-number-cell",key:t,grow:"grow"},[(0,m.WI)(e.$slots,"week-number-cell",{week:n.getWeekNumber(t-1)},(()=>[(0,m.Uk)((0,k.zw)(n.getWeekNumber(t-1)),1)]))]))),64))])):(0,m.kq)("",!0),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells vuecal__scrollable-body",`${l.view.id}-view`]),grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,column:!!n.cellOrSplitMinWidth},[n.cellOrSplitMinWidth&&n.isWeekView?((0,m.wg)(),(0,m.j4)(d,{key:0,"transition-direction":l.transitionDirection,"week-days":n.weekDays,"switch-to-narrower-view":n.switchToNarrowerView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:""),unscheduledTime:s.unscheduledTime,ref:"vuecal_weekday_heading"},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id})])),key:"1"}:void 0]),1032,["transition-direction","week-days","switch-to-narrower-view","style","unscheduledTime"])):n.hasSplits&&s.stickySplitLabels&&s.minSplitWidth?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__flex vuecal__split-days-headers",ref:"vuecal_splits_heading",style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:l.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))],4)):(0,m.kq)("",!0),s.showAllDayEvents&&n.hasTimeColumn&&(n.isWeekView&&n.cellOrSplitMinWidth||n.isDayView&&n.hasSplits&&s.minSplitWidth)?((0,m.wg)(),(0,m.j4)(r,(0,k.vs)((0,m.dG)({key:2},n.allDayBar)),{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t},(()=>[n.editEvents.title&&t.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,t),innerHTML:t.title},null,40,Un)):t.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:t.title},null,8,Zn)):(0,m.kq)("",!0),!t.content||n.hasShortEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:2,class:"vuecal__event-content",innerHTML:t.content},null,8,Hn))]))])),_:3},16)):(0,m.kq)("",!0),(0,m._)("div",{class:"vuecal__flex vuecal__cells-body",ref:e=>l.cellsEl=e,grow:"grow",wrap:!n.cellOrSplitMinWidth||!n.isWeekView,style:(0,k.j5)(n.cellOrSplitMinWidth?`min-width: ${n.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.viewCells,((t,a)=>((0,m.wg)(),(0,m.j4)(u,{key:a,options:e.$props,"edit-events":n.editEvents,data:t,"cell-width":s.hideWeekdays.length&&(n.isWeekView||n.isMonthView)&&n.cellWidth,"min-timestamp":n.minTimestamp,"max-timestamp":n.maxTimestamp,"cell-splits":n.hasSplits&&n.daySplits||[]},{"cell-content":(0,m.w5)((({events:a,split:i,selectCell:o})=>[(0,m.WI)(e.$slots,"cell-content",{cell:t,view:l.view,goNarrower:o,events:a},(()=>[i&&!s.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"split-label",innerHTML:i.label},null,8,In)):(0,m.kq)("",!0),t.content?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__cell-date",innerHTML:t.content},null,8,Pn)):(0,m.kq)("",!0),(n.isMonthView&&!s.eventsOnMonthView||n.isYearsOrYearView&&s.eventsCountOnYearView)&&a.length?((0,m.wg)(),(0,m.iD)("div",Ln,[(0,m.WI)(e.$slots,"events-count",{view:l.view,events:a},(()=>[(0,m.Uk)((0,k.zw)(a.length),1)]))])):(0,m.kq)("",!0),!n.cellOrSplitHasEvents(a,i)&&n.isWeekOrDayView?((0,m.wg)(),(0,m.iD)("div",Yn,[(0,m.WI)(e.$slots,"no-event",{},(()=>[(0,m.Uk)((0,k.zw)(l.texts.noEvent),1)]))])):(0,m.kq)("",!0)]))])),event:(0,m.w5)((({event:a,view:i})=>[(0,m.WI)(e.$slots,"event",{view:i,event:a},(()=>[n.editEvents.title&&a.titleEditable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-title vuecal__event-title--edit",contenteditable:"contenteditable",onBlur:e=>n.onEventTitleBlur(e,a),innerHTML:a.title},null,40,Nn)):a.title?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-title",innerHTML:a.title},null,8,qn)):(0,m.kq)("",!0),!s.time||a.allDay||n.isMonthView&&(a.allDay||"short"===s.showAllDayEvents)||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Bn,[(0,m.Uk)((0,k.zw)(l.utils.date.formatTime(a.start,n.TimeFormat)),1),a.endTimeMinutes?((0,m.wg)(),(0,m.iD)("span",Rn," - "+(0,k.zw)(l.utils.date.formatTime(a.end,n.TimeFormat,null,!0)),1)):(0,m.kq)("",!0),a.daysCount>1&&(a.segments[t.formattedDate]||{}).isFirstDay?((0,m.wg)(),(0,m.iD)("small",Kn," +"+(0,k.zw)(a.daysCount-1)+(0,k.zw)((l.texts.day[0]||"").toLowerCase()),1)):(0,m.kq)("",!0)])),!a.content||n.isMonthView&&a.allDay&&"short"===s.showAllDayEvents||n.isShortMonthView?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:3,class:"vuecal__event-content",innerHTML:a.content},null,8,Jn))]))])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],12,Fn)],10,An)])],2)]))])),_:3},8,["name","appear"]),l.ready?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Xn,Qn))]))],10,$n)}s(30541);let to,so,ao,io,lo={},no={};class oo{constructor(e,t=!1){(0,Hl.Z)(this,"texts",{}),(0,Hl.Z)(this,"dateToMinutes",(e=>60*e.getHours()+e.getMinutes())),io=this,this._texts=e,t||!Date||Date.prototype.addDays||this._initDatePrototypes()}_initDatePrototypes(){Date.prototype.addDays=function(e){return io.addDays(this,e)},Date.prototype.subtractDays=function(e){return io.subtractDays(this,e)},Date.prototype.addHours=function(e){return io.addHours(this,e)},Date.prototype.subtractHours=function(e){return io.subtractHours(this,e)},Date.prototype.addMinutes=function(e){return io.addMinutes(this,e)},Date.prototype.subtractMinutes=function(e){return io.subtractMinutes(this,e)},Date.prototype.getWeek=function(){return io.getWeek(this)},Date.prototype.isToday=function(){return io.isToday(this)},Date.prototype.isLeapYear=function(){return io.isLeapYear(this)},Date.prototype.format=function(e="YYYY-MM-DD"){return io.formatDate(this,e)},Date.prototype.formatTime=function(e="HH:mm"){return io.formatTime(this,e)}}removePrototypes(){delete Date.prototype.addDays,delete Date.prototype.subtractDays,delete Date.prototype.addHours,delete Date.prototype.subtractHours,delete Date.prototype.addMinutes,delete Date.prototype.subtractMinutes,delete Date.prototype.getWeek,delete Date.prototype.isToday,delete Date.prototype.isLeapYear,delete Date.prototype.format,delete Date.prototype.formatTime}updateTexts(e){this._texts=e}_todayFormatted(){return so!==(new Date).getDate()&&(to=new Date,so=to.getDate(),ao=`${to.getFullYear()}-${to.getMonth()}-${to.getDate()}`),ao}addDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()+t),s}subtractDays(e,t){const s=new Date(e.valueOf());return s.setDate(s.getDate()-t),s}addHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()+t),s}subtractHours(e,t){const s=new Date(e.valueOf());return s.setHours(s.getHours()-t),s}addMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()+t),s}subtractMinutes(e,t){const s=new Date(e.valueOf());return s.setMinutes(s.getMinutes()-t),s}getWeek(e){const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),s=t.getUTCDay()||7;t.setUTCDate(t.getUTCDate()+4-s);const a=new Date(Date.UTC(t.getUTCFullYear(),0,1));return Math.ceil(((t-a)/864e5+1)/7)}isToday(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`===this._todayFormatted()}isLeapYear(e){const t=e.getFullYear();return!(t%400)||t%100&&!(t%4)}getPreviousFirstDayOfWeek(e=null,t){const s=e&&new Date(e.valueOf())||new Date,a=t?7:6;return s.setDate(s.getDate()-(s.getDay()+a)%7),s}stringToDate(e){return e instanceof Date?e:(10===e.length&&(e+=" 00:00"),new Date(e.replace(/-/g,"/")))}countDays(e,t){"string"===typeof e&&(e=e.replace(/-/g,"/")),"string"===typeof t&&(t=t.replace(/-/g,"/")),e=new Date(e).setHours(0,0,0,0),t=new Date(t).setHours(0,0,1,0);const s=60*(new Date(t).getTimezoneOffset()-new Date(e).getTimezoneOffset())*1e3;return Math.ceil((t-e-s)/864e5)}datesInSameTimeStep(e,t,s){return Math.abs(e.getTime()-t.getTime())<=60*s*1e3}formatDate(e,t="YYYY-MM-DD",s=null){if(s||(s=this._texts),t||(t="YYYY-MM-DD"),"YYYY-MM-DD"===t)return this.formatDateLite(e);lo={},no={};const a={YYYY:()=>this._hydrateDateObject(e,s).YYYY,YY:()=>this._hydrateDateObject(e,s).YY(),M:()=>this._hydrateDateObject(e,s).M,MM:()=>this._hydrateDateObject(e,s).MM(),MMM:()=>this._hydrateDateObject(e,s).MMM(),MMMM:()=>this._hydrateDateObject(e,s).MMMM(),MMMMG:()=>this._hydrateDateObject(e,s).MMMMG(),D:()=>this._hydrateDateObject(e,s).D,DD:()=>this._hydrateDateObject(e,s).DD(),S:()=>this._hydrateDateObject(e,s).S(),d:()=>this._hydrateDateObject(e,s).d,dd:()=>this._hydrateDateObject(e,s).dd(),ddd:()=>this._hydrateDateObject(e,s).ddd(),dddd:()=>this._hydrateDateObject(e,s).dddd(),HH:()=>this._hydrateTimeObject(e,s).HH,H:()=>this._hydrateTimeObject(e,s).H,hh:()=>this._hydrateTimeObject(e,s).hh,h:()=>this._hydrateTimeObject(e,s).h,am:()=>this._hydrateTimeObject(e,s).am,AM:()=>this._hydrateTimeObject(e,s).AM,mm:()=>this._hydrateTimeObject(e,s).mm,m:()=>this._hydrateTimeObject(e,s).m};return t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=a[t.replace(/\{|\}/g,"")];return void 0!==s?s():t}))}formatDateLite(e){const t=e.getMonth()+1,s=e.getDate();return`${e.getFullYear()}-${t<10?"0":""}${t}-${s<10?"0":""}${s}`}formatTime(e,t="HH:mm",s=null,a=!1){let i=!1;if(a){const[t,s,a]=[e.getHours(),e.getMinutes(),e.getSeconds()];t+s+a===141&&(i=!0)}if(e instanceof Date&&"HH:mm"===t)return i?"24:00":this.formatTimeLite(e);no={},s||(s=this._texts);const l=this._hydrateTimeObject(e,s),n=t.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g,((e,t)=>{const s=l[t.replace(/\{|\}/g,"")];return void 0!==s?s:t}));return i?n.replace("23:59","24:00"):n}formatTimeLite(e){const t=e.getHours(),s=e.getMinutes();return`${(t<10?"0":"")+t}:${(s<10?"0":"")+s}`}_nth(e){if(e>3&&e<21)return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}_hydrateDateObject(e,t){if(lo.D)return lo;const s=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),l=e.getDay(),n=(l-1+7)%7;return lo={YYYY:s,YY:()=>s.toString().substring(2),M:a,MM:()=>(a<10?"0":"")+a,MMM:()=>t.months[a-1].substring(0,3),MMMM:()=>t.months[a-1],MMMMG:()=>(t.monthsGenitive||t.months)[a-1],D:i,DD:()=>(i<10?"0":"")+i,S:()=>this._nth(i),d:n+1,dd:()=>t.weekDays[n][0],ddd:()=>t.weekDays[n].substr(0,3),dddd:()=>t.weekDays[n]},lo}_hydrateTimeObject(e,t){if(no.am)return no;let s,a;e instanceof Date?(s=e.getHours(),a=e.getMinutes()):(s=Math.floor(e/60),a=Math.floor(e%60));const i=s%12?s%12:12,l=(t||{am:"am",pm:"pm"})[24===s||s<12?"am":"pm"];return no={H:s,h:i,HH:(s<10?"0":"")+s,hh:(i<10?"0":"")+i,am:l,AM:l.toUpperCase(),m:a,mm:(a<10?"0":"")+a},no}}const ro=1440;class uo{constructor(e){(0,Hl.Z)(this,"_vuecal",null),(0,Hl.Z)(this,"selectCell",((e=!1,t,s)=>{this._vuecal.$emit("cell-click",s?{date:t,split:s}:t),this._vuecal.clickToNavigate||e?this._vuecal.switchToNarrowerView():this._vuecal.dblclickToNavigate&&"ontouchstart"in window&&(this._vuecal.domEvents.dblTapACell.taps++,setTimeout((()=>this._vuecal.domEvents.dblTapACell.taps=0),this._vuecal.domEvents.dblTapACell.timeout),this._vuecal.domEvents.dblTapACell.taps>=2&&(this._vuecal.domEvents.dblTapACell.taps=0,this._vuecal.switchToNarrowerView(),this._vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t)))})),(0,Hl.Z)(this,"keyPressEnterCell",((e,t)=>{this._vuecal.$emit("cell-keypress-enter",t?{date:e,split:t}:e),this._vuecal.switchToNarrowerView()})),(0,Hl.Z)(this,"getPosition",(e=>{const{left:t,top:s}=this._vuecal.cellsEl.getBoundingClientRect(),{clientX:a,clientY:i}="ontouchstart"in window&&e.touches?e.touches[0]:e;return{x:a-t,y:i-s}})),(0,Hl.Z)(this,"minutesAtCursor",(e=>{let t=0,s={x:0,y:0};const{timeStep:a,timeCellHeight:i,timeFrom:l}=this._vuecal.$props;return"number"===typeof e?t=e:"object"===typeof e&&(s=this.getPosition(e),t=Math.round(s.y*a/parseInt(i)+l)),{minutes:Math.max(Math.min(t,ro),0),cursorCoords:s}})),this._vuecal=e}}const co=2,mo=1440;let ho,po,vo;class ko{constructor(e,t){(0,Hl.Z)(this,"_vuecal",null),(0,Hl.Z)(this,"eventDefaults",{_eid:null,start:"",startTimeMinutes:0,end:"",endTimeMinutes:0,title:"",content:"",background:!1,allDay:!1,segments:null,repeat:null,daysCount:1,deletable:!0,deleting:!1,titleEditable:!0,resizable:!0,resizing:!1,draggable:!0,dragging:!1,draggingStatic:!1,focused:!1,class:""}),this._vuecal=e,ho=t}createAnEvent(e,t,s){if("string"===typeof e&&(e=ho.stringToDate(e)),!(e instanceof Date))return!1;const a=ho.dateToMinutes(e);t=1*t||60*co;const i=a+t,l=ho.addMinutes(new Date(e),t);s.end&&("string"===typeof s.end&&(s.end=ho.stringToDate(s.end)),s.endTimeMinutes=ho.dateToMinutes(s.end));const n={...this.eventDefaults,_eid:`${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,start:e,startTimeMinutes:a,end:l,endTimeMinutes:i,segments:null,...s};return"function"!==typeof this._vuecal.onEventCreate||this._vuecal.onEventCreate(n,(()=>this.deleteAnEvent(n)))?(n.startDateF!==n.endDateF&&(n.daysCount=ho.countDays(n.start,n.end)),this._vuecal.mutableEvents.push(n),this._vuecal.addEventsToView([n]),this._vuecal.emitWithEvent("event-create",n),this._vuecal.$emit("event-change",{event:this._vuecal.cleanupEvent(n),originalEvent:null}),n):void 0}addEventSegment(e){e.segments||(e.segments={},e.segments[ho.formatDateLite(e.start)]={start:e.start,startTimeMinutes:e.startTimeMinutes,endTimeMinutes:mo,isFirstDay:!0,isLastDay:!1});const t=e.segments[ho.formatDateLite(e.end)];t&&(t.isLastDay=!1,t.endTimeMinutes=mo);const s=ho.addDays(e.end,1),a=ho.formatDateLite(s);return s.setHours(0,0,0,0),e.segments[a]={start:s,startTimeMinutes:0,endTimeMinutes:e.endTimeMinutes,isFirstDay:!1,isLastDay:!0},e.end=ho.addMinutes(s,e.endTimeMinutes),e.daysCount=Object.keys(e.segments).length,a}removeEventSegment(e){let t=Object.keys(e.segments).length;if(t<=1)return ho.formatDateLite(e.end);delete e.segments[ho.formatDateLite(e.end)],t--;const s=ho.subtractDays(e.end,1),a=ho.formatDateLite(s),i=e.segments[a];return t?i&&(i.isLastDay=!0,i.endTimeMinutes=e.endTimeMinutes):e.segments=null,e.daysCount=t||1,e.end=s,a}createEventSegments(e,t,s){const a=t.getTime(),i=s.getTime();let l,n,o,r=e.start.getTime(),d=e.end.getTime(),u=!1;e.end.getHours()||e.end.getMinutes()||(d-=1e3),e.segments={},e.repeat?(l=a,n=Math.min(i,e.repeat.until?ho.stringToDate(e.repeat.until).getTime():i)):(l=Math.max(a,r),n=Math.min(i,d));while(l<=n){let t=!1;const s=ho.addDays(new Date(l),1).setHours(0,0,0,0);let a,i,c,m;if(e.repeat){const s=new Date(l),n=ho.formatDateLite(s);(u||e.occurrences&&e.occurrences[n])&&(u||(r=e.occurrences[n].start,o=new Date(r).setHours(0,0,0,0),d=e.occurrences[n].end),u=!0,t=!0),a=l===o,i=n===ho.formatDateLite(new Date(d)),c=new Date(a?r:l),m=ho.formatDateLite(c),i&&(u=!1)}else t=!0,a=l===r,i=n===d&&s>n,c=a?e.start:new Date(l),m=ho.formatDateLite(a?e.start:c);t&&(e.segments[m]={start:c,startTimeMinutes:a?e.startTimeMinutes:0,endTimeMinutes:i?e.endTimeMinutes:mo,isFirstDay:a,isLastDay:i}),l=s}return e}deleteAnEvent(e){this._vuecal.emitWithEvent("event-delete",e),this._vuecal.mutableEvents=this._vuecal.mutableEvents.filter((t=>t._eid!==e._eid)),this._vuecal.view.events=this._vuecal.view.events.filter((t=>t._eid!==e._eid))}checkCellOverlappingEvents(e,t){vo=e.slice(0),po={},e.forEach((e=>{vo.shift(),po[e._eid]||(po[e._eid]={overlaps:[],start:e.start,position:0,sameOverlaps:[]}),po[e._eid].position=0,vo.forEach((s=>{po[s._eid]||(po[s._eid]={overlaps:[],start:s.start,position:0,sameOverlaps:[]});const a=this.eventInRange(s,e.start,e.end),i=this.eventSameRange(s,e),l=t.overlapsPerTimeStep?ho.datesInSameTimeStep(e.start,s.start,t.timeStep):1;if(e.background||e.allDay||s.background||s.allDay||!a||!l){let t,a;(t=(po[e._eid]||{overlaps:[]}).overlaps.indexOf(s._eid))>-1&&po[e._eid].overlaps.splice(t,1),(a=(po[s._eid]||{overlaps:[]}).overlaps.indexOf(e._eid))>-1&&po[s._eid].overlaps.splice(a,1),po[s._eid].position--}else po[e._eid].overlaps.push(s._eid),po[e._eid].overlaps=[...new Set(po[e._eid].overlaps)],po[s._eid].overlaps.push(e._eid),po[s._eid].overlaps=[...new Set(po[s._eid].overlaps)],po[s._eid].position++,i&&(po[e._eid].sameOverlaps.push(s._eid),po[e._eid].sameOverlaps=[...new Set(po[e._eid].sameOverlaps)],po[s._eid].sameOverlaps.push(e._eid),po[s._eid].sameOverlaps=[...new Set(po[s._eid].sameOverlaps)])}))}));let s=0;for(const a in po){const e=po[a],t=e.overlaps.map((e=>({id:e,start:po[e].start})));t.push({id:a,start:e.start}),t.sort(((e,t)=>e.startt.start?1:e.id>t.id?-1:1)),e.position=t.findIndex((e=>e.id===a)),s=Math.max(this.getOverlapsStreak(e,po),s)}return[po,s]}getOverlapsStreak(e,t={}){let s=e.overlaps.length+1,a=[];return e.overlaps.forEach((s=>{if(!a.includes(s)){const i=e.overlaps.filter((e=>e!==s));i.forEach((e=>{t[e].overlaps.includes(s)||a.push(e)}))}})),a=[...new Set(a)],s-=a.length,s}eventInRange(e,t,s){if(e.allDay||!this._vuecal.time){const a=new Date(e.start).setHours(0,0,0,0),i=new Date(e.end).setHours(23,59,0,0);return i>=new Date(t).setHours(0,0,0,0)&&a<=new Date(s).setHours(0,0,0,0)}const a=e.start.getTime(),i=e.end.getTime();return at.getTime()}eventSameRange(e,t){const s=e.start.getTime()==t.start.getTime(),a=e.end.getTime()==t.end.getTime();return s&&a}}const fo={class:"vuecal__header"},go={key:0,class:"vuecal__flex vuecal__menu",role:"tablist","aria-label":"Calendar views navigation"},_o=["onDragenter","onDragleave","onClick","aria-label"],wo={key:1,class:"vuecal__title-bar"},bo=["aria-label"],yo={class:"vuecal__flex vuecal__title",grow:""},Do=["aria-label"],Mo={key:0,class:"vuecal__flex vuecal__split-days-headers"};function To(e,t,s,i,l,n){const o=(0,m.up)("weekdays-headings");return(0,m.wg)(),(0,m.iD)("div",fo,[s.options.hideViewSelector?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",go,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.viewProps.views,((t,a)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:a},[t.enabled?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__view-btn",{"vuecal__view-btn--active":n.view.id===a,"vuecal__view-btn--highlighted":e.highlightedControl===a}]),type:"button",onDragenter:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,a,e.$data),onDragleave:t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,a,e.$data),onClick:e=>n.switchView(a,null,!0),"aria-label":`${t.label} view`},(0,k.zw)(t.label),43,_o)):(0,m.kq)("",!0)],64)))),128))])),s.options.hideTitleBar?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",wo,[(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--prev",{"vuecal__arrow--highlighted":"previous"===e.highlightedControl}]),type:"button",onClick:t[0]||(t[0]=(...e)=>n.previous&&n.previous(...e)),onDragenter:t[1]||(t[1]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"previous",e.$data)),onDragleave:t[2]||(t[2]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"previous",e.$data)),"aria-label":`Previous ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-prev")],42,bo),(0,m._)("div",yo,[(0,m.Wm)(a.uT,{name:s.options.transitions?`slide-fade--${n.transitionDirection}`:""},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.j4)((0,m.LL)(n.broaderView?"button":"span"),{type:!!n.broaderView&&"button",key:`${n.view.id}${n.view.startDate.toString()}`,onClick:t[3]||(t[3]=e=>!!n.broaderView&&n.switchToBroaderView()),"aria-label":!!n.broaderView&&`Go to ${n.broaderView} view`},{default:(0,m.w5)((()=>[(0,m.WI)(e.$slots,"title")])),_:3},8,["type","aria-label"]))])),_:3},8,["name"])]),s.options.todayButton?((0,m.wg)(),(0,m.iD)("button",{key:0,class:(0,k.C_)(["vuecal__today-btn",{"vuecal__today-btn--highlighted":"today"===e.highlightedControl}]),type:"button",onClick:t[4]||(t[4]=(...e)=>n.goToToday&&n.goToToday(...e)),onDragenter:t[5]||(t[5]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"today",e.$data)),onDragleave:t[6]||(t[6]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"today",e.$data)),"aria-label":"Today"},[(0,m.WI)(e.$slots,"today-button")],34)):(0,m.kq)("",!0),(0,m._)("button",{class:(0,k.C_)(["vuecal__arrow vuecal__arrow--next",{"vuecal__arrow--highlighted":"next"===e.highlightedControl}]),type:"button",onClick:t[7]||(t[7]=(...e)=>n.next&&n.next(...e)),onDragenter:t[8]||(t[8]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragEnter(t,"next",e.$data)),onDragleave:t[9]||(t[9]=t=>s.editEvents.drag&&n.dnd&&n.dnd.viewSelectorDragLeave(t,"next",e.$data)),"aria-label":`Next ${n.view.id}`},[(0,m.WI)(e.$slots,"arrow-next")],42,Do)])),s.viewProps.weekDaysInHeader?((0,m.wg)(),(0,m.j4)(o,{key:2,"week-days":s.weekDays,"transition-direction":n.transitionDirection,"switch-to-narrower-view":s.switchToNarrowerView},(0,m.Nv)({_:2},[e.$slots["weekday-heading"]?{name:"weekday-heading",fn:(0,m.w5)((({heading:t,view:s})=>[(0,m.WI)(e.$slots,"weekday-heading",{heading:t,view:s})])),key:"0"}:void 0,e.$slots["split-label"]?{name:"split-label",fn:(0,m.w5)((({split:t})=>[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view})])),key:"1"}:void 0]),1032,["week-days","transition-direction","switch-to-narrower-view"])):(0,m.kq)("",!0),(0,m.Wm)(a.uT,{name:`slide-fade--${n.transitionDirection}`},{default:(0,m.w5)((()=>[n.showDaySplits?((0,m.wg)(),(0,m.iD)("div",Mo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view.id},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)])),_:3},8,["name"])])}const $o={class:"vuecal__flex vuecal__weekdays-headings",ref:"vuecal_weekday_heading"},Co=["onClick"],jo={class:"vuecal__flex weekday-label",grow:""},Eo={class:"full"},xo={class:"small"},Wo={class:"xsmall"},So={key:0},Vo={key:0,class:"vuecal__flex vuecal__split-days-headers",grow:""};function Oo(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",$o,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.headings,((i,l)=>((0,m.wg)(),(0,m.iD)(m.HY,{key:l},[i.hide?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",{key:0,class:(0,k.C_)(["vuecal__flex vuecal__heading",{today:i.today,"today-cell":i.today,clickable:n.cellHeadingsClickable,"yesterday-cell":new Date(i.date).toLocaleDateString("sk-SK")==new Date((new Date).setDate((new Date).getDate()-1)).toLocaleDateString("sk-SK")}]),style:(0,k.j5)(n.weekdayCellStyles),onClick:e=>"week"===n.view.id&&n.selectCell(i.date,e),onDblclick:t[0]||(t[0]=e=>"week"===n.view.id&&n.vuecal.dblclickToNavigate&&s.switchToNarrowerView())},[(0,m.Wm)(a.uT,{name:`slide-fade--${s.transitionDirection}`,appear:n.vuecal.transitions},{default:(0,m.w5)((()=>[((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex",column:"",key:!!n.vuecal.transitions&&`${l}-${i.dayOfMonth}`},[(0,m._)("div",jo,[(0,m.WI)(e.$slots,"weekday-heading",{heading:n.cleanupHeading(i),view:n.view},(()=>[(0,m._)("span",Eo,(0,k.zw)(i.full),1),(0,m._)("span",xo,(0,k.zw)(i.small),1),(0,m._)("span",Wo,(0,k.zw)(i.xsmall),1),i.dayOfMonth?((0,m.wg)(),(0,m.iD)("span",So," "+(0,k.zw)(i.dayOfMonth),1)):(0,m.kq)("",!0)]))]),n.vuecal.hasSplits&&n.vuecal.stickySplitLabels?((0,m.wg)(),(0,m.iD)("div",Vo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.daySplits,((t,s)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["day-split-header",t.class||!1]),key:s},[(0,m.WI)(e.$slots,"split-label",{split:t,view:n.view},(()=>[(0,m.Uk)((0,k.zw)(t.label),1)]))],2)))),128))])):(0,m.kq)("",!0)]))])),_:2},1032,["name","appear"])],46,Co))],64)))),128))],512)}var zo={inject:["vuecal","utils","view"],props:{transitionDirection:{type:String,default:"right"},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}},unscheduledTime:{type:Array,default:[]}},methods:{selectCell(e,t){e.getTime()!==this.view.selectedDate.getTime()&&(this.view.selectedDate=e),this.utils.cell.selectCell(!1,e,t)},cleanupHeading:e=>({label:e.full,date:e.date,unscheduledTime:e.unscheduledTime,name:e.name,initials:e.initials,...e.today?{today:e.today}:{}}),onTimelineScroll(e){this.$refs["vuecal_weekday_heading"].style.top=`${e}px`}},computed:{headings(){if(!["month","week"].includes(this.view.id))return[];let e=!1;const t=this.weekDays.map(((t,s)=>{const a=this.utils.date.addDays(this.view.startDate,this.vuecal.startWeekOnSunday?s-1:s);let i=null,l=null,n=null;return this.unscheduledTime[s]?.time&&(i=Math.floor(this.unscheduledTime[s].time/60)+","+String(this.unscheduledTime[s].time%60)[0]),this.unscheduledTime[s]?.name&&this.unscheduledTime[s]?.name&&(l=this.unscheduledTime[s].name+" "+this.unscheduledTime[s].surname,n=this.unscheduledTime[s].name.charAt(0).toUpperCase()+this.unscheduledTime[s].surname.charAt(0).toUpperCase()),{hide:t.hide,full:t.label,small:t.short||t.label.substr(0,3),xsmall:t.short||t.label.substr(0,1),unscheduledTime:i,name:l,initials:n,..."week"===this.view.id?{dayOfMonth:a.getDate(),date:a,today:!e&&this.utils.date.isToday(a)&&!e++}:{}}}));return t},cellWidth(){return 100/(7-this.weekDays.reduce(((e,t)=>e+t.hide),0))},weekdayCellStyles(){return{...this.vuecal.hideWeekdays.length?{width:`${this.cellWidth}%`}:{}}},cellHeadingsClickable(){return"week"===this.view.id&&(this.vuecal.clickToNavigate||this.vuecal.dblclickToNavigate)}}};const Ao=(0,$.Z)(zo,[["render",Oo]]);var Uo=Ao,Zo={inject:["vuecal","previous","next","switchView","updateSelectedDate","modules","view"],components:{WeekdaysHeadings:Uo},props:{options:{type:Object,default:()=>({})},editEvents:{type:Object,required:!0},hasSplits:{type:[Boolean,Number],default:!1},daySplits:{type:Array,default:()=>[]},viewProps:{type:Object,default:()=>({})},weekDays:{type:Array,default:()=>[]},switchToNarrowerView:{type:Function,default:()=>{}}},data:()=>({highlightedControl:null}),methods:{goToToday(){this.updateSelectedDate(new Date((new Date).setHours(0,0,0,0)))},switchToBroaderView(){this.transitionDirection="left",this.broaderView&&this.switchView(this.broaderView)}},computed:{transitionDirection:{get(){return this.vuecal.transitionDirection},set(e){this.vuecal.transitionDirection=e}},broaderView(){const{enabledViews:e}=this.vuecal;return e[e.indexOf(this.view.id)-1]},showDaySplits(){return"day"===this.view.id&&this.hasSplits&&this.options.stickySplitLabels&&!this.options.minSplitWidth},dnd(){return this.modules.dnd}}};const Ho=(0,$.Z)(Zo,[["render",To]]);var Fo=Ho;const Io={key:0,class:"vuecal__all-day-text",style:{width:"3em"}};function Po(e,t,s,a,i,l){const n=(0,m.up)("vuecal-cell");return(0,m.wg)(),(0,m.iD)("div",{class:"vuecal__flex vuecal__all-day",style:(0,k.j5)(s.cellOrSplitMinWidth&&{height:s.height})},[s.cellOrSplitMinWidth?(0,m.kq)("",!0):((0,m.wg)(),(0,m.iD)("div",Io,[(0,m._)("span",null,(0,k.zw)(s.label),1)])),(0,m._)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cells",`${l.view.id}-view`]),grow:"",style:(0,k.j5)(s.cellOrSplitMinWidth?`min-width: ${s.cellOrSplitMinWidth}px`:"")},[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(s.cells,((t,a)=>((0,m.wg)(),(0,m.j4)(n,{key:a,options:s.options,"edit-events":l.editEvents,data:t,"all-day":!0,"cell-width":s.options.hideWeekdays.length&&(l.vuecal.isWeekView||l.vuecal.isMonthView)&&l.vuecal.cellWidth,"min-timestamp":s.options.minTimestamp,"max-timestamp":s.options.maxTimestamp,"cell-splits":s.daySplits},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["options","edit-events","data","cell-width","min-timestamp","max-timestamp","cell-splits"])))),128))],6)],4)}const Lo=["data-split","aria-label","onTouchstart","onMousedown","onClick","onDragover","onDrop"],Yo={key:0,class:"cell-time-labels"},No=["innerHTML"],qo={key:2,class:"vuecal__cell-events"},Bo=["title"];function Ro(e,t,s,i,l,n){const o=(0,m.up)("event");return(0,m.wg)(),(0,m.j4)(a.W3,{class:(0,k.C_)(["vuecal__cell",n.cellClasses]),name:`slide-fade--${n.transitionDirection}`,tag:"div",appear:s.options.transitions,style:(0,k.j5)(n.cellStyles)},{default:(0,m.w5)((()=>[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?n.splits:1,((i,l)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__flex vuecal__cell-content",n.splitsCount&&n.splitClasses(i)]),key:s.options.transitions?`${n.view.id}-${s.data.content}-${l}`:l,"data-split":!!n.splitsCount&&i.id,column:"",tabindex:"0","aria-label":s.data.content,onFocus:t[0]||(t[0]=e=>n.onCellFocus(e)),onKeypress:t[1]||(t[1]=(0,a.D2)((e=>n.onCellkeyPressEnter(e)),["enter"])),onTouchstart:e=>!n.isDisabled&&n.onCellTouchStart(e,n.splitsCount?i.id:null),onMousedown:e=>!n.isDisabled&&n.onCellMouseDown(e,n.splitsCount?i.id:null),onClick:e=>!n.isDisabled&&n.onCellClick(e,i),onDblclick:t[2]||(t[2]=e=>!n.isDisabled&&n.onCellDblClick(e)),onContextmenu:t[3]||(t[3]=e=>!n.isDisabled&&s.options.cellContextmenu&&n.onCellContextMenu(e)),onDragenter:t[4]||(t[4]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragEnter(t,e.$data,s.data.startDate)),onDragover:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragOver(t,e.$data,s.data.startDate,n.splitsCount?i.id:null),onDragleave:t[5]||(t[5]=t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragLeave(t,e.$data,s.data.startDate)),onDrop:t=>!n.isDisabled&&s.editEvents.drag&&n.dnd&&n.dnd.cellDragDrop(t,e.$data,s.data.startDate,n.splitsCount?i.id:null)},[s.options.showTimeInCells&&s.options.time&&n.isWeekOrDayView&&!s.allDay?((0,m.wg)(),(0,m.iD)("div",Yo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.vuecal.timeCells,((e,t)=>((0,m.wg)(),(0,m.iD)("span",{class:"cell-time-label",key:t},(0,k.zw)(e.label),1)))),128))])):(0,m.kq)("",!0),n.isWeekOrDayView&&!s.allDay&&n.specialHours.length?((0,m.wg)(!0),(0,m.iD)(m.HY,{key:1},(0,m.Ko)(n.specialHours,((e,t)=>((0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__special-hours",`vuecal__special-hours--day${e.day} ${e.class}`]),style:(0,k.j5)(`height: ${e.height}px;top: ${e.top}px`)},[e.label?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"special-hours-label",innerHTML:e.label},null,8,No)):(0,m.kq)("",!0)],6)))),256)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"cell-content",{events:n.events,selectCell:e=>n.selectCell(e,!0),split:!!n.splitsCount&&i}),n.eventsCount&&(n.isWeekOrDayView||"month"===n.view.id&&s.options.eventsOnMonthView)?((0,m.wg)(),(0,m.iD)("div",qo,[((0,m.wg)(!0),(0,m.iD)(m.HY,null,(0,m.Ko)(n.splitsCount?i.events:n.events,((t,a)=>((0,m.wg)(),(0,m.j4)(o,{key:a,"cell-formatted-date":s.data.formattedDate,event:t,"all-day":s.allDay,"cell-events":n.splitsCount?i.events:n.events,cellOverlaps:(n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[],allOverlaps:(n.splitsCount?i.overlaps:e.cellOverlaps)||[],"event-position":((n.splitsCount?i.overlaps[t._eid]:e.cellOverlaps[t._eid])||[]).position,"overlaps-streak":n.splitsCount?i.overlapsStreak:e.cellOverlapsStreak},{event:(0,m.w5)((({event:t,view:s})=>[(0,m.WI)(e.$slots,"event",{view:s,event:t})])),_:2},1032,["cell-formatted-date","event","all-day","cell-events","cellOverlaps","allOverlaps","event-position","overlaps-streak"])))),128))])):(0,m.kq)("",!0)],42,Lo)))),128)),n.timelineVisible?((0,m.wg)(),(0,m.iD)("div",{class:"vuecal__now-line",style:(0,k.j5)(`top: ${n.todaysTimePosition}px`),key:s.options.transitions?`${n.view.id}-now-line`:"now-line",title:n.utils.date.formatTime(n.vuecal.now)},null,12,Bo)):(0,m.kq)("",!0)])),_:3},8,["class","name","appear","style"])}const Ko=["eventId","draggable"];function Jo(e,t,s,i,l,n){return(0,m.wg)(),(0,m.iD)("div",{class:(0,k.C_)(["vuecal__event",n.eventClasses]),style:(0,k.j5)(n.eventStyles),eventId:`event-id-${s.event.id}`,tabindex:"0",onFocus:t[4]||(t[4]=(...e)=>n.focusEvent&&n.focusEvent(...e)),onKeypress:t[5]||(t[5]=(0,a.D2)((0,a.iM)(((...e)=>n.onEnterKeypress&&n.onEnterKeypress(...e)),["stop"]),["enter"])),onMouseenter:t[6]||(t[6]=(...e)=>n.onMouseEnter&&n.onMouseEnter(...e)),onMouseleave:t[7]||(t[7]=(...e)=>n.onMouseLeave&&n.onMouseLeave(...e)),onTouchstart:t[8]||(t[8]=(0,a.iM)(((...e)=>n.onTouchStart&&n.onTouchStart(...e)),["stop"])),onMousedown:t[9]||(t[9]=e=>n.onMouseDown(e)),onMouseup:t[10]||(t[10]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchend:t[11]||(t[11]=(...e)=>n.onMouseUp&&n.onMouseUp(...e)),onTouchmove:t[12]||(t[12]=(...e)=>n.onTouchMove&&n.onTouchMove(...e)),onDblclick:t[13]||(t[13]=(...e)=>n.onDblClick&&n.onDblClick(...e)),draggable:n.draggable,onDragstart:t[14]||(t[14]=e=>n.draggable&&n.onDragStart(e)),onDragend:t[15]||(t[15]=e=>n.draggable&&n.onDragEnd())},[n.vuecal.editEvents.delete&&s.event.deletable?((0,m.wg)(),(0,m.iD)("div",{key:0,class:"vuecal__event-delete",onClick:t[0]||(t[0]=(0,a.iM)(((...e)=>n.deleteEvent&&n.deleteEvent(...e)),["stop"])),onTouchstart:t[1]||(t[1]=(0,a.iM)(((...e)=>n.touchDeleteEvent&&n.touchDeleteEvent(...e)),["stop"]))},(0,k.zw)(n.vuecal.texts.deleteEvent),33)):(0,m.kq)("",!0),(0,m.WI)(e.$slots,"event",{event:s.event,view:n.view.id}),n.resizable?((0,m.wg)(),(0,m.iD)("div",{key:1,class:"vuecal__event-resize-handle",contenteditable:"false",onMousedown:t[2]||(t[2]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"])),onTouchstart:t[3]||(t[3]=(0,a.iM)(((...e)=>n.onResizeHandleMouseDown&&n.onResizeHandleMouseDown(...e)),["stop","prevent"]))},null,32)):(0,m.kq)("",!0)],46,Ko)}var Xo={inject:["vuecal","utils","modules","view","domEvents","editEvents"],props:{cellFormattedDate:{type:String,default:""},event:{type:Object,default:()=>({})},cellEvents:{type:Array,default:()=>[]},cellOverlaps:{type:Object,default:()=>({})},allOverlaps:{type:Object,default:()=>({})},eventPosition:{type:Number,default:0},overlapsStreak:{type:Number,default:0},allDay:{type:Boolean,default:!1}},data:()=>({touch:{dragThreshold:30,startX:0,startY:0,dragged:!1}}),methods:{onMouseDown(e,t=!1){if("ontouchstart"in window&&!t)return!1;const{clickHoldAnEvent:s,focusAnEvent:a,resizeAnEvent:i,dragAnEvent:l}=this.domEvents;if(a._eid===this.event._eid&&s._eid===this.event._eid)return!0;this.focusEvent(),s._eid=null,this.vuecal.editEvents.delete&&this.event.deletable&&(s.timeoutId=setTimeout((()=>{i._eid||l._eid||(s._eid=this.event._eid,this.event.deleting=!0)}),s.timeout))},onMouseUp(e){this.domEvents.focusAnEvent._eid!==this.event._eid||this.touch.dragged||(this.domEvents.focusAnEvent.mousedUp=!0),this.touch.dragged=!1},onMouseEnter(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-enter",this.event)},onMouseLeave(e){e.preventDefault(),this.vuecal.emitWithEvent("event-mouse-leave",this.event)},onTouchMove(e){if("function"!==typeof this.vuecal.onEventClick)return;const{clientX:t,clientY:s}=e.touches[0],{startX:a,startY:i,dragThreshold:l}=this.touch;(Math.abs(t-a)>l||Math.abs(s-i)>l)&&(this.touch.dragged=!0)},onTouchStart(e){this.touch.startX=e.touches[0].clientX,this.touch.startY=e.touches[0].clientY,this.onMouseDown(e,!0)},onEnterKeypress(e){if("function"===typeof this.vuecal.onEventClick)return this.vuecal.onEventClick(this.event,e)},onDblClick(e){if("function"===typeof this.vuecal.onEventDblclick)return this.vuecal.onEventDblclick(this.event,e)},onDragStart(e){"blocker"!=this.event.type&&"non-working-hours"!=this.event.type&&(this.event.draggingStatic=!1,this.dnd&&this.dnd.eventDragStart(e,this.event))},onDragEnd(){this.dnd&&this.dnd.eventDragEnd(this.event)},onResizeHandleMouseDown(){this.focusEvent(),this.domEvents.dragAnEvent._eid=null,this.domEvents.resizeAnEvent=Object.assign(this.domEvents.resizeAnEvent,{_eid:this.event._eid,start:(this.segment||this.event).start,split:this.event.split||null,segment:!!this.segment&&this.utils.date.formatDateLite(this.segment.start),originalEnd:new Date((this.segment||this.event).end),originalEndTimeMinutes:this.event.endTimeMinutes}),this.event.resizing=!0},deleteEvent(e=!1){if("ontouchstart"in window&&!e)return!1;this.utils.event.deleteAnEvent(this.event)},touchDeleteEvent(e){this.deleteEvent(!0)},cancelDeleteEvent(){this.event.deleting=!1},focusEvent(){const{focusAnEvent:e}=this.domEvents,t=e._eid;if(t!==this.event._eid){if(t){const e=this.view.events.find((e=>e._eid===t));e&&(e.focused=!1)}this.vuecal.cancelDelete(),this.vuecal.emitWithEvent("event-focus",this.event),e._eid=this.event._eid,this.event.focused=!0}}},computed:{eventDimensions(){const{startTimeMinutes:e,endTimeMinutes:t}=this.segment||this.event;let s=e-this.vuecal.timeFrom;const a=Math.max(Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),0);s=Math.min(t,this.vuecal.timeTo)-this.vuecal.timeFrom;const i=Math.round(s*this.vuecal.timeCellHeight/this.vuecal.timeStep),l=Math.max(i-a,5);return{top:a,height:l}},eventStyles(){if(this.event.allDay||!this.vuecal.time||!this.event.endTimeMinutes||"month"===this.view.id||this.allDay)return{};let e=100-10*this.eventPosition,t=5*this.eventPosition,s=10*(this.eventPosition+1),a=this.event.master_task_color;if(Array.isArray(this.cellOverlaps.sameOverlaps)&&this.cellOverlaps.sameOverlaps.length){const s=this.cellOverlaps.sameOverlaps.length+1,a=this.cellOverlaps.overlaps.filter((e=>{if(!this.cellOverlaps.sameOverlaps.includes(e)&&this.allOverlaps[this.event._eid].position>this.allOverlaps[e].position)return e}));e=100/s-5,t=100/s*(this.eventPosition-a.length)+5*(this.eventPosition-a.length)/s,a.length&&(e-=a.length*(10/s),t+=5*a.length-10*a.length/s*(this.eventPosition-a.length))}this.vuecal.minEventWidth&&e({})},editEvents:{type:Object,required:!0},data:{type:Object,required:!0},cellSplits:{type:Array,default:()=>[]},minTimestamp:{type:[Number,null],default:null},maxTimestamp:{type:[Number,null],default:null},cellWidth:{type:[Number,Boolean],default:!1},allDay:{type:Boolean,default:!1}},data:()=>({tmUtils:A.Z,cellOverlaps:{},cellOverlapsStreak:1,timeAtCursor:null,highlighted:!1,highlightedSplit:null}),methods:{getSplitAtCursor({target:e}){const t=e.classList.contains("vuecal__cell-split");let s=t?e:this.vuecal.findAncestor(e,"vuecal__cell-split");return s&&(s=s.attributes["data-split"].value,parseInt(s).toString()===s.toString()&&(s=parseInt(s))),s||null},splitClasses(e){return{"vuecal__cell-split":!0,"vuecal__cell-split--highlighted":this.highlightedSplit===e.id,"vuecal__cell-split--weekend":e.isWeekend,[e.class]:!!e.class}},checkCellOverlappingEvents(){this.options.time&&this.eventsCount&&!this.splitsCount&&(1===this.eventsCount?(this.cellOverlaps=[],this.cellOverlapsStreak=1):[this.cellOverlaps,this.cellOverlapsStreak]=this.utils.event.checkCellOverlappingEvents(this.events,this.options))},isDOMElementAnEvent(e){return this.vuecal.isDOMElementAnEvent(e)},selectCell(e,t=!1){const s=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.selectCell(t,this.timeAtCursor,s),this.timeAtCursor=null},onCellkeyPressEnter(e){this.isSelected||this.onCellFocus(e);const t=this.splitsCount?this.getSplitAtCursor(e):null;this.utils.cell.keyPressEnterCell(this.timeAtCursor,t),this.timeAtCursor=null},onCellFocus(e){if(!this.isSelected&&!this.isDisabled){this.isSelected=this.data.startDate;const t=this.splitsCount?this.getSplitAtCursor(e):null,s=this.timeAtCursor||this.data.startDate;this.vuecal.$emit("cell-focus",t?{date:s,split:t}:s)}},onCellMouseDown(e,t=null,s=!1){if("ontouchstart"in window&&!s)return!1;this.isSelected||this.onCellFocus(e);const{clickHoldACell:a,focusAnEvent:i}=this.domEvents;this.domEvents.cancelClickEventCreation=!1,a.eventCreated=!1,this.timeAtCursor=new Date(this.data.startDate);const{minutes:l,cursorCoords:{y:n}}=this.vuecal.minutesAtCursor(e);this.timeAtCursor.setMinutes(l);const o=this.isDOMElementAnEvent(e.target);!o&&i._eid&&((this.view.events.find((e=>e._eid===i._eid))||{}).focused=!1),this.editEvents.create&&!o&&this.setUpEventCreation(e,n)},setUpEventCreation(e,t){if(this.options.dragToCreateEvent&&["week","day"].includes(this.view.id)){const{dragCreateAnEvent:s}=this.domEvents;if(s.startCursorY=t,s.split=this.splitsCount?this.getSplitAtCursor(e):null,s.start=this.timeAtCursor,this.options.snapToTime){let e=60*this.timeAtCursor.getHours()+this.timeAtCursor.getMinutes();const t=e+this.options.snapToTime/2;e=t-t%this.options.snapToTime,s.start.setHours(0,e,0,0)}}else this.options.cellClickHold&&["month","week","day"].includes(this.view.id)&&this.setUpCellHoldTimer(e)},setUpCellHoldTimer(e){const{clickHoldACell:t}=this.domEvents;t.cellId=`${this.vuecal._.uid}_${this.data.formattedDate}`,t.split=this.splitsCount?this.getSplitAtCursor(e):null,t.timeoutId=setTimeout((()=>{if(t.cellId&&!this.domEvents.cancelClickEventCreation){const{_eid:e}=this.utils.event.createAnEvent(this.timeAtCursor,null,t.split?{split:t.split}:{});t.eventCreated=e}}),t.timeout)},onCellTouchStart(e,t=null){this.onCellMouseDown(e,t,!0)},onCellClick(e,t){if(e.offsetY>950&&e.offsetY<1700){const s=t.date;s.setHours(Math.floor(e.offsetY/100),0,0,0);const a=new Date(s);a.setHours(s.getHours()+1);const i=Re()(s).format("HH:mm"),l="Dashboard - Teams"===this.$route.name,n=l?t.employee_id:Number(localStorage.getItem("selectedEmployee")||this.user.id);this.$events.emit("show-menu-modal",{time:i,date:A.Z.formatDateTimeForBackend(s),employee:n}),setTimeout((()=>{this.$events.emit("add-timeblock",{id:null,start:A.Z.formatDateTimeForBackend(s),end:A.Z.formatDateTimeForBackend(a)})}),150)}this.isDOMElementAnEvent(e.target)||this.selectCell(e)},onCellDblClick(e){const t=new Date(this.data.startDate);t.setMinutes(this.vuecal.minutesAtCursor(e).minutes);const s=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-dblclick",s?{date:t,split:s}:t),this.options.dblclickToNavigate&&this.vuecal.switchToNarrowerView()},onCellContextMenu(e){e.stopPropagation(),e.preventDefault();const t=new Date(this.data.startDate),{cursorCoords:s,minutes:a}=this.vuecal.minutesAtCursor(e);t.setMinutes(a);const i=this.splitsCount?this.getSplitAtCursor(e):null;this.vuecal.$emit("cell-contextmenu",{date:t,...s,...i||{},e:e})}},computed:{...(0,U.Se)("auth",["user"]),dnd(){return this.modules.dnd},nowInMinutes(){return this.utils.date.dateToMinutes(this.vuecal.now)},isBeforeMinDate(){return null!==this.minTimestamp&&this.minTimestamp>this.data.endDate.getTime()},isAfterMaxDate(){return this.maxTimestamp&&this.maxTimestamp{let{from:t,to:s}=e;return t=Math.max(t,this.options.timeFrom),s=Math.min(s,this.options.timeTo),{...e,height:(s-t)*this.timeScale,top:(t-this.options.timeFrom)*this.timeScale}}))},events(){const{startDate:e,endDate:t}=this.data;let s=[];if(!["years","year"].includes(this.view.id)||this.options.eventsCountOnYearView){if(s=this.view.events.slice(0),"month"===this.view.id&&s.push(...this.view.outOfScopeEvents),s=s.filter((s=>this.utils.event.eventInRange(s,e,t))),this.options.showAllDayEvents&&"month"!==this.view.id&&(s=s.filter((e=>!!e.allDay===this.allDay))),this.options.time&&this.isWeekOrDayView&&!this.allDay){const{timeFrom:e,timeTo:t}=this.options;s=s.filter((s=>{const a=s.daysCount>1&&s.segments[this.data.formattedDate]||{},i=1===s.daysCount&&s.startTimeMinutese,l=s.daysCount>1&&a.startTimeMinutese,n=!1;return s.allDay||i||l||n}))}!this.options.time||!this.isWeekOrDayView||this.options.showAllDayEvents&&this.allDay||s.sort(((e,t)=>e.start{const s=this.events.filter((t=>t.split===e.id)),[a,i]=this.utils.event.checkCellOverlappingEvents(s.filter((e=>!e.background&&!e.allDay)),this.options);return{...e,overlaps:a,overlapsStreak:i,events:s}}))},splitsCount(){return this.splits.length},cellClasses(){return{[this.data.class]:!!this.data.class,"vuecal__cell--current":this.data.current,"vuecal__cell--today":this.data.today,"vuecal__cell--out-of-scope":this.data.outOfScope,"vuecal__cell--before-min":this.isDisabled&&this.isBeforeMinDate,"vuecal__cell--after-max":this.isDisabled&&this.isAfterMaxDate,"vuecal__cell--disabled":this.isDisabled,"vuecal__cell--selected":this.isSelected,"vuecal__cell--highlighted":this.highlighted,"vuecal__cell--has-splits":this.splitsCount,"vuecal__cell--has-events":this.eventsCount}},cellStyles(){return{...this.cellWidth?{width:`${this.cellWidth}%`}:{}}},timelineVisible(){const{time:e,timeTo:t}=this.options;return this.data.today&&this.isWeekOrDayView&&e&&!this.allDay&&this.nowInMinutes<=t},todaysTimePosition(){if(!this.data.today||!this.options.time)return;const e=this.nowInMinutes-this.options.timeFrom;return Math.round(e*this.timeScale)},timeScale(){return this.options.timeCellHeight/this.options.timeStep}}};const tr=(0,$.Z)(er,[["render",Ro]]);var sr=tr,ar={inject:["vuecal","view","editEvents"],components:{"vuecal-cell":sr},props:{options:{type:Object,required:!0},cells:{type:Array,required:!0},label:{type:String,required:!0},daySplits:{type:Array,default:()=>[]},shortEvents:{type:Boolean,default:!0},height:{type:String,default:""},cellOrSplitMinWidth:{type:Number,default:null}},computed:{hasCellOrSplitWidth(){return!!(this.options.minCellWidth||this.daySplits.length&&this.options.minSplitWidth)}}};const ir=(0,$.Z)(ar,[["render",Po]]);var lr=ir,nr=s(15941);const or=1440,rr={weekDays:Array(7).fill(""),weekDaysShort:[],months:Array(12).fill(""),years:"",year:"",month:"",week:"",day:"",today:"",noEvent:"",allDay:"",deleteEvent:"",createEvent:"",dateFormat:"dddd MMMM D, YYYY",am:"am",pm:"pm"},dr=["years","year","month","week","day"],ur=new oo(rr);var cr={name:"vue-cal",components:{"vuecal-cell":sr,"vuecal-header":Fo,WeekdaysHeadings:Uo,AllDayBar:lr},provide(){return{vuecal:this,utils:this.utils,modules:this.modules,previous:this.previous,next:this.next,switchView:this.switchView,updateSelectedDate:this.updateSelectedDate,editEvents:this.editEvents,view:this.view,domEvents:this.domEvents}},props:{activeView:{type:String,default:"week"},scrollToHour:{type:Number,default:0},allDayBarHeight:{type:[String,Number],default:"25px"},cellClickHold:{type:Boolean,default:!0},cellContextmenu:{type:Boolean,default:!1},clickToNavigate:{type:Boolean,default:!1},dblclickToNavigate:{type:Boolean,default:!0},disableDatePrototypes:{type:Boolean,default:!1},disableDays:{type:Array,default:()=>[]},disableViews:{type:Array,default:()=>[]},dragToCreateEvent:{type:Boolean,default:!0},dragToCreateThreshold:{type:Number,default:15},editableEvents:{type:[Boolean,Object],default:!1},unscheduledTime:{type:Array,default:[]},events:{type:Array,default:()=>[]},eventsCountOnYearView:{type:Boolean,default:!1},eventsOnMonthView:{type:[Boolean,String],default:!1},hideBody:{type:Boolean,default:!1},hideTitleBar:{type:Boolean,default:!1},hideViewSelector:{type:Boolean,default:!1},hideWeekdays:{type:Array,default:()=>[]},hideWeekends:{type:Boolean,default:!1},locale:{type:[String,Object],default:"en"},maxDate:{type:[String,Date],default:""},minCellWidth:{type:Number,default:0},minDate:{type:[String,Date],default:""},minEventWidth:{type:Number,default:0},minSplitWidth:{type:Number,default:0},onEventClick:{type:[Function,null],default:null},onEventCreate:{type:[Function,null],default:null},onEventDblclick:{type:[Function,null],default:null},overlapsPerTimeStep:{type:Boolean,default:!1},resizeX:{type:Boolean,default:!1},selectedDate:{type:[String,Date],default:""},showAllDayEvents:{type:[Boolean,String],default:!1},showTimeInCells:{type:Boolean,default:!1},showWeekNumbers:{type:[Boolean,String],default:!1},snapToTime:{type:Number,default:0},small:{type:Boolean,default:!1},specialHours:{type:Object,default:()=>({})},splitDays:{type:Array,default:()=>[]},startWeekOnSunday:{type:Boolean,default:!1},stickySplitLabels:{type:Boolean,default:!1},time:{type:Boolean,default:!0},timeCellHeight:{type:Number,default:40},timeFormat:{type:String,default:""},timeFrom:{type:Number,default:0},timeStep:{type:Number,default:60},timeTo:{type:Number,default:or},todayButton:{type:Boolean,default:!1},transitions:{type:Boolean,default:!0},twelveHour:{type:Boolean,default:!1},watchRealTime:{type:Boolean,default:!1},xsmall:{type:Boolean,default:!1}},data(){return{ready:!1,texts:{...rr},utils:{date:!!this.disableDatePrototypes&&ur.removePrototypes()||ur,cell:null,event:null},modules:{dnd:null},cellsEl:null,view:{id:"",title:"",startDate:null,endDate:null,firstCellDate:null,lastCellDate:null,selectedDate:null,events:[]},eventIdIncrement:1,now:new Date,timeTickerIds:[null,null],domEvents:{resizeAnEvent:{_eid:null,start:null,split:null,segment:null,originalEndTimeMinutes:0,originalEnd:null,end:null,startCell:null,endCell:null},dragAnEvent:{_eid:null},dragCreateAnEvent:{startCursorY:null,start:null,split:null,event:null},focusAnEvent:{_eid:null,mousedUp:!1},clickHoldAnEvent:{_eid:null,timeout:1200,timeoutId:null},dblTapACell:{taps:0,timeout:500},clickHoldACell:{cellId:null,split:null,timeout:1200,timeoutId:null,eventCreated:!1},cancelClickEventCreation:!1},mutableEvents:[],transitionDirection:"right"}},methods:{async loadLocale(e){if("object"===typeof this.locale)return this.texts=Object.assign({},rr,e),void this.utils.date.updateTexts(this.texts);if("en"===this.locale){const e=await s.e(3320).then(s.t.bind(s,3320,19));this.texts=Object.assign({},rr,e)}else s(66667)(`./${e}.json`).then((e=>{this.texts=Object.assign({},rr,e.default),this.utils.date.updateTexts(this.texts)}))},loadDragAndDrop(){s.e(1466).then(s.bind(s,91466)).then((e=>{const{DragAndDrop:t}=e;this.modules.dnd=new t(this)})).catch((()=>nr.warn("Vue Cal: Missing drag & drop module.")))},validateView(e){return dr.includes(e)||(nr.error(`Vue Cal: invalid active-view parameter provided: "${e}".\nA valid view must be one of: ${dr.join(", ")}.`),e="week"),this.enabledViews.includes(e)||(nr.warn(`Vue Cal: the provided active-view "${e}" is disabled. Using the "${this.enabledViews[0]}" view instead.`),e=this.enabledViews[0]),e},switchToNarrowerView(e=null){this.transitionDirection="right";const t=this.enabledViews[this.enabledViews.indexOf(this.view.id)+1];t&&this.switchView(t,e)},switchView(e,t=null,s=!1){e=this.validateView(e);const a=this.utils.date,i=this.view.startDate&&this.view.startDate.getTime();if(this.transitions&&s){if(this.view.id===e)return;const t=this.enabledViews;this.transitionDirection=t.indexOf(this.view.id)>t.indexOf(e)?"left":"right"}const l=this.view.id;switch(this.view.events=[],this.view.id=e,this.view.firstCellDate=null,this.view.lastCellDate=null,t||(t=this.view.selectedDate||this.view.startDate),e){case"years":this.view.startDate=new Date(25*Math.floor(t.getFullYear()/25)||2e3,0,1),this.view.endDate=new Date(this.view.startDate.getFullYear()+25,0,1),this.view.endDate.setSeconds(-1);break;case"year":this.view.startDate=new Date(t.getFullYear(),0,1),this.view.endDate=new Date(t.getFullYear()+1,0,1),this.view.endDate.setSeconds(-1);break;case"month":{this.view.startDate=new Date(t.getFullYear(),t.getMonth(),1),this.view.endDate=new Date(t.getFullYear(),t.getMonth()+1,1),this.view.endDate.setSeconds(-1);let e=new Date(this.view.startDate);if(e.getDay()!==(this.startWeekOnSunday?0:1)&&(e=a.getPreviousFirstDayOfWeek(e,this.startWeekOnSunday)),this.view.firstCellDate=e,this.view.lastCellDate=a.addDays(e,41),this.view.lastCellDate.setHours(23,59,59,0),this.hideWeekends){if([0,6].includes(this.view.firstCellDate.getDay())){const e=6!==this.view.firstCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.firstCellDate=a.addDays(this.view.firstCellDate,e)}if([0,6].includes(this.view.startDate.getDay())){const e=6===this.view.startDate.getDay()?2:1;this.view.startDate=a.addDays(this.view.startDate,e)}if([0,6].includes(this.view.lastCellDate.getDay())){const e=0!==this.view.lastCellDate.getDay()||this.startWeekOnSunday?1:2;this.view.lastCellDate=a.subtractDays(this.view.lastCellDate,e)}if([0,6].includes(this.view.endDate.getDay())){const e=0===this.view.endDate.getDay()?2:1;this.view.endDate=a.subtractDays(this.view.endDate,e)}}break}case"week":{t=a.getPreviousFirstDayOfWeek(t,this.startWeekOnSunday);const e=this.hideWeekends?5:7;this.view.startDate=this.hideWeekends&&this.startWeekOnSunday?a.addDays(t,1):t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=a.addDays(t,e),this.view.endDate.setSeconds(-1);break}case"day":this.view.startDate=t,this.view.startDate.setHours(0,0,0,0),this.view.endDate=new Date(t),this.view.endDate.setHours(23,59,59,0);break}this.addEventsToView();const n=this.view.startDate&&this.view.startDate.getTime();if((l!==e||n!==i)&&(this.$emit("update:activeView",e),this.ready)){const t=this.view.startDate,s={view:e,startDate:t,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate,outOfScopeEvents:this.view.outOfScopeEvents.map(this.cleanupEvent)}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:a.getWeek(this.startWeekOnSunday?a.addDays(t,1):t)}:{}};this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("view-change",s)}},previous(){this.previousNext(!1)},next(){this.previousNext()},previousNext(e=!0){const t=this.utils.date;this.transitionDirection=e?"right":"left";const s=e?1:-1;let a=null;const{startDate:i,id:l}=this.view;switch(l){case"years":a=new Date(i.getFullYear()+25*s,0,1);break;case"year":a=new Date(i.getFullYear()+1*s,1,1);break;case"month":a=new Date(i.getFullYear(),i.getMonth()+1*s,1);break;case"week":a=t[e?"addDays":"subtractDays"](t.getPreviousFirstDayOfWeek(i,this.startWeekOnSunday),7);break;case"day":a=t[e?"addDays":"subtractDays"](i,1);const l=a.getDay(),n=this.startWeekOnSunday?l:(l||7)-1,o=this.weekDays[n].hide;if(o){const s=this.weekDays.map(((e,t)=>({...e,i:t})));let i=null,l=0;e?(i=[...s.slice(n),...s].find((e=>(l++,!e.hide))).i,l--):i=[...s,...s.slice(0,n)].reverse().find((e=>(l++,!e.hide))).i,a=t[e?"addDays":"subtractDays"](a,l)}break}a&&this.switchView(l,a)},addEventsToView(e=[]){const t=this.utils.event,{startDate:s,endDate:a,firstCellDate:i,lastCellDate:l}=this.view;if(e.length||(this.view.events=[]),e=e.length?e:[...this.mutableEvents],!e||this.isYearsOrYearView&&!this.eventsCountOnYearView)return;let n=e.filter((e=>t.eventInRange(e,s,a)));this.isYearsOrYearView||this.isMonthView&&!this.eventsOnMonthView||(n=n.map((e=>e.daysCount>1?t.createEventSegments(e,i||s,l||a):e))),this.view.events.push(...n),this.isMonthView&&(this.view.outOfScopeEvents=[],e.forEach((e=>{(t.eventInRange(e,i,s)||t.eventInRange(e,a,l))&&(this.view.events.some((t=>t._eid===e._eid))||this.view.outOfScopeEvents.push(e))})))},findAncestor(e,t){while((e=e.parentElement)&&!e.classList.contains(t));return e},isDOMElementAnEvent(e){return e.classList.contains("vuecal__event")||this.findAncestor(e,"vuecal__event")},onMouseMove(e){const{resizeAnEvent:t,dragAnEvent:s,dragCreateAnEvent:a}=this.domEvents;(null!==t._eid||null!==s._eid||a.start)&&(e.preventDefault(),t._eid?this.eventResizing(e):this.dragToCreateEvent&&a.start&&this.eventDragCreation(e))},onMouseUp(e){const{focusAnEvent:t,resizeAnEvent:s,clickHoldAnEvent:a,clickHoldACell:i,dragCreateAnEvent:l}=this.domEvents,{_eid:n}=a,{_eid:o}=s;let r=!1;const{event:d,start:u}=l,c=this.isDOMElementAnEvent(e.target),m=t.mousedUp;if(t.mousedUp=!1,c&&(this.domEvents.cancelClickEventCreation=!0),i.eventCreated)return;if(o){const{originalEnd:e,originalEndTimeMinutes:t,endTimeMinutes:a}=s,i=this.view.events.find((e=>e._eid===s._eid));if(r=a&&a!==t,i&&i.end.getTime()!==e.getTime()){const t=this.mutableEvents.find((e=>e._eid===s._eid));t.endTimeMinutes=i.endTimeMinutes,t.end=i.end;const a=this.cleanupEvent(i),l={...this.cleanupEvent(i),end:e,endTimeMinutes:i.originalEndTimeMinutes};this.$emit("event-duration-change",{event:a,oldDate:s.originalEnd,originalEvent:l}),this.$emit("event-change",{event:a,originalEvent:l})}i&&(i.resizing=!1),s._eid=null,s.start=null,s.split=null,s.segment=null,s.originalEndTimeMinutes=null,s.originalEnd=null,s.endTimeMinutes=null,s.startCell=null,s.endCell=null}else u&&(d&&(this.emitWithEvent("event-drag-create",d),l.event.resizing=!1),l.start=null,l.split=null,l.event=null);c||o||this.unfocusEvent(),a.timeoutId&&!n&&(clearTimeout(a.timeoutId),a.timeoutId=null),i.timeoutId&&(clearTimeout(i.timeoutId),i.timeoutId=null);const h="function"===typeof this.onEventClick;if(m&&!r&&!n&&!d&&h){let s=this.view.events.find((e=>e._eid===t._eid));return!s&&this.isMonthView&&(s=this.view.outOfScopeEvents.find((e=>e._eid===t._eid))),s&&this.onEventClick(s,e)}},onKeyUp(e){27===e.keyCode&&this.cancelDelete()},eventResizing(e){const{resizeAnEvent:t}=this.domEvents,s=this.view.events.find((e=>e._eid===t._eid))||{segments:{}},{minutes:a,cursorCoords:i}=this.minutesAtCursor(e),l=s.segments&&s.segments[t.segment],{date:n,event:o}=this.utils,r=Math.max(a,this.timeFrom+1,(l||s).startTimeMinutes+1);if(s.endTimeMinutes=t.endTimeMinutes=r,this.snapToTime){const e=s.endTimeMinutes+this.snapToTime/2;s.endTimeMinutes=e-e%this.snapToTime}if(l&&(l.endTimeMinutes=s.endTimeMinutes),s.end.setHours(0,s.endTimeMinutes,s.endTimeMinutes===or?-1:0,0),this.resizeX&&this.isWeekView){s.daysCount=n.countDays(s.start,s.end);const e=this.cellsEl,a=e.offsetWidth/e.childElementCount,l=Math.floor(i.x/a);if(null===t.startCell&&(t.startCell=l-(s.daysCount-1)),t.endCell!==l){t.endCell=l;const e=n.addDays(s.start,l-t.startCell),a=Math.max(n.countDays(s.start,e),1);if(a!==s.daysCount){let e=null;e=a>s.daysCount?o.addEventSegment(s):o.removeEventSegment(s),t.segment=e,s.endTimeMinutes+=.001}}}this.$emit("event-resizing",{_eid:s._eid,end:s.end,endTimeMinutes:s.endTimeMinutes})},eventDragCreation(e){const{dragCreateAnEvent:t}=this.domEvents,{start:s,startCursorY:a,split:i}=t,l=new Date(s),{minutes:n,cursorCoords:{y:o}}=this.minutesAtCursor(e);if(t.event||!(Math.abs(a-o)s._eid===(e._eid||t._eid)));e._eid=null,t._eid=null,s&&(s.focused=!1,s.deleting=!1)},cancelDelete(){const{clickHoldAnEvent:e}=this.domEvents;if(e._eid){const t=this.view.events.find((t=>t._eid===e._eid));t&&(t.deleting=!1),e._eid=null,e.timeoutId=null}},onEventTitleBlur(e,t){if(t.title===e.target.innerHTML)return;const s=t.title;t.title=e.target.innerHTML;const a=this.cleanupEvent(t);this.$emit("event-title-change",{event:a,oldTitle:s}),this.$emit("event-change",{event:a,originalEvent:{...a,title:s}})},updateMutableEvents(){const e=this.utils.date;this.mutableEvents=[],this.events.forEach((t=>{const s="string"===typeof t.start?e.stringToDate(t.start):t.start,a=e.formatDateLite(s),i=e.dateToMinutes(s);let l=null;"string"===typeof t.end&&t.end.includes("24:00")?(l=new Date(t.end.replace(" 24:00","")),l.setHours(23,59,59,0)):l="string"===typeof t.end?e.stringToDate(t.end):t.end;let n=e.formatDateLite(l),o=e.dateToMinutes(l);o&&o!==or||(!this.time||"string"===typeof t.end&&10===t.end.length?l.setHours(23,59,59,0):l.setSeconds(l.getSeconds()-1),n=e.formatDateLite(l),o=or);const r=a!==n;t=Object.assign({...this.utils.event.eventDefaults},t,{_eid:`${this._.uid}_${this.eventIdIncrement++}`,segments:r?{}:null,start:s,startTimeMinutes:i,end:l,endTimeMinutes:o,daysCount:r?e.countDays(s,l):1,class:t.class}),this.mutableEvents.push(t)}))},minutesAtCursor(e){return this.utils.cell.minutesAtCursor(e)},createEvent(e,t,s={}){return this.utils.event.createAnEvent(e,t,s)},cleanupEvent(e){e={...e};const t=["segments","deletable","deleting","titleEditable","resizable","resizing","draggable","dragging","draggingStatic","focused"];return t.forEach((t=>{t in e&&delete e[t]})),e.repeat||delete e.repeat,e},emitWithEvent(e,t){this.$emit(e,this.cleanupEvent(t))},updateSelectedDate(e){if(e=e&&"string"===typeof e?this.utils.date.stringToDate(e):new Date(e),e&&e instanceof Date){const{selectedDate:t}=this.view;t&&(this.transitionDirection=t.getTime()>e.getTime()?"left":"right"),e.setHours(0,0,0,0),t&&t.getTime()===e.getTime()||(this.view.selectedDate=e),this.switchView(this.view.id)}this.$emit("update:selected-date",this.view.selectedDate)},getWeekNumber(e){const t=this.utils.date,s=this.firstCellDateWeekNumber,a=s+e,i=this.startWeekOnSunday?1:0;return a>52?t.getWeek(t.addDays(this.view.firstCellDate,7*e+i)):a},timeTick(){this.now=new Date,this.timeTickerIds[1]=setTimeout(this.timeTick,6e4)},updateDateTexts(){this.utils.date.updateTexts(this.texts)},alignWithScrollbar(){},cellOrSplitHasEvents(e,t=null){return e.length&&(!t&&e.length||t&&e.some((e=>e.split===t.id)))}},created(){this.utils.cell=new uo(this),this.utils.event=new ko(this,this.utils.date),this.loadLocale(this.locale),this.editEvents.drag&&this.loadDragAndDrop(),this.updateMutableEvents(this.events),this.view.id=this.currentView,this.selectedDate?this.updateSelectedDate(this.selectedDate):(this.view.selectedDate=new Date,this.switchView(this.currentView)),this.time&&this.watchRealTime&&(this.timeTickerIds[0]=setTimeout(this.timeTick,1e3*(60-this.now.getSeconds())))},mounted(){const e=this.utils.date,t="ontouchstart"in window,{resize:s,drag:a,create:i,delete:l,title:n}=this.editEvents,o=this.onEventClick&&"function"===typeof this.onEventClick;(s||a||i||l||n||o)&&window.addEventListener(t?"touchend":"mouseup",this.onMouseUp),(s||a||i&&this.dragToCreateEvent)&&window.addEventListener(t?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),n&&window.addEventListener("keyup",this.onKeyUp),t&&(this.$refs.vuecal.oncontextmenu=function(e){e.preventDefault(),e.stopPropagation()});const r=this.view.startDate,d={view:this.view.id,startDate:r,endDate:this.view.endDate,...this.isMonthView?{firstCellDate:this.view.firstCellDate,lastCellDate:this.view.lastCellDate}:{},events:this.view.events.map(this.cleanupEvent),...this.isWeekView?{week:e.getWeek(this.startWeekOnSunday?e.addDays(r,1):r)}:{}};this.$refs["vuecal_scroll"].addEventListener("scroll",(()=>{this.$refs["vuecal_splits_heading"].style.top=`${this.$refs["vuecal_scroll"].scrollTop}px`})),this.viewportTimelineOffset=this.$refs["vuecal_scroll"].getBoundingClientRect().top,this.$refs["vuecal_scroll"].scrollTop=this.scrollToHour*this.timeCellHeight,this.$emit("ready",d),this.ready=!0},beforeUnmount(){const e="ontouchstart"in window;window.removeEventListener(e?"touchmove":"mousemove",this.onMouseMove,{passive:!1}),window.removeEventListener(e?"touchend":"mouseup",this.onMouseUp),window.removeEventListener("keyup",this.onKeyUp),this.timeTickerIds[0]&&clearTimeout(this.timeTickerIds[0]),this.timeTickerIds[1]&&clearTimeout(this.timeTickerIds[1]),this.timeTickerIds=[null,null]},computed:{editEvents(){return this.editableEvents&&"object"===typeof this.editableEvents?{title:!!this.editableEvents.title,drag:!!this.editableEvents.drag,resize:!!this.editableEvents.resize,create:!!this.editableEvents.create,delete:!!this.editableEvents.delete}:{title:!!this.editableEvents,drag:!!this.editableEvents,resize:!!this.editableEvents,create:!!this.editableEvents,delete:!!this.editableEvents}},views(){return{years:{label:this.texts.years,enabled:!this.disableViews.includes("years")},year:{label:this.texts.year,enabled:!this.disableViews.includes("year")},month:{label:this.texts.month,enabled:!this.disableViews.includes("month")},week:{label:this.texts.week,enabled:!this.disableViews.includes("week")},day:{label:this.texts.day,enabled:!this.disableViews.includes("day")}}},currentView(){return this.validateView(this.activeView)},enabledViews(){return Object.keys(this.views).filter((e=>this.views[e].enabled))},hasTimeColumn(){return this.time&&this.isWeekOrDayView},isShortMonthView(){return this.isMonthView&&"short"===this.eventsOnMonthView},firstCellDateWeekNumber(){const e=this.utils.date,t=this.view.firstCellDate;return e.getWeek(this.startWeekOnSunday?e.addDays(t,1):t)},timeCells(){const e=[];for(let t=this.timeFrom,s=this.timeTo;t!e.hide))||[]).map(((e,t)=>({...e,id:e.id||t+1})))},hasSplits(){return this.daySplits.length&&this.isWeekOrDayView},hasShortEvents(){return"short"===this.showAllDayEvents},cellOrSplitMinWidth(){let e=null;return this.hasSplits&&this.minSplitWidth?e=this.visibleDaysCount*this.minSplitWidth*this.daySplits.length:this.minCellWidth&&this.isWeekView&&(e=this.visibleDaysCount*this.minCellWidth),e},allDayBar(){let e=this.allDayBarHeight||null;return e&&!isNaN(e)&&(e+="px"),{cells:this.viewCells,options:this.$props,label:this.texts.allDay,shortEvents:this.hasShortEvents,daySplits:this.hasSplits&&this.daySplits||[],cellOrSplitMinWidth:this.cellOrSplitMinWidth,height:e}},minTimestamp(){let e=null;return this.minDate&&"string"===typeof this.minDate?e=this.utils.date.stringToDate(this.minDate):this.minDate&&this.minDate instanceof Date&&(e=this.minDate),e?e.getTime():null},maxTimestamp(){let e=null;return this.maxDate&&"string"===typeof this.maxDate?e=this.utils.date.stringToDate(this.maxDate):this.maxDate&&this.minDate instanceof Date&&(e=this.maxDate),e?e.getTime():null},weekDays(){let{weekDays:e,weekDaysShort:t=[]}=this.texts;return e=e.slice(0).map(((e,s)=>({label:e,...t.length?{short:t[s]}:{},hide:this.hideWeekends&&s>=5||this.hideWeekdays.length&&this.hideWeekdays.includes(s+1)}))),this.startWeekOnSunday&&e.unshift(e.pop()),e},weekDaysInHeader(){return this.isMonthView||this.isWeekView&&!this.minCellWidth&&!(this.hasSplits&&this.minSplitWidth)},months(){return this.texts.months.map((e=>({label:e})))},specialDayHours(){return this.specialHours&&Object.keys(this.specialHours).length?Array(7).fill("").map(((e,t)=>{let s=this.specialHours[t+1]||[];return Array.isArray(s)||(s=[s]),e=[],s.forEach((({from:s,to:a,class:i,label:l},n)=>{e[n]={day:t+1,from:[null,void 0].includes(s)?null:1*s,to:[null,void 0].includes(a)?null:1*a,class:i||"",label:l||""}})),e})):{}},viewTitle(){const e=this.utils.date;let t="";const s=this.view.startDate,a=s.getFullYear(),i=s.getMonth();switch(this.view.id){case"years":t=this.texts.years;break;case"year":t=a;break;case"month":t=`${this.months[i].label} ${a}`;break;case"week":{const a=this.view.endDate,i=s.getFullYear();let l=this.texts.months[s.getMonth()];this.xsmall&&(l=l.substring(0,3));let n=`${l} ${i}`;if(a.getMonth()!==s.getMonth()){const e=a.getFullYear();let t=this.texts.months[a.getMonth()];this.xsmall&&(t=t.substring(0,3)),n=i===e?`${l} - ${t} ${i}`:this.small?`${l.substring(0,3)} ${i} - ${t.substring(0,3)} ${e}`:`${l} ${i} - ${t} ${e}`}t=`${this.texts.week} ${e.getWeek(this.startWeekOnSunday?e.addDays(s,1):s)} (${n})`;break}case"day":t=this.utils.date.formatDate(s,this.texts.dateFormat,this.texts);break}return t},viewCells(){const e=this.utils.date;let t=[],s=null,a=!1;this.watchRealTime||(this.now=new Date);const i=this.now;switch(this.view.id){case"years":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(25)).map(((t,a)=>{const l=new Date(s+a,0,1),n=new Date(s+a+1,0,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:s+a,current:s+a===i.getFullYear()}}));break;case"year":s=this.view.startDate.getFullYear(),t=Array.apply(null,Array(12)).map(((t,a)=>{const l=new Date(s,a,1),n=new Date(s,a+1,1);return n.setSeconds(-1),{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,content:this.xsmall?this.months[a].label.substr(0,3):this.months[a].label,current:a===i.getMonth()&&s===i.getFullYear()}}));break;case"month":{const s=this.view.startDate.getMonth(),i=new Date(this.view.firstCellDate);a=!1,t=Array.apply(null,Array(42)).map(((t,l)=>{const n=e.addDays(i,l),o=new Date(n);o.setHours(23,59,59,0);const r=!a&&e.isToday(n)&&!a++;return{startDate:n,formattedDate:e.formatDateLite(n),endDate:o,content:n.getDate(),today:r,outOfScope:n.getMonth()!==s,class:`vuecal__cell--day${n.getDay()||7}`}})),(this.hideWeekends||this.hideWeekdays.length)&&(t=t.filter((e=>{const t=e.startDate.getDay()||7;return!(this.hideWeekends&&t>=6||this.hideWeekdays.length&&this.hideWeekdays.includes(t))})));break}case"week":{a=!1;let s=this.view.startDate;const i=this.weekDays;t=i.map(((t,i)=>{const l=e.addDays(s,this.startWeekOnSunday?i-1:i),n=new Date(l);n.setHours(23,59,59,0);const o=(l.getDay()||7)-1;return{startDate:l,formattedDate:e.formatDateLite(l),endDate:n,today:!a&&e.isToday(l)&&!a++,specialHours:this.specialDayHours[o]||[]}})).filter(((e,t)=>!i[t].hide));break}case"day":{const s=this.view.startDate,a=new Date(this.view.startDate);a.setHours(23,59,59,0);const i=(s.getDay()||7)-1;t=[{startDate:s,formattedDate:e.formatDateLite(s),endDate:a,today:e.isToday(s),specialHours:this.specialDayHours[i]||[]}];break}}return t},visibleDaysCount(){return this.isDayView?1:7-this.weekDays.reduce(((e,t)=>e+t.hide),0)},cellWidth(){return 100/this.visibleDaysCount},cssClasses(){const{resizeAnEvent:e,dragAnEvent:t,dragCreateAnEvent:s}=this.domEvents;return{[`vuecal--${this.view.id}-view`]:!0,[`vuecal--${this.locale}`]:this.locale,"vuecal--no-time":!this.time,"vuecal--view-with-time":this.hasTimeColumn,"vuecal--week-numbers":this.showWeekNumbers&&this.isMonthView,"vuecal--twelve-hour":this.twelveHour,"vuecal--click-to-navigate":this.clickToNavigate,"vuecal--hide-weekends":this.hideWeekends,"vuecal--split-days":this.hasSplits,"vuecal--sticky-split-labels":this.hasSplits&&this.stickySplitLabels,"vuecal--overflow-x":this.minCellWidth&&this.isWeekView||this.hasSplits&&this.minSplitWidth,"vuecal--small":this.small,"vuecal--xsmall":this.xsmall,"vuecal--resizing-event":e._eid,"vuecal--drag-creating-event":s.event,"vuecal--dragging-event":t._eid,"vuecal--events-on-month-view":this.eventsOnMonthView,"vuecal--short-events":this.isMonthView&&"short"===this.eventsOnMonthView,"vuecal--has-touch":"undefined"!==typeof window&&"ontouchstart"in window}},isYearsOrYearView(){return["years","year"].includes(this.view.id)},isYearsView(){return"years"===this.view.id},isYearView(){return"year"===this.view.id},isMonthView(){return"month"===this.view.id},isWeekOrDayView(){return["week","day"].includes(this.view.id)},isWeekView(){return"week"===this.view.id},isDayView(){return"day"===this.view.id}},watch:{events:{handler(e,t){this.updateMutableEvents(e),this.addEventsToView()},deep:!0},locale(e){this.loadLocale(e)},selectedDate(e){this.updateSelectedDate(e)},activeView(e){this.switchView(e)}}};const mr=(0,$.Z)(cr,[["render",eo]]);var hr=mr,pr={install:e=>{e.component("Vue-cal",hr)}};s(48851),s(1292),s(81633),s(51045),s(46187),s(22299),s(93423),s(54687),s(49147),s(6250);l(),d();const vr={axios:{disabled:!0},i18n:{languages:[{title:"Slovenský",flag:"sk",value:"sk"}],defaultLanguage:"sk"},moxios:{routes:{"GET v1/overview/teams":!0,"GET v1/overview/tasks":!0}}},kr=(0,a.ri)(El).use(Ol).use(Wl).use(Dn).use(_n,vr).use(i.oX).use(o).use(pr).use(Tn).use(c(),{color:"#6200EE"}).mount("#app"),fr=kr.$i18n.t},7648:function(e,t,s){"use strict";var a=s(72807);t["Z"]={parseErrors(e){return Object.values(e).map((e=>(0,a.$t)(e?.$message))).join(". ")}}},83299:function(e,t){"use strict";t["Z"]={methods:{customFilter(e,t){const s=e.normalize("NFD").replace(/[\u0300-\u036f]/g,""),a=t.normalize("NFD").replace(/[\u0300-\u036f]/g,""),i=/[^a-zA-Z0-9 ]/g,l=s.replace(i,""),n=a.replace(i,"");return l.toLowerCase().includes(n.toLowerCase())||""===e}}}},34407:function(e,t,s){"use strict";var a=s(36797),i=s.n(a);t["Z"]={enrichEmployees(e){return e.map((e=>({...e,_fullName:`${e.name} ${e.surname}`,_initials:e.name.charAt(0)+e.surname.charAt(0)})))},formatDateTime(e){return i()(e),i()(e).format("DD.MM.yyyy, HH:mm")},formatDateTimeForBackend(e){return i()(e).format("YYYY-MM-DD HH:mm:ss")},formatDate(e){return i()(e).format("DD.MM.yyyy")},isBefore(e,t=null){return i()(e).isBefore(i()(t))},isAfter(e,t=i()()){return i()(e).isAfter(i()(t))}}},8973:function(e,t,s){var a={"./en.json":20790,"./sk.json":71941};function i(e){var t=l(e);return s(t)}function l(e){if(!s.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}i.keys=function(){return Object.keys(a)},i.resolve=l,e.exports=i,i.id=8973},66667:function(e,t,s){var a={"./ar.json":[68568,8568],"./bg.json":[20684,684],"./bn.json":[61170,1170],"./bs.json":[41161,1161],"./ca.json":[40612,612],"./cs.json":[50213,213],"./da.json":[98542,8542],"./de.json":[4701,4701],"./el.json":[20453,453],"./en.json":[3320,3320],"./es.json":[60076,76],"./et.json":[44075,4075],"./fa.json":[69004,9004],"./fr.json":[60007,7],"./he.json":[23746,3746],"./hr.json":[92921,2921],"./hu.json":[75723,5723],"./id.json":[12502,2502],"./is.json":[13214,3214],"./it.json":[51380,1380],"./ja.json":[72484,2484],"./ka.json":[60285,285],"./ko.json":[79249,9249],"./lt.json":[42838,2838],"./mn.json":[6177,6177],"./nl.json":[99729,9729],"./no.json":[49409,9409],"./pl.json":[25409,5409],"./pt-br.json":[74529,4529],"./ro.json":[29715,9715],"./ru.json":[32113,2113],"./sk.json":[30229,229],"./sl.json":[28636,8636],"./sq.json":[204,204],"./sr.json":[55553,5553],"./sv.json":[75979,5979],"./tr.json":[5268,5268],"./uk.json":[14057,4057],"./vi.json":[88929,8929],"./zh-cn.json":[56730,6730],"./zh-hk.json":[30841,841]};function i(e){if(!s.o(a,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=a[e],i=t[0];return s.e(t[1]).then((function(){return s.t(i,19)}))}i.keys=function(){return Object.keys(a)},i.id=66667,e.exports=i},27484:function(e,t,s){"use strict";e.exports=s.p+"img/bin.8778f5be.svg"},53830:function(e,t,s){"use strict";e.exports=s.p+"img/checkmark.76754510.svg"},34413:function(e,t,s){"use strict";e.exports=s.p+"img/eye.6d5fa7d3.svg"},60666:function(e,t,s){"use strict";e.exports=s.p+"img/pencil.b9009162.svg"},14214:function(e,t,s){"use strict";e.exports=s.p+"img/spinner.34fd3cb2.gif"},20790:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Value is not a valid email address","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')},71941:function(e){"use strict";e.exports=JSON.parse('{"Value is not a valid email address":"Zadali ste neplatný email","error":"chyba","Value is required":"Pole je povinné","This field should be at least 8 characters long":"Pole musí obsahovať aspoň 8 znakov","This field should be at least 6 characters long":"Pole musí obsahovať aspoň 6 znakov","This maximum length allowed is 6":"Pole musí obsahovať 6 znakov","The value must be equal to the other value":"Heslá sa nezhodujú"}')}},t={};function s(a){var i=t[a];if(void 0!==i)return i.exports;var l=t[a]={id:a,loaded:!1,exports:{}};return e[a].call(l.exports,l,l.exports,s),l.loaded=!0,l.exports}s.m=e,function(){var e=[];s.O=function(t,a,i,l){if(!a){var n=1/0;for(u=0;u=l)&&Object.keys(s.O).every((function(e){return s.O[e](a[r])}))?a.splice(r--,1):(o=!1,l0&&e[u-1][2]>l;u--)e[u]=e[u-1];e[u]=[a,i,l]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};s.t=function(a,i){if(1&i&&(a=this(a)),8&i)return a;if("object"===typeof a&&a){if(4&i&&a.__esModule)return a;if(16&i&&"function"===typeof a.then)return a}var l=Object.create(null);s.r(l);var n={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&a;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((function(e){n[e]=function(){return a[e]}}));return n["default"]=function(){return a},s.d(l,n),l}}(),function(){s.d=function(e,t){for(var a in t)s.o(t,a)&&!s.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}}(),function(){s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce((function(t,a){return s.f[a](e,t),t}),[]))}}(),function(){s.u=function(e){return"js/"+e+"."+{7:"7cef58a7",76:"9977e9df",188:"5e35d228",204:"4dd3d03d",213:"c9ed5252",229:"b09f2145",285:"6a0985b5",453:"04d72c77",612:"4ea201aa",630:"73358fb6",684:"017ebeb8",841:"65cae984",1161:"59a7c68b",1170:"16217940",1380:"fc40de11",1466:"92176aab",2113:"2a1bcdfa",2484:"6def3002",2502:"66addef9",2704:"83ca6677",2838:"aa69ee5c",2921:"b5aad8e9",2998:"e20db982",3214:"72d306e7",3311:"bcab8a66",3320:"fe7033d0",3539:"e2aabd54",3657:"e558064c",3728:"3e558208",3746:"09ee0424",4057:"4b3b38fd",4075:"2d83f71e",4252:"d8564809",4529:"6ff3334b",4701:"e34c277a",5268:"5d463fbd",5409:"4ce439c3",5553:"032fcbe7",5723:"09853a5d",5921:"070bb4f8",5979:"385e1b41",6177:"12db94aa",6730:"61289e01",6901:"23ee64a2",7023:"4a3b210c",7073:"dc374d33",7343:"1e290ed5",8024:"bb377405",8227:"58c16c3b",8290:"38b1c1ab",8520:"cb7009ea",8542:"09badcc3",8568:"7f0dfd32",8581:"f314d0aa",8636:"2a90cf11",8731:"8acb20fc",8929:"ea6da50f",8990:"6dd37151",9004:"ffe04245",9215:"b69f417d",9249:"d2b0f88c",9409:"339f5afb",9715:"21ca1afa",9729:"812aea5b",9983:"657ab52d"}[e]+".js"}}(),function(){s.miniCssF=function(e){return"css/"+e+"."+{188:"37c2c58b",630:"fc40f503",3539:"2ae1c81e",4252:"331045b7",6901:"175f36fe",7023:"c0c8bee7",7073:"3978ef96",8227:"440e256e",8581:"0e24f0cc",9215:"03c22964",9983:"8667b7b1"}[e]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="jandl:";s.l=function(a,i,l,n){if(e[a])e[a].push(i);else{var o,r;if(void 0!==l)for(var d=document.getElementsByTagName("script"),u=0;u\n\t\n\t\t\n\t\t\t \n\t\t \n\t \n\n\t \n\t \n\n\t \n\t \n\t \n\t \n\t \n\t \n\t \n\t \n\t \n\n\t \n\t \n\t \n\n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\tSte si istý, že chcete zmazať tím {{ team.name }} ?\n\t\t\t\t \n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","export default {\n\tmounted() {\n\t\twindow.addEventListener('keydown', this.handleKeyDown)\n\t},\n\n\tmethods: {\n\t\thandleKeyDown(event) {\n\t\t\t// if (event.keyCode === 27) this.closeModal()\n\t\t\tif (event.keyCode === 27) this.visible = false\n\t\t}\n\t},\n}","import { render } from \"./z-delete-team-modal.vue?vue&type=template&id=6024ee52\"\nimport script from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ team.id ? 'Upraviť tím' : 'Vytvoriť tím' }} \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ team.id ? 'UPRAVIŤ' : 'VYTVORIŤ' }} \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-team-modal.vue?vue&type=template&id=6013305a\"\nimport script from \"./z-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete zmazať sub task z mastertasku {{ subtask.project_code }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-delete-task-modal.vue?vue&type=template&id=689c6e7b\"\nimport script from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Vyberte časový úsek, ktorý chcete odstrániť \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t
{{ tmUtils.formatDateTime(timeblock.start) }} - {{ tmUtils.formatDateTime(timeblock.end) }}
\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t \n \n\n\n\n","import { render } from \"./z-delete-timeblock-modal.vue?vue&type=template&id=d2c490ee&scoped=true\"\nimport script from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-delete-timeblock-modal.vue?vue&type=style&index=0&id=d2c490ee&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d2c490ee\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ subtask?.id ? 'Upraviť sub task' : 'Vytvoriť sub task' }} \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
updateTimeblock(val, index)\" @removeTimeblock=\"removeTimeblock(index)\" @onDateFocus=\"onDateFocus\" :timeblock=\"timeblock\" :deletable=\"index > 0\" editable :ref=\"`timetable-${index}`\" />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPridať časový blok \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ subtask.id ? 'UPRAVIŤ' : 'VYTVORIŤ' }} \n\t\t\t\t{{ $t('Ukladám...') }} \n\t\t\t \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
{{ subtask._master_task.project_code }}
\n\t\t\t\t\t\t
{{ subtask._master_task.name }} \n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
{{ subtask.title }} \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tDokončiť \n\t\t\t\t\t\t\tZnovu otvoriť \n\t\t\t\t\t\t\tUložiť zmeny \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n\n\n\n","\n \n\t\t
\n\n\t\t
\n\t\t\t NAHRAŤ\n\t\t \n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ file.name }}\n\t\t\t\t\t \n\t\t\t\t\t{{ (file.size / (1024 * 1024)).toFixed(2) }} MB
\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n
\n \n\n\n\n","import { render } from \"./z-files-upload.vue?vue&type=template&id=79444997&scoped=true\"\nimport script from \"./z-files-upload.vue?vue&type=script&lang=js\"\nexport * from \"./z-files-upload.vue?vue&type=script&lang=js\"\n\nimport \"./z-files-upload.vue?vue&type=style&index=0&id=79444997&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-79444997\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Trvanie
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Pridať záznam
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
{{ tmUtils.formatDateTime(timeblock.start) }} - {{ tmUtils.formatDateTime(timeblock.end) }}
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Pridať dátum \n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\n\t\t\tPotvrdiť \n\t\t \n\t \n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete pridať timeblock po deadline z mastertasku {{ subtask?.project_code }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n\n\n\n","import { render } from \"./a-task-timeblocks.vue?vue&type=template&id=196259eb\"\nimport script from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-timeblocks.vue?vue&type=style&index=0&id=196259eb&lang=sass\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default {\n\t// Mixin to fix autofocus on v-input in modals where date selects are used\n\tdata() {\n\t\treturn {\n\t\t\tpreventInputFocus: false\n\t\t}\n\t},\n\n\tmethods: {\n\t\tsetFocusEvent() {\n\t\t\tdocument.querySelectorAll('.v-autocomplete input').forEach(input => {\n\t\t\t\tinput.addEventListener('focus', this.onInputFocus)\n\t\t\t})\n\t\t},\n\n\t\tonDateFocus($event) {\n\t\t\tif ($event == undefined) {\n\t\t\t\tthis.preventInputFocus = true\n\t\t\t}\n\t\t},\n\n\t\tonInputFocus($event) {\n\t\t\tif (this.preventInputFocus) {\n\t\t\t\t$event.target.blur()\n\t\t\t\tthis.preventInputFocus = false\n\t\t\t}\n\t\t}\n\t}\n}","export default {\n\tcomputed: {\n\t\temployeesOptions() {\n\t\t\tconst selectedEmployees = [...this.mastertask.employees].map(employee => employee.id)\n\n\t\t\treturn this.enrichedEmployees.filter(\n\t\t\t\t(employee) => !selectedEmployees.includes(employee.id)\n\t\t\t) || []\n\t\t},\n\n\t\tprojectsOptions() {\n\t\t\t// Added to \"paginate\" projects, because v-autocomplete was unable to handle so many projects at once\n\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g\n\n\t\t\tconst normalizedInput = this.projectCodeSearch\n\t\t\t\t? this.projectCodeSearch.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\t: ''\n\n\t\t\tconst projects = this.projects.filter(project => {\n\t\t\t\tconst normalizedProjectCode = project.code.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\treturn normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase())\n\t\t\t})\n\n\t\t\tlet filteredProjects \t= projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10)\n\n\t\t\tif (!this.mastertask?.project_id)\n\t\t\t\treturn filteredProjects\n\n\t\t\tconst selectedProject \t= this.projects.find(project => project.id == this.mastertask?.project_id)\n\t\t\tfilteredProjects \t\t= filteredProjects.filter(project => project.id != selectedProject.id)\n\n\t\t\treturn [...filteredProjects, selectedProject]\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// onProjectSelected(id) {\n\t\t// \tconst project = this.projects.find(project => project.id == id)\n\t\t// \tthis.mastertask.project_code = project.code\n\t\t// \tthis.mastertask.project_id \t = project.id\n\t\t// },\n\n\t\tonEmployeeSelected(id) {\n\t\t\tconst employee = this.enrichedEmployees.find(employee => employee.id == id)\n\t\t\tconsole.log('add employee', employee)\n\t\t\tthis.mastertask.employees.push(employee)\n\t\t\tthis.showAddEmployeeInput = false\n\t\t},\n\n\t\tonEmployeeDurationChanged() {\n\t\t\tlet totalDuration = 0\n\n\t\t\tthis.mastertask.employees = this.mastertask.employees.map(employee => {\n\t\t\t\tif (typeof employee.duration == 'string') {\n\t\t\t\t\ttotalDuration += parseFloat(employee.duration)\n\t\t\t\t\temployee.duration = parseFloat(employee.duration)\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\t\t\t\telse if (typeof employee.duration == 'number') {\n\t\t\t\t\ttotalDuration += employee.duration\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\n\t\t\t\treturn employee\n\t\t\t})\n\n\t\t\tthis.mastertask.duration = totalDuration\n\t\t}\n\t},\n\n\twatch: {\n\t\t'mastertask.team_id'(value) {\n\t\t\tif (!value) return\n\t\t\t\n\t\t\tconst team = this.teams.find(team => team.id == value)\n\t\t\tif (!team) return\n\n\t\t\tthis.mastertask.team \t\t= JSON.parse(JSON.stringify(team))\n\t\t\tthis.mastertask.employees = [...this.mastertask.team.employees]\n\t\t},\n\t}\n}","\n\t \n \n\t \n\t \n \n \n \n \n \n \n \n \n\n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Mastertask
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ name }}\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-mastertask-name.vue?vue&type=template&id=154bd9ae\"\nimport script from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Status
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\tUkončený
\n\t\t\t\tNeukončený
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-mastertask-status.vue?vue&type=template&id=40b1e729\"\nimport script from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Vytvoril
\n\t\t\t\t
\n\t\t\t \n\t\t \n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ employee ? employee._initials : '?' }}\n\t\t\t\t
\n\t\t\t\t{{ employee ? employee._fullName : $t('Unasigned') }}
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-created-by.vue?vue&type=template&id=76476816\"\nimport script from \"./z-created-by.vue?vue&type=script&lang=js\"\nexport * from \"./z-created-by.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Priradený
\n\t\t\t\t
\n\t\t\t \n\t\t \n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ employee.name.charAt(0) + employee.surname.charAt(0) }}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./a-task-assigned-employee.vue?vue&type=template&id=e04c27ce\"\nimport script from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Naplánovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-task-planned-time.vue?vue&type=template&id=5c6a17d5\"\nimport script from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Odpracovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Pridať záznam
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{{ timesheet.time }}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
{{ timesheet.employee_name }} ({{ timesheet.timestamp }})
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Pridať odpracovaný čas \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t\tPotvrdiť \n\t\t \n\t \n \n\n\n\n","import { render } from \"./a-task-spent-time.vue?vue&type=template&id=c9f868dc&scoped=true\"\nimport script from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-spent-time.vue?vue&type=style&index=0&id=c9f868dc&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c9f868dc\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Zostávajúci čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ (hours).toFixed(2) }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-task-remaining-time.vue?vue&type=template&id=76900acb\"\nimport script from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Deadline
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ tmUtils.formatDate(subtask.deadline) }} {{ deadlineTime }}
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ getMasterTaskDeadline(subtask) }}* \n\t\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./a-task-deadline.vue?vue&type=template&id=1d87e2c9\"\nimport script from \"./a-task-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t
Popis zadania
\n\t\t
\n\t
\n\n\t\n\t\t
Popis mastertasku
\n\t\t
\n\t
\n \n\n\n","import { render } from \"./a-task-description.vue?vue&type=template&id=cad95ece\"\nimport script from \"./a-task-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\tPrílohy
\n\t\n\t\t
\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{{ file.name }}
\n\t\t\t\t\t \n\t\t\t\t\t{{ (file.file_size / (1024 * 1024)).toFixed(2) }} MB
\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
Súbor sa sťahuje, počkajte prosím
\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t
\n \n\n\n\n","import { render } from \"./z-files.vue?vue&type=template&id=634e184f&scoped=true\"\nimport script from \"./z-files.vue?vue&type=script&lang=js\"\nexport * from \"./z-files.vue?vue&type=script&lang=js\"\n\nimport \"./z-files.vue?vue&type=style&index=0&id=634e184f&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-634e184f\"]])\n\nexport default __exports__","import { render } from \"./z-task-readonly-info.vue?vue&type=template&id=fdfa3c04\"\nimport script from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n
\n x \n
\n
\n
\n \n \n
\n
\n \n\n\n\ne","import { render } from \"./a-timeblock.vue?vue&type=template&id=75050b9e&scoped=true\"\nimport script from \"./a-timeblock.vue?vue&type=script&lang=js\"\nexport * from \"./a-timeblock.vue?vue&type=script&lang=js\"\n\nimport \"./a-timeblock.vue?vue&type=style&index=0&id=75050b9e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-75050b9e\"]])\n\nexport default __exports__","import { render } from \"./z-task-modal.vue?vue&type=template&id=3ec6ac9f&scoped=true\"\nimport script from \"./z-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-task-modal.vue?vue&type=style&index=0&id=3ec6ac9f&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3ec6ac9f\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete zmazať {{ blocker.name }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-delete-blocker-modal.vue?vue&type=template&id=15db6be6\"\nimport script from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete {{ subtask.is_finished ? 'znovu otvoriť' : 'dokončiť' }} sub task, z mastertasku {{ subtask?.master_task?.name || subtask.master_task }} ? \n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-complete-task-modal.vue?vue&type=template&id=15b52ca7\"\nimport script from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete {{ mastertask.is_finished ? 'znovu otvoriť' : 'dokončiť' }} {{ mastertask?.name }} ? \n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-complete-master-task-modal.vue?vue&type=template&id=0ff6d5b6\"\nimport script from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Pridať odpracovaný čas \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t\tPotvrdiť \n\t\t \n\t \n \n\n","import { render } from \"./z-task-add-time-modal.vue?vue&type=template&id=30faf5cc\"\nimport script from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ blocker.id ? \"Upraviť\" : \"Vytvoriť\" }} blocker \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ blocker.id ? \"UPRAVIŤ\" : \"VYTVORIŤ\" }} \n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-blocker-modal.vue?vue&type=template&id=e832c3e2\"\nimport script from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete zmazať {{ mastertask.name }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-delete-master-task-modal.vue?vue&type=template&id=04ae8d25\"\nimport script from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ mastertask?.id ? 'Upraviť master task' : 'Vytvoriť master task' }} \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ employee?.name.charAt(0) + employee?.surname.charAt(0) }}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ employee?.name.charAt(0) + employee?.surname.charAt(0) }}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\n\t\t\t\t\t Pridať zamestnanca \n\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ mastertask.id ? 'ULOŽIŤ' : 'VYTVORIŤ' }} \n\t\t\t\t{{ $t('Ukladám...')}} \n\t\t\t \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ mastertask.project_code }}
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
{{ mastertask.name }} \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{{ mastertask.is_finished ? 'Otvoriť mastertask' : 'Ukončiť mastertask' }} \n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t Pridať sub task \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n\n\n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t{{ subtask.title }} \n\t\t\t\t{{ subtask?.master_task }} \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ subtask._employeeInitials }}\n\t\t\t\t\t
\n\t\t\t\t\t{{ subtask._employeeFullName }}
\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\tUkončený
\n\t\t\t\t\tNeukončený
\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n\n\n","import { render } from \"./a-tasks-table.vue?vue&type=template&id=6a5e57ec&scoped=true\"\nimport script from \"./a-tasks-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-table.vue?vue&type=style&index=0&id=6a5e57ec&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6a5e57ec\"]])\n\nexport default __exports__","\n\t \n\t \n\t \n\t \n\t \n \n\t mastertask.duration\" />\n\t \n\t \n \n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Deadline
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ tmUtils.formatDateTime(deadline) }}
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-deadline.vue?vue&type=template&id=13a73f8f\"\nimport script from \"./z-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./z-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t
Popis zadania
\n\t\t
\n\t
\n\n\t\n\t\t
Popis mastertasku
\n\t\t
\n\t
\n \n\n\n","import { render } from \"./z-description.vue?vue&type=template&id=531a9e6f\"\nimport script from \"./z-description.vue?vue&type=script&lang=js\"\nexport * from \"./z-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Naplánovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-planned-time.vue?vue&type=template&id=0c44c1d0\"\nimport script from \"./z-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Zostávajúci čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-remaining-time.vue?vue&type=template&id=759929d5\"\nimport script from \"./z-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Odpracovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-spent-time.vue?vue&type=template&id=cc4966e2\"\nimport script from \"./z-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-spent-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Status
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\tUkončený
\n\t\t\t\tNeukončený
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-status.vue?vue&type=template&id=5a460912\"\nimport script from \"./z-status.vue?vue&type=script&lang=js\"\nexport * from \"./z-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Tím
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ team.name }}
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{{ employee._initials }}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
{{ employee._fullName }}
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\n\t\t\t\tNepriradený
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ employee._initials }}\n\t\t\t\t\t
\n\t\t\t\t\t
{{ employee._fullName }}
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-team.vue?vue&type=template&id=3dfe3a63\"\nimport script from \"./z-team.vue?vue&type=script&lang=js\"\nexport * from \"./z-team.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./a-mastertask-description.vue?vue&type=template&id=65a97638\"\nimport script from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./z-master-task-modal.vue?vue&type=template&id=6d155146&scoped=true\"\nimport script from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-master-task-modal.vue?vue&type=style&index=0&id=6d155146&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6d155146\"]])\n\nexport default __exports__","\r\n\t\r\n\t\t\r\n \r\n Chcete túto osobu odstrániť z tímu?\r\n \r\n\t\t{{ member.name + ' ' + member.surname }} bude odstránený/á z teamu. \r\n \r\n \r\n Zrušiť\r\n \r\n \r\n \r\n Áno\r\n \r\n \r\n \r\n\t \r\n \r\n\r\n","import { render } from \"./z-delete-team-member-modal.vue?vue&type=template&id=2975a162\"\nimport script from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Vytvoriť \n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\tSUB TASK \n\t\t\t\tBLOCKER \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-show-menu-modal.vue?vue&type=template&id=411639a2\"\nimport script from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=367d6c96\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from \"vuex\";\n\nexport default createStore({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {},\n});","import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'\nimport store from '@/store'\n\nconst routes: Array = [\n\t{\n\t\tpath: '',\n\t\tredirect: '/auth'\n\t},\n\t{\n\t\tpath: '/auth/',\n\t\tcomponent: () => import('@/plugins/app/_layout/auth/auth.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/auth/login'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/login',\n\t\t\t\tname: 'Login',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/login/login.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-password',\n\t\t\t\tname: 'Forgot password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-success',\n\t\t\t\tname: 'Forgot success',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-success/forgot-success.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/reset-password',\n\t\t\t\tname: 'Reset password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'),\n\t\t\t\tmeta: {requiresAuth: null}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/app',\n\t\tcomponent: () => import('@/plugins/app/_layout/app/app.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/app/dashboard'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/app/dashboard',\n\t\t\t\tredirect: '/app/dashboard/tasks',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/tasks',\n\t\t\t\t\t\tname: 'Dashboard - Tasks',\n\t\t\t\t\t\tmeta: { title: 'Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/teams',\n\t\t\t\t\t\tname: 'Dashboard - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams Overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/projects',\n\t\t\t\t\t\tname: 'Dashboard - Projects',\n\t\t\t\t\t\tmeta: { title: 'Projects overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/projects/projects.vue')\n\t\t\t\t\t},\n\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/unscheduled',\n\t\t\t\t\t\tname: 'Overview - Unscheduled tasks',\n\t\t\t\t\t\tmeta: { title: 'Unscheduled Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/ongoing',\n\t\t\t\t\t\tname: 'Overview - Ongoing tasks',\n\t\t\t\t\t\tmeta: { title: 'Ongoing Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/teams',\n\t\t\t\t\t\tname: 'Overview - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/user',\n\t\t\t\t\t\tname: 'Dashboard - User',\n\t\t\t\t\t\tmeta: { title: 'Profile', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@profile/profile/my-profile.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/search',\n\t\t\t\t\t\tname: 'Search',\n\t\t\t\t\t\tmeta: { title: 'Search Results', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/lib@search/search/search.vue')\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/:catchAll(.*)',\n\t\tname: '404',\n\t\tcomponent: () => import('@/plugins/w@screen/404/404.vue'),\n\t\tmeta: {requiresAuth: null}\n\t}\n]\n\nconst router = createRouter({\n\thistory: createWebHashHistory(process.env.BASE_URL),\n\troutes\n})\n\nrouter.beforeEach((to, from, next) => {\n\tconst isLoggedIn = store.getters['auth/isLoggedIn']\n\n\tif (to.meta.requiresAuth === true) {\n\t\tif (isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Login'})\n\t} else if (to.meta.requiresAuth === false) {\n\t\tif (!isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Dashboard - Tasks'})\n\t} else {\n\t\treturn next()\n\t}\n})\n\nexport default router\n","import axios from 'axios'\nimport store from '@/store'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","export const encodeGetParams = p =>\n\tObject.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&')\n\nexport function strToRegex(s) {\n\tlet re = s\n\tre = re.replace(/\\//g, '\\\\/')\n\tre = re.replace(/\\./g, '\\\\.')\n\tre = re.replace(/\\([^)]+\\)/g, '[^/]+')\n\treturn re\n}\n","import axios from 'axios'\nimport { encodeGetParams, strToRegex } from '../utils/moxios.util'\n\nexport class Moxios {\n\t_mocks = {}\n\n\tconstructor() {\n\t\taxios.interceptors.request.use(this._redirectRequestToMock.bind(this))\n\t\tthis._mocks = {}\n\t}\n\n\tmock(append) {\n\t\tfor (const k in append) {\n\t\t\tlet m = append[k]\n\n\t\t\tif (m === false) continue\n\n\t\t\tm = {}\n\n\t\t\tm.name = k\n\t\t\tm.url = k.split(' ')[1]\n\n\t\t\tif (!m.reUrl)\n\t\t\t\tm.reUrl = strToRegex( m.url )\n\n\t\t\tif (!m.matchMethod)\n\t\t\t\tm.matchMethod = k.split(' ')[0].toLowerCase()\n\n\t\t\tthis._mocks[k] = m\n\t\t}\n\t}\n\n\n\t_redirectRequestToMock(config) {\n\t\t// if (localStorage['isMoxios'] == 'false') {\n\t\t// \treturn config\n\t\t// }\n\n\t\tconst url = config.url.replace(/https?:\\/\\/[^/?]+/, '')\n\n\t\tlet mocked\n\n\t\tfor (const k in this._mocks) {\n\t\t\tconst m = this._mocks[k]\n\n\t\t\tif (config.method == m.matchMethod && url.match(m.reUrl)) {\n\t\t\t\tmocked = m\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (mocked) {\n\t\t\tif (!mocked.fname)\n\t\t\t\tprocess.env.VUE_APP_PLATFORM\n\t\t\t\t\t? mocked.fname = `/mock/${process.env.VUE_APP_PLATFORM}/${mocked.url}.${config.method.toUpperCase()}.json`\n\t\t\t\t\t: mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`\n\n\n\t\t\tconsole.log(mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`)\n\n\t\t\tconst c = {\n\t\t\t\tmethod: 'get',\n\t\t\t\turl: window.location.origin + mocked.fname+'?___MOCK___&'+encodeGetParams(config.data||{}),\n\t\t\t}\n\n\t\t\tconfig = {...config, ...c}\n\t\t}\n\n\t\treturn config\n\t}\n\n}\n\n","import { App } \t\tfrom 'vue'\nimport { Moxios } \tfrom './models/moxios'\nimport { Options } \tfrom './types/index.js'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tconst moxios = new Moxios()\n\n\t\tif (!options || !options.routes || !Object.values(options.routes).length || options.disabled === true) return\n\n\t\tmoxios.mock(options.routes)\n\t}\n}","import { Options } \tfrom './types'\nimport mitt \t\tfrom 'mitt'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tconst events = mitt()\n\t\tapp.config.globalProperties.$events = events\n\t}\n}","import { Language, Options } from \"../types\"\nimport { Ref, ref } from 'vue'\nimport axios from 'axios'\nimport { createI18n, I18n as I18nType } from 'vue-i18n'\nimport { Preferences } from '@capacitor/preferences'\n\n\nexport class I18n {\n\tpublic currentLanguage: Ref = ref();\n\tpublic availableLanguages: Language[];\n\tpublic vendorI18n: I18nType\n\tpublic defaultLanguage: Language | null;\n\n\tprivate languageKey: string;\n\n\tconstructor(properties: Options) {\n\t\tthis.availableLanguages = properties.languages || []\n\t\tthis.defaultLanguage = properties.languages.find(language => language.value == properties.defaultLanguage)\n\t\tthis.languageKey = properties.languageKey || process.env.VUE_APP_PLATFORM + '_language' || 'w18n_language'\n\n\t\tthis.vendorI18n = createI18n({\n\t\t\tlegacy: true,\n\t\t\tfallbackLocale: this.defaultLanguage.value,\n\t\t\tmessages: this._loadLocaleMessages(),\n\t\t\tmissing: this._missingTranslation,\n\t\t\tpostTranslation: this._postTranslation,\n\t\t})\n\n\t\tthis.changeLanguage({ title: \"Slovenský\", flag: \"sk\", value: \"sk\" })\n\t\tthis.initCurrentLanguage()\n\t}\n\n\tpublic async initCurrentLanguage() {\n\t\tconst { value } = await Preferences.get({ key: this.languageKey })\n\n\t\tif (value) {\n\t\t\tthis.currentLanguage.value = JSON.parse(value)\n\t\t} else if (this.defaultLanguage) {\n\t\t\tthis.currentLanguage.value = this.defaultLanguage\n\t\t} else if (this.availableLanguages[0]) {\n\t\t\tthis.currentLanguage.value = this.availableLanguages[0]\n\t\t} else {\n\t\t\treturn console.error('[w18n] Could not init current language')\n\t\t}\n\n\t\tconst availableLanguages = {}\n\n\t\tthis.availableLanguages.forEach(language => {\n\t\t\tavailableLanguages[language.value] = language.title\n\t\t})\n\n\t\tthis.changeLanguage(this.currentLanguage.value)\n\t\t// Translations.setup(this.currentLanguage.value.value, availableLanguages)\n\n\t\tthis._addAxiosHeaders()\n\t}\n\n\tpublic changeLanguage(language: Language) {\n\t\tthis.currentLanguage.value = language\n\t\tthis._addAxiosHeaders()\n\n\t\tPreferences.set({\n\t\t\tkey: this.languageKey,\n\t\t\tvalue: JSON.stringify(language)\n\t\t})\n\n\t\tthis.vendorI18n.global.locale = language.value\n\t}\n\n\n\tprivate _addAxiosHeaders() {\n\t\taxios.interceptors.request.use(config => {\n\t\t\tif (this.currentLanguage.value && this.currentLanguage.value.value) {\n\t\t\t\tconfig.headers['Accept-Language'] = this.currentLanguage.value.value\n\t\t\t}\n\n\t\t\treturn config\n\t\t})\n\n\t\taxios.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\treturn response\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tif(error.response) {\n\t\t\t\t\taxios.post('https://logger.wezeo.dev/cms/api/data/new', {\n\t\t\t\t\t\tdata: JSON.stringify(error)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(error?.response || error)\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic _loadLocaleMessages(path = '@/locales') {\n\t\tlet locales\n\t\ttry {\n\t\t\tlocales = require.context(\n\t\t\t\t'@/locales',\n\t\t\t\ttrue,\n\t\t\t\t/[A-Za-z0-9-_,\\s]+\\.json$/i\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tconsole.warn('[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales.')\n\t\t\treturn {}\n\t\t}\n\n\t\tconst messages: { [key: string]: { [key: string]: string } } = {}\n\n\t\tlocales.keys().forEach((key) => {\n\t\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\t\tif (matched && matched.length > 1) {\n\t\t\t\tconst locale = matched[1]\n\n\t\t\t\tmessages[locale] = locales(key)\n\t\t\t}\n\t\t})\n\t\treturn messages\n\t}\n\n\tprivate _missingTranslation = (locale, key, instance?, type?) => {\n\t\treturn key\n\t}\n\n\tprivate _postTranslation = (translated) => {\n\t\treturn translated\n\t}\n}\n","import { Options } \tfrom './types'\nimport { I18n } \tfrom './models/i18n'\nimport events \t\tfrom '@/plugins/w/events'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true)\n\t\t\treturn\n\n\t\tif (!options || !options.languages || !options.defaultLanguage)\n\t\t\treturn console.warn('[@wezeo/i18n] Could not initialize i18n. Missing configuration options.')\n\n\t\tif (!app.config.globalProperties.$events) {\n\t\t\tapp.use(events)\n\t\t}\n\n\t\tconst i18n = new I18n(options)\n\n\t\tapp.use(i18n.vendorI18n)\n\t\tapp.config.globalProperties.$w18n = i18n\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\n\nimport {\n\tIonContent, IonPage, IonLabel, IonBackButton, IonCheckbox, IonText, IonButton, IonItem,\n\tIonToolbar, IonHeader, IonFooter, IonSlides, IonSlide, IonRow, IonCol, IonGrid, IonInput, IonButtons,\n\tIonIcon, IonList, IonTitle, IonMenu, IonRouterOutlet, IonMenuButton, IonSegment, IonSegmentButton, IonVirtualScroll,\n\tIonTextarea, IonSearchbar, IonRefresherContent, IonRefresher, IonInfiniteScrollContent, IonInfiniteScroll, IonAvatar,\n\tIonModal, IonRadioGroup, IonRadio, IonNote, IonCard, IonCardContent, IonTabBar, IonTabButton, IonMenuToggle, IonFab,\n\tIonFabButton, IonReorderGroup, IonReorder, IonFabList, IonSelect, IonSelectOption, IonToggle, IonBadge, IonChip, IonTabs, IonItemGroup, IonThumbnail, IonItemSliding, IonItemOption, IonItemOptions, IonImg, IonSkeletonText, IonSpinner, IonSplitPane\n} from '@ionic/vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('ion-content', IonContent)\n\t\tapp.component('ion-page', IonPage)\n\t\tapp.component('ion-label', IonLabel)\n\t\tapp.component('ion-back-button', IonBackButton)\n\t\tapp.component('ion-checkbox', IonCheckbox)\n\t\tapp.component('ion-text', IonText)\n\t\tapp.component('ion-button', IonButton)\n\t\tapp.component('ion-item', IonItem)\n\t\tapp.component('ion-item-group', IonItemGroup)\n\t\tapp.component('ion-item-sliding', IonItemSliding)\n\t\tapp.component('ion-item-option', IonItemOption)\n\t\tapp.component('ion-item-options', IonItemOptions)\n\t\tapp.component('ion-toolbar', IonToolbar)\n\t\tapp.component('ion-header', IonHeader)\n\t\tapp.component('ion-footer', IonFooter)\n\t\tapp.component('ion-slides', IonSlides)\n\t\tapp.component('ion-slide', IonSlide)\n\t\tapp.component('ion-spinner', IonSpinner)\n\t\tapp.component('ion-row', IonRow)\n\t\tapp.component('ion-col', IonCol)\n\t\tapp.component('ion-grid', IonGrid)\n\t\tapp.component('ion-input', IonInput)\n\t\tapp.component('ion-buttons', IonButtons)\n\t\tapp.component('ion-icon', IonIcon)\n\t\tapp.component('ion-img', IonImg)\n\t\tapp.component('ion-list', IonList)\n\t\tapp.component('ion-skeleton-text', IonSkeletonText)\n\t\tapp.component('ion-title', IonTitle)\n\t\tapp.component('ion-menu', IonMenu),\n\t\tapp.component('ion-split-pane', IonSplitPane)\n\t\tapp.component('ion-menu-button', IonMenuButton)\n\t\tapp.component('ion-router-outlet', IonRouterOutlet)\n\t\tapp.component('ion-segment', IonSegment)\n\t\tapp.component('ion-segment-button', IonSegmentButton)\n\t\tapp.component('ion-virtual-scroll', IonVirtualScroll)\n\t\tapp.component('ion-textarea', IonTextarea)\n\t\tapp.component('ion-searchbar', IonSearchbar)\n\t\tapp.component('ion-refresher-content', IonRefresherContent)\n\t\tapp.component('ion-refresher', IonRefresher)\n\t\tapp.component('ion-infinite-scroll-content', IonInfiniteScrollContent)\n\t\tapp.component('ion-infinite-scroll', IonInfiniteScroll)\n\t\tapp.component('ion-avatar', IonAvatar)\n\t\tapp.component('ion-thumbnail', IonThumbnail)\n\t\tapp.component('ion-modal', IonModal)\n\t\tapp.component('ion-radio-group', IonRadioGroup)\n\t\tapp.component('ion-radio', IonRadio)\n\t\tapp.component('ion-note', IonNote)\n\t\tapp.component('ion-card', IonCard)\n\t\tapp.component('ion-card-content', IonCardContent)\n\t\tapp.component('ion-tab-bar', IonTabBar)\n\t\tapp.component('ion-tab-button', IonTabButton),\n\t\tapp.component('ion-menu-toggle', IonMenuToggle)\n\t\tapp.component('ion-fab', IonFab)\n\t\tapp.component('ion-fab-button', IonFabButton)\n\t\tapp.component('ion-fab-list', IonFabList)\n\t\tapp.component('ion-reorder-group', IonReorderGroup)\n\t\tapp.component('ion-reorder', IonReorder)\n\t\tapp.component('ion-select', IonSelect)\n\t\tapp.component('ion-select-option', IonSelectOption)\n\t\tapp.component('ion-toggle', IonToggle)\n\t\tapp.component('ion-badge', IonBadge)\n\t\tapp.component('ion-chip', IonChip),\n\t\tapp.component('ion-tabs', IonTabs)\n\t}\n}","/* eslint-disable */\nimport axios from 'axios'\nimport store from '@/store'\n\nasync function _unauthorised(error: any) {\n\tif (error?.response?.data?.message == 'Unauthenticated.')\n\t\treturn store.dispatch('auth/logout')\n\t\n\treturn Promise.reject(error)\n}\n\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error) => _unauthorised(error),\n)","import axios from '@/plugins/w/axios/models/axios'\nimport './refreshExpired'\n\nexport default {\n\tnamespaced: true,\n\tstate: {\n\t\ttoken: localStorage.getItem('wzo_vue_user_token') || '',\n\t\tuser: JSON.parse(localStorage.getItem('wzo_vue_user_user') || '{}'),\n\t},\n\tmutations: {\n\t\tauth_success(state: any, data: any) {\n\t\t\tif (data.token) {\n\t\t\t\tstate.token = data.token\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_token', data.token)\n\t\t\t}\n\n\t\t\tif (data.user) {\n\t\t\t\tstate.user = data.user\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_user', JSON.stringify(data.user))\n\t\t\t}\n\t\t},\n\t\tauth_error(state: any) {\n\t\t\tstate.token = ''\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t},\n\t\tlogout(state: any) {\n\t\t\tstate.token = ''\n\t\t\tstate.user = null\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t\twindow.open(location.origin, \"_self\")\n\t\t}\n\t},\n\tactions: {\n\t\tlogin({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/tokens/create', {data: credentials})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsignup({commit }: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tcommit('auth_request')\n\n\t\t\t\taxios.post_data('v1/auth/signup', credentials)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tlogout({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\taxios.post_auth_data('v1/auth/invalidate')\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tforgotPassword({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/users/forgot', {data: credentials})\n\t\t\t\t\t.then(response => resolve(response))\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tresetPassword({commit}: {commit: any}, credentials: any) {\n\t\t\tcommit('auth_success', {token: credentials.token})\n\t\t\t\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post_auth_data('v1/users/reset', {data: credentials})\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\tasync refreshToken({commit}: {commit: any}) {\n\t\t\ttry {\n\t\t\t\tconst response: any = await axios.post_auth_data('v1/auth/refresh')\n\n\t\t\t\tconst token = response.token\n\t\t\t\tconst user = response.user\n\n\t\t\t\tcommit('auth_success', {\n\t\t\t\t\ttoken: token,\n\t\t\t\t\tuser: user\n\t\t\t\t})\n\n\t\t\t\treturn token\n\t\t\t} catch (error) {\n\t\t\t\tcommit('auth_error')\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t\tasync userInfo({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/auth/info')\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tupdateUserInfo({commit}: {commit: any}, data: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.put_auth(`v1/users/${data.id}`, {data: data})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t},\n\tgetters: {\n\t\tisLoggedIn: (state: any) => {\n\t\t\treturn !!state.token\n\t\t},\n\t\tuser: (state: any) => {\n\t\t\treturn state.user\n\t\t},\n\t\ttoken: (state: any) => {\n\t\t\treturn (state.token && state.token != undefined) ? state.token : null\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport auth \t\tfrom './auth.store'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled == true) return\n\n\t\tif (!app.config.globalProperties.$store)\n\t\t\treturn console.warn('[w/auth] Could not initialize. App does not have vuex store added.')\n\n\t\tapp.config.globalProperties.$store.registerModule('auth', auth)\n\t}\n}","import { Options } \tfrom './types'\n// import { Toast } from './models/Toast'\nimport 'vue-toast-notification/dist/theme-sugar.css'\nimport VueToast from 'vue-toast-notification'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.use(VueToast)\n\n\t\t// app.config.globalProperties.$wToast = new Toast()\n\t\tapp.config.globalProperties.$parseError = (error) => error?.data?.message || error?.response?.data?.message || error?.message || error\n\t}\n}","\n\t\n\t\t
\n\t\t
{{ content.error }}
\n\t\t
{{ emptyMessage }}
\n\t\t
\n\t
\n \n\n\n\n","import { render } from \"./w-loadable.vue?vue&type=template&id=a2444234&scoped=true\"\nimport script from \"./w-loadable.vue?vue&type=script&lang=js\"\nexport * from \"./w-loadable.vue?vue&type=script&lang=js\"\n\nimport \"./w-loadable.vue?vue&type=style&index=0&id=a2444234&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2444234\"]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport WLoadable\tfrom './_components/w-loadable.vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('W-loadable', WLoadable)\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\nimport axios\t \tfrom '@/plugins/w/axios'\nimport moxios\t \tfrom '@/plugins/w/moxios'\nimport events\t \tfrom '@/plugins/w/events'\nimport i18n\t \t\tfrom '@/plugins/w/i18n'\nimport ionic\t \tfrom '@/plugins/w/ionic'\nimport auth\t\t\tfrom '@/plugins/w/auth'\nimport toast\t\tfrom '@/plugins/w/toast'\nimport loadable\t\tfrom '@/plugins/w/loadable'\n\nexport default {\n\tinstall: (app: App, options: Options = {}) => {\n\t\tevents.install(app, options.events)\n\t\taxios.install(app, options.axios)\n\t\ti18n.install(app, options.i18n)\n\t\tmoxios.install(app, options.moxios)\n\t\tionic.install(app, options.ionic)\n\t\tauth.install(app, options.auth)\n\t\ttoast.install(app, options.toast)\n\t\tloadable.install(app, options.loadable)\n\t}\n}","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseAndTranslate(data) {\n\t\tconst errorsArray = this._parseToArrayOfStrings(data)\n\t\treturn errorsArray.join(', ')\n\t},\n\n\t_parseToArrayOfStrings(data) {\n\t\tif (data?.data?.message) {\n\t\t\treturn [$t(data.data.message)]\n\t\t}\n\n\t\tif (typeof data == 'string') {\n\t\t\treturn [$t(data)]\n\t\t}\n\n\t\tif (data?.response?.data)\n\t\t\treturn Object.values(data?.response?.data)\n\n\t\tif (data && data.error && typeof data.error == 'string') {\n\t\t\treturn [$t(data.error)]\n\t\t}\n\n\t\tif (data && data.error && typeof data.error == 'object') {\n\t\t\treturn Object.values($t(data.error))\n\t\t}\n\n\t\tif (data.data && data.data.error && typeof data.data.error == 'string') {\n\t\t\treturn [$t(data.data.error)]\n\t\t}\n\n\t\tif (data && data.data && data.data.error && typeof data.data.error == 'object') {\n\t\t\treturn Object.values(data.data.error).map(error => $t(error[0]) + ' ')\n\t\t}\n\n\t\tif (data.statusText) {\n\t\t\treturn [$t(data.statusText)]\n\t\t}\n\n\t\treturn [data]\n\t}\n}","import axios from 'axios'\nimport store from '@/store'\nimport toastUtils from '@/plugins/w/toast/utils/toast.utils'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth_form(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\t\tconfig.headers['Content-Type'] = 'multipart/form-data'\n\t\tconst formData = this._objectToFormData(params)\n\t\tformData.append('_method', 'put')\n\t\tconfig.transformRequest = formData => formData\n\n\t\treturn axios.post(url, formData, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t},\n\n\t_buildFormData(formData, data, parentKey) {\n\t\tif (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File))\n\t\t\tObject.keys(data).forEach(key => this._buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key));\n\t\telse\n\t\t\tformData.append(parentKey, data == null ? '' : data);\n\t},\n\n\t_objectToFormData(data) {\n\t\tconst formData = new FormData()\n\t\tthis._buildFormData(formData, {data: data})\n\n\t\treturn formData\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","import axios from '@/plugins/w@custom/axios/models/axios'\nimport store from '@/store'\n\nexport default {\n\tnamespaced: true,\n\n\tstate: {\n\t\tmastertasks: null,\n\t\temployees: null,\n\t\tteams: null,\n\t\tprojects: null,\n\t\tunscheduledSubtasks: null,\n\t\tongoingSubtasks: null,\n\t\tinitialized: false\n\t},\n\n\tmutations: {\n\t\tset_mastertasks(state: any, mastertasks: any) {\n\t\t\tstate.mastertasks = mastertasks\n\t\t},\n\n\t\tset_employees(state: any, employees: any) {\n\t\t\tstate.employees = employees\n\n\t\t\t// TODO: Remove\n\t\t\t// const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk')\n\t\t\t// store.commit('auth/auth_success', {\n\t\t\t// \tuser: employee\n\t\t\t// })\n\t\t},\n\n\t\tset_teams(state: any, teams: any) {\n\t\t\tstate.teams = teams\n\t\t},\n\n\t\tset_projects(state: any, projects: any) {\n\t\t\tstate.projects = projects\n\t\t},\n\n\t\tset_unscheduled_subtasks(state: any, subtasks: any) {\n\t\t\tstate.unscheduledSubtasks = subtasks\n\t\t},\n\n\t\tset_ongoing_subtasks(state: any, subtasks: any) {\n\t\t\tstate.ongoingSubtasks = subtasks\n\t\t},\n\n\t\tupdate_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.map(t => {\n\t\t\t\tif (t.id == team.id)\n\t\t\t\t\treturn team\n\n\t\t\t\treturn t\n\t\t\t})\n\t\t},\n\n\t\tsave_team(state: any, team: any) {\n\t\t\tstate.teams.push(team)\n\t\t},\n\n\t\tdelete_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.filter(t => t.id != team.id)\n\t\t},\n\n\t\tupdate_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.map(st \t\t=> st.id == subtask.id ? subtask : st)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.map(st \t\t\t=> st.id == subtask.id ? subtask : st)\n\t\t\t\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks \t= mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tdelete_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.filter(st \t=> st.id != subtask.id)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.filter(st \t\t=> st.id != subtask.id)\n\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tinitialized(state: any) {\n\t\t\tstate.initialized = true\n\t\t}\n\t},\n\n\tactions: {\n\t\tinitialize({dispatch, commit}: {dispatch: any, commit: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadEmployees'),\n\t\t\t\tdispatch('loadTeams'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t]).then(() => commit('initialized'))\n\t\t},\n\n\t\treloadSubtasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t])\n\t\t},\n\n\t\treloadMastertasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks')\n\t\t\t])\n\t\t},\n\n\t\tloadMastertasks({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t// axios.get_auth('v1/mastertasks')\n\t\t\t\taxios.get_auth('v1/mastertasks/?simple=true')\n\t\t\t\t\t.then(({ mastertasks }) => {\n\t\t\t\t\t\tcommit('set_mastertasks', mastertasks)\n\t\t\t\t\t\tresolve(mastertasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_mastertasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadEmployees({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/employees')\n\t\t\t\t\t.then(employees => {\n\t\t\t\t\t\tcommit('set_employees', employees)\n\t\t\t\t\t\tresolve(employees)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_employees', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadTeams({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/teams')\n\t\t\t\t\t.then(teams => {\n\t\t\t\t\t\tcommit('set_teams', teams)\n\t\t\t\t\t\tresolve(teams)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_teams', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadProjects({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/projects')\n\t\t\t\t\t.then(project => {\n\t\t\t\t\t\tcommit('set_projects', project)\n\t\t\t\t\t\tresolve(project)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_projects', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadUnscheduledSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=unscheduled&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadOngoingSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=ongoing&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t}\n\n\t},\n\n\tgetters: {\n\t\tmastertasks: (state: any) => {\n\t\t\treturn state.mastertasks\n\t\t},\n\n\t\temployees: (state: any) => {\n\t\t\treturn state.employees\n\t\t},\n\n\t\tenrichedEmployees: (state: any) => {\n\t\t\tif (!state.employees) return []\n\t\t\t\n\t\t\treturn state.employees.map(employee => ({\n\t\t\t\t...employee, \n\t\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t\t})).sort((a, b) => a.name < b.name ? -1 : 1)\n\t\t},\n\n\t\tteams: (state: any) => {\n\t\t\treturn state.teams\n\t\t},\n\n\t\tprojects: (state: any) => {\n\t\t\treturn state.projects\n\t\t},\n\n\t\tunscheduledSubtasks: (state: any) => {\n\t\t\treturn state.unscheduledSubtasks\n\t\t},\n\n\t\tongoingSubtasks: (state: any) => {\n\t\t\treturn state.ongoingSubtasks\n\t\t},\n\n\t\tisInitialized: (state: any) => {\n\t\t\treturn state.initialized\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport tmStore \tfrom './store'\n\nexport default {\n\tinstall: (app: App) => {\n\t\tapp.config.globalProperties.$store.registerModule('tm', tmStore)\n\t}\n}","\n\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t \n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{{ texts.allDay }} \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{{ cell.label }} \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{{ getWeekNumber(i - 1) }} \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ events.length }} \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ texts.noEvent }} \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ utils.date.formatTime(event.start, TimeFormat) }} - {{ utils.date.formatTime(event.end, TimeFormat, null, true) }} +{{ event.daysCount - 1 }}{{ (texts.day[0] || '').toLowerCase() }} \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t
\n\t
\n \n\n\n","/**\n * Date Utils & prototypes.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nlet now, todayDate, todayF, self\nlet _dateObject = {}\nlet _timeObject = {}\n\nexport default class DateUtils {\n texts = {}\n\n constructor (texts, noPrototypes = false) {\n self = this // For use in Date prototypes.\n this._texts = texts\n\n // Add prototypes ASAP - only once.\n if (!noPrototypes && Date && !Date.prototype.addDays) this._initDatePrototypes()\n\n // @todo: This would be nicer, but how to set Date.noPrototypes ASAP only if user wants?\n // if (Date.noPrototypes) delete Date.noPrototypes\n // else this._initDatePrototypes()\n }\n\n _initDatePrototypes () {\n /* eslint-disable no-extend-native */\n Date.prototype.addDays = function (days) { return self.addDays(this, days) }\n Date.prototype.subtractDays = function (days) { return self.subtractDays(this, days) }\n Date.prototype.addHours = function (hours) { return self.addHours(this, hours) }\n Date.prototype.subtractHours = function (hours) { return self.subtractHours(this, hours) }\n Date.prototype.addMinutes = function (minutes) { return self.addMinutes(this, minutes) }\n Date.prototype.subtractMinutes = function (minutes) { return self.subtractMinutes(this, minutes) }\n Date.prototype.getWeek = function () { return self.getWeek(this) }\n Date.prototype.isToday = function () { return self.isToday(this) }\n Date.prototype.isLeapYear = function () { return self.isLeapYear(this) }\n Date.prototype.format = function (format = 'YYYY-MM-DD') { return self.formatDate(this, format) }\n Date.prototype.formatTime = function (format = 'HH:mm') { return self.formatTime(this, format) }\n /* eslint-enable no-extend-native */\n }\n\n removePrototypes () {\n delete Date.prototype.addDays\n delete Date.prototype.subtractDays\n delete Date.prototype.addHours\n delete Date.prototype.subtractHours\n delete Date.prototype.addMinutes\n delete Date.prototype.subtractMinutes\n delete Date.prototype.getWeek\n delete Date.prototype.isToday\n delete Date.prototype.isLeapYear\n delete Date.prototype.format\n delete Date.prototype.formatTime\n }\n\n updateTexts (texts) {\n this._texts = texts\n }\n\n // Cache Today's date (to a maximum) for better isToday() performances. Formatted without leading 0.\n // We still need to update Today's date when Today changes without page refresh.\n _todayFormatted () {\n if (todayDate !== (new Date()).getDate()) {\n now = new Date()\n todayDate = now.getDate()\n todayF = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`\n }\n\n return todayF\n }\n\n // UTILITIES.\n // ====================================================================\n addDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() + days)\n return d\n }\n\n subtractDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() - days)\n return d\n }\n\n addHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() + hours)\n return d\n }\n\n subtractHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() - hours)\n return d\n }\n\n addMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() + minutes)\n return d\n }\n\n subtractMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() - minutes)\n return d\n }\n\n getWeek (date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n const dayNum = d.getUTCDay() || 7\n d.setUTCDate(d.getUTCDate() + 4 - dayNum)\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n }\n\n isToday (date) {\n return `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}` === this._todayFormatted()\n }\n\n isLeapYear (date) {\n const year = date.getFullYear()\n return !(year % 400) || (year % 100 && !(year % 4))\n }\n\n // Returns today if it's FirstDayOfWeek (Monday or Sunday) or previous FirstDayOfWeek otherwise.\n getPreviousFirstDayOfWeek (date = null, weekStartsOnSunday) {\n const prevFirstDayOfWeek = (date && new Date(date.valueOf())) || new Date()\n const dayModifier = weekStartsOnSunday ? 7 : 6\n prevFirstDayOfWeek.setDate(prevFirstDayOfWeek.getDate() - (prevFirstDayOfWeek.getDay() + dayModifier) % 7)\n return prevFirstDayOfWeek\n }\n\n /**\n * Converts a string to a Javascript Date object. If a Date object is passed, return it as is.\n *\n * @param {String | Date} date the string to convert to Date.\n * @return {Date} the equivalent Javascript Date object.\n */\n stringToDate (date) {\n if (date instanceof Date) return date\n // Regexp way is less performant: https://jsperf.com/string-to-date-regexp-vs-new-date\n // const [, y, m, d, h = 0, min = 0] = date.match(/(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{2}):(\\d{2}))?/)\n // return new Date(y, parseInt(m) - 1, d, h, min)\n\n if (date.length === 10) date += ' 00:00'\n return new Date(date.replace(/-/g, '/')) // replace '-' with '/' for Safari.\n }\n\n /**\n * Simply takes a Date and returns the associated time in minutes (sum of hours + minutes).\n *\n * @param {Date} date the JavaScript Date to extract minutes from.\n * @return {Number} the number of minutes (total of hours plus minutes).\n */\n dateToMinutes = date => date.getHours() * 60 + date.getMinutes()\n\n /**\n * Count the number of days this date range spans onto.\n * E.g. countDays(2019-11-02 18:00, 2019-11-03 02:00) = 2\n *\n * @param {String | Date} start the start date\n * @param {String | Date} end the end date\n * @return {Integer} The number of days this date range involves\n */\n countDays (start, end) {\n // replace '-' with '/' for Safari.\n if (typeof start === 'string') start = start.replace(/-/g, '/')\n if (typeof end === 'string') end = end.replace(/-/g, '/')\n\n // Set start & end at midnight then compare the delta. Don't modify the original dates.\n start = (new Date(start)).setHours(0, 0, 0, 0)\n // Set end at midnight plus 1 sec, so Math.ceil will round it up to a full day.\n end = (new Date(end)).setHours(0, 0, 1, 0)\n\n // Remove the potential daylight saving delta.\n const timezoneDiffMs = (new Date(end).getTimezoneOffset() - new Date(start).getTimezoneOffset()) * 60 * 1000\n return Math.ceil((end - start - timezoneDiffMs) / (24 * 3600 * 1000))\n }\n\n /**\n * Take 2 dates and check if within the same time step (useful in overlapping events).\n *\n * @return {Boolean} `true` if their time is included in the same time step,\n * this means these 2 dates are very close.\n */\n datesInSameTimeStep (date1, date2, timeStep) {\n return Math.abs(date1.getTime() - date2.getTime()) <= timeStep * 60 * 1000\n }\n // ====================================================================\n\n // FORMATTERS.\n // ====================================================================\n /**\n * Formats a date/time to the given format and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @return {String} the formatted date.\n */\n formatDate (date, format = 'YYYY-MM-DD', texts = null) {\n if (!texts) texts = this._texts\n if (!format) format = 'YYYY-MM-DD' // Allows passing null for default format.\n if (format === 'YYYY-MM-DD') return this.formatDateLite(date)\n\n // Reinit the date and time object on each function call.\n _dateObject = {}\n _timeObject = {}\n\n // Each keyword is a function to load the dateObject or timeObject on demand: no wasted resource.\n const dateObj = {\n YYYY: () => this._hydrateDateObject(date, texts).YYYY,\n YY: () => this._hydrateDateObject(date, texts).YY(),\n M: () => this._hydrateDateObject(date, texts).M,\n MM: () => this._hydrateDateObject(date, texts).MM(),\n MMM: () => this._hydrateDateObject(date, texts).MMM(),\n MMMM: () => this._hydrateDateObject(date, texts).MMMM(),\n MMMMG: () => this._hydrateDateObject(date, texts).MMMMG(),\n D: () => this._hydrateDateObject(date, texts).D,\n DD: () => this._hydrateDateObject(date, texts).DD(),\n S: () => this._hydrateDateObject(date, texts).S(),\n d: () => this._hydrateDateObject(date, texts).d,\n dd: () => this._hydrateDateObject(date, texts).dd(),\n ddd: () => this._hydrateDateObject(date, texts).ddd(),\n dddd: () => this._hydrateDateObject(date, texts).dddd(),\n HH: () => this._hydrateTimeObject(date, texts).HH,\n H: () => this._hydrateTimeObject(date, texts).H,\n hh: () => this._hydrateTimeObject(date, texts).hh,\n h: () => this._hydrateTimeObject(date, texts).h,\n am: () => this._hydrateTimeObject(date, texts).am,\n AM: () => this._hydrateTimeObject(date, texts).AM,\n mm: () => this._hydrateTimeObject(date, texts).mm,\n m: () => this._hydrateTimeObject(date, texts).m\n }\n\n return format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = dateObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result() : contents\n })\n }\n\n // More performant function to convert a Date to `YYYY-MM-DD` formatted string only.\n formatDateLite (date) {\n const m = date.getMonth() + 1\n const d = date.getDate()\n return `${date.getFullYear()}-${m < 10 ? '0' : ''}${m}-${d < 10 ? '0' : ''}${d}`\n }\n\n /**\n * Formats a time (from Date or number of mins) to the given format and returns the formatted string.\n *\n * @param {Date | Number} date a JavaScript Date object or a time in minutes.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @param {Boolean} round if time is 23:59:59, rounds up to 24:00 for formatting only.\n * @return {String} the formatted time.\n */\n formatTime (date, format = 'HH:mm', texts = null, round = false) {\n let shouldRound = false\n if (round) {\n const [h, m, s] = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if ((h + m + s) === (23 + 59 + 59)) shouldRound = true\n }\n\n if (date instanceof Date && format === 'HH:mm') return shouldRound ? '24:00' : this.formatTimeLite(date)\n\n _timeObject = {} // Reinit the time object on each function call.\n if (!texts) texts = this._texts\n const timeObj = this._hydrateTimeObject(date, texts)\n\n const formatted = format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = timeObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result : contents\n })\n\n // Round 23:59:59 to 24:00. For 12-hour format there is nothing to replace: as both are 12am.\n // Also don't return `24:00` straight away as the user format may be different.\n return shouldRound ? formatted.replace('23:59', '24:00') : formatted\n }\n\n /**\n * Formats a time to 'HH:mm' from a Date and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @return {String} the formatted time.\n */\n formatTimeLite (date) {\n const h = date.getHours()\n const m = date.getMinutes()\n return `${(h < 10 ? '0' : '') + h}:${(m < 10 ? '0' : '') + m}`\n }\n\n _nth (d) {\n if (d > 3 && d < 21) return 'th'\n switch (d % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n _hydrateDateObject (date, texts) {\n if (_dateObject.D) return _dateObject\n\n const YYYY = date.getFullYear()\n const M = date.getMonth() + 1\n const D = date.getDate()\n const day = date.getDay() // Day of the week.\n const dayNumber = (day - 1 + 7) % 7 // Day of the week. 0 to 6 with 6 = Sunday.\n // Some of this props are functions, to only calculate on demand.\n _dateObject = {\n // Year.\n YYYY, // 2019.\n YY: () => YYYY.toString().substring(2), // 19.\n\n // Month.\n M, // 1 to 12.\n MM: () => (M < 10 ? '0' : '') + M, // 01 to 12.\n MMM: () => texts.months[M - 1].substring(0, 3), // Jan to Dec.\n MMMM: () => texts.months[M - 1], // January to December.\n MMMMG: () => (texts.monthsGenitive || texts.months)[M - 1], // January to December in genitive form (Greek...)\n\n // Day.\n D, // 1 to 31.\n DD: () => (D < 10 ? '0' : '') + D, // 01 to 31.\n S: () => this._nth(D), // st, nd, rd, th.\n\n // Day of the week.\n d: dayNumber + 1, // 1 to 7 with 7 = Sunday.\n dd: () => texts.weekDays[dayNumber][0], // M to S.\n ddd: () => texts.weekDays[dayNumber].substr(0, 3), // Mon to Sun.\n dddd: () => texts.weekDays[dayNumber] // Monday to Sunday.\n }\n\n return _dateObject\n }\n\n _hydrateTimeObject (date, texts) {\n if (_timeObject.am) return _timeObject\n\n let H, m\n if (date instanceof Date) {\n H = date.getHours()\n m = date.getMinutes()\n }\n else {\n H = Math.floor(date / 60)\n m = Math.floor(date % 60)\n }\n\n const h = H % 12 ? H % 12 : 12\n const am = (texts || { am: 'am', pm: 'pm' })[H === 24 || H < 12 ? 'am' : 'pm']\n _timeObject = {\n H,\n h,\n HH: (H < 10 ? '0' : '') + H,\n hh: (h < 10 ? '0' : '') + h,\n am,\n AM: am.toUpperCase(),\n m,\n mm: (m < 10 ? '0' : '') + m\n }\n\n return _timeObject\n }\n // ====================================================================\n}\n","/**\n * Cell Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst minutesInADay = 24 * 60\n\nexport default class CellUtils {\n _vuecal = null\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n selectCell = (force = false, date, split) => {\n // Cell-click event returns a date and time at cursor position.\n this._vuecal.$emit('cell-click', split ? { date, split } : date)\n\n // Switch to narrower view.\n if (this._vuecal.clickToNavigate || force) this._vuecal.switchToNarrowerView()\n\n // Handle double click manually for touch devices.\n else if (this._vuecal.dblclickToNavigate && 'ontouchstart' in window) {\n this._vuecal.domEvents.dblTapACell.taps++\n\n setTimeout(() => (this._vuecal.domEvents.dblTapACell.taps = 0), this._vuecal.domEvents.dblTapACell.timeout)\n\n if (this._vuecal.domEvents.dblTapACell.taps >= 2) {\n this._vuecal.domEvents.dblTapACell.taps = 0\n this._vuecal.switchToNarrowerView()\n this._vuecal.$emit('cell-dblclick', split ? { date, split } : date)\n }\n }\n }\n\n /**\n * Select a cell and go to narrower view on enter.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n keyPressEnterCell = (date, split) => {\n // Cell-key-press-enter event returns a date and time at cursor position.\n this._vuecal.$emit('cell-keypress-enter', split ? { date, split } : date)\n\n // Switch to narrower view.\n this._vuecal.switchToNarrowerView()\n }\n\n /**\n * Get the coordinates of the mouse cursor from the cells wrapper referential (`ref=\"cells\"`).\n *\n * @todo Cache bounding box & update it on resize.\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { x: {Number}, y: {Number} }\n */\n getPosition = e => {\n const { left, top } = this._vuecal.cellsEl.getBoundingClientRect()\n const { clientX, clientY } = 'ontouchstart' in window && e.touches ? e.touches[0] : e\n return { x: clientX - left, y: clientY - top }\n }\n\n /**\n * Get the number of minutes from the top to the mouse cursor.\n * Returns a constrained time between 0 and 24 * 60.\n *\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { minutes: {Number}, cursorCoords: { x: {Number}, y: {Number} } }\n */\n minutesAtCursor = e => {\n let minutes = 0\n let cursorCoords = { x: 0, y: 0 }\n const { timeStep, timeCellHeight, timeFrom } = this._vuecal.$props\n\n if (typeof e === 'number') minutes = e\n else if (typeof e === 'object') {\n cursorCoords = this.getPosition(e)\n minutes = Math.round(cursorCoords.y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n return { minutes: Math.max(Math.min(minutes, minutesInADay), 0), cursorCoords }\n }\n}\n","/**\n * Events Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst defaultEventDuration = 2 // In hours.\nconst minutesInADay = 24 * 60 // Don't do the maths every time.\n\nlet ud\n\n// Event overlaps: only for the current view, recreated on view change.\nlet _cellOverlaps, _comparisonArray\n\n// This is an approximation, it will not work with DLS time.\n// const approxDayMilliseconds = minutesInADay * 60 * 1000\n// This is an approximate minimum we can get in a year. Purposely stay below 365 but close.\n// const minYearMilliseconds = 364 * approxDayMilliseconds // Don't do the maths every time.\n\nexport default class EventUtils {\n _vuecal = null\n\n eventDefaults = {\n _eid: null,\n start: '', // Externally given formatted date & time or Date object.\n startTimeMinutes: 0,\n end: '', // Externally given formatted date & time or Date object.\n endTimeMinutes: 0,\n title: '',\n content: '',\n background: false,\n allDay: false,\n segments: null,\n repeat: null,\n daysCount: 1,\n deletable: true,\n deleting: false,\n titleEditable: true,\n resizable: true,\n resizing: false,\n draggable: true,\n dragging: false,\n draggingStatic: false, // Controls the CSS class of the static clone while dragging.\n focused: false,\n class: ''\n }\n\n constructor (vuecal, dateUtils) {\n this._vuecal = vuecal\n ud = dateUtils\n }\n\n /**\n * Create an event at the given date and time, and allow overriding\n * event attributes through the eventOptions object.\n *\n * @param {Date | String} dateTime The date and time of the new event start.\n * @param {Number} duration the event duration in minutes.\n * @param {Object} eventOptions some options to override the `eventDefaults` - optional.\n */\n createAnEvent (dateTime, duration, eventOptions) {\n if (typeof dateTime === 'string') dateTime = ud.stringToDate(dateTime)\n if (!(dateTime instanceof Date)) return false\n\n const startTimeMinutes = ud.dateToMinutes(dateTime)\n duration = duration * 1 || defaultEventDuration * 60\n const endTimeMinutes = startTimeMinutes + duration\n const end = ud.addMinutes(new Date(dateTime), duration)\n\n // Automatically add the required endTimeMinutes when passing an end.\n if (eventOptions.end) {\n if (typeof eventOptions.end === 'string') eventOptions.end = ud.stringToDate(eventOptions.end)\n eventOptions.endTimeMinutes = ud.dateToMinutes(eventOptions.end)\n }\n\n const event = {\n ...this.eventDefaults,\n _eid: `${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,\n start: dateTime,\n startTimeMinutes,\n end,\n endTimeMinutes,\n segments: null,\n ...eventOptions\n }\n\n // If the onEventCreate() function is given as a parameter to vue-cal:\n // 1. give it access to the created event & the deleteAnEvent() function.\n // 2. Prevent creation of the event if this function returns false.\n if (typeof this._vuecal.onEventCreate === 'function') {\n if (!this._vuecal.onEventCreate(event, () => this.deleteAnEvent(event))) return\n }\n\n // Check if event is a multiple day event and update days count.\n if (event.startDateF !== event.endDateF) {\n event.daysCount = ud.countDays(event.start, event.end)\n }\n\n // Add event to the mutableEvents array.\n this._vuecal.mutableEvents.push(event)\n\n // Add the new event to the current view.\n // The event may have been edited on the fly to become a multiple-day event,\n // the method addEventsToView makes sure the segments are created.\n this._vuecal.addEventsToView([event])\n\n this._vuecal.emitWithEvent('event-create', event)\n this._vuecal.$emit('event-change', { event: this._vuecal.cleanupEvent(event), originalEvent: null })\n\n return event\n }\n\n /**\n * Add an event segment (= day) to a multiple-day event.\n *\n * @param {Object} e the multiple-day event to add segment in.\n */\n addEventSegment (e) {\n // If event was previously single-day, event.segments = null,\n // so first create the first segment (first day).\n if (!e.segments) {\n e.segments = {}\n e.segments[ud.formatDateLite(e.start)] = {\n start: e.start,\n startTimeMinutes: e.startTimeMinutes,\n endTimeMinutes: minutesInADay,\n isFirstDay: true,\n isLastDay: false\n }\n }\n\n // Modify the last segment - which will not stay the last one after this function.\n const previousSegment = e.segments[ud.formatDateLite(e.end)]\n // previousSegment might not exist when dragging too fast, prevent errors.\n if (previousSegment) {\n previousSegment.isLastDay = false\n previousSegment.endTimeMinutes = minutesInADay\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n // Create the new last segment.\n const start = ud.addDays(e.end, 1)\n const formattedDate = ud.formatDateLite(start)\n start.setHours(0, 0, 0, 0)\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: 0,\n endTimeMinutes: e.endTimeMinutes,\n isFirstDay: false,\n isLastDay: true\n }\n\n e.end = ud.addMinutes(start, e.endTimeMinutes)\n e.daysCount = Object.keys(e.segments).length\n\n return formattedDate\n }\n\n /**\n * Remove an event segment (= day) from a multiple-day event.\n *\n * @param {Object} e the multiple-day event to remove segments from.\n */\n removeEventSegment (e) {\n let segmentsCount = Object.keys(e.segments).length\n if (segmentsCount <= 1) return ud.formatDateLite(e.end)\n\n // Remove the last segment.\n delete e.segments[ud.formatDateLite(e.end)]\n segmentsCount--\n\n const end = ud.subtractDays(e.end, 1)\n const formattedDate = ud.formatDateLite(end)\n const previousSegment = e.segments[formattedDate]\n\n // If no more segments, reset the segments attribute to null.\n if (!segmentsCount) e.segments = null\n\n // previousSegment might not exist when dragging too fast, prevent errors.\n else if (previousSegment) {\n // Modify the new last segment.\n previousSegment.isLastDay = true\n previousSegment.endTimeMinutes = e.endTimeMinutes\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n e.daysCount = segmentsCount || 1\n e.end = end\n\n return formattedDate\n }\n\n /**\n * Create 1 segment per day of the given event, but only within the current view.\n * (It won't create segments for all the days in view that are not in the event!)\n *\n * An event segment is a piece of event per day that contains more day-specific data.\n *\n * @param {Object} e the multiple-day event to create segments for.\n * @param {Date} viewStartDate the starting date of the view.\n * @param {Date} viewEndDate the ending date of the view.\n */\n createEventSegments (e, viewStartDate, viewEndDate) {\n const viewStartTimestamp = viewStartDate.getTime()\n const viewEndTimestamp = viewEndDate.getTime()\n let eventStart = e.start.getTime()\n let eventEnd = e.end.getTime()\n let repeatedEventStartFound = false\n let timestamp, end, eventStartAtMidnight\n\n // @todo: I don't think we still need that:\n // Removing 1 sec when ending at 00:00, so that we don't create a segment for nothing on last day.\n if (!e.end.getHours() && !e.end.getMinutes()) eventEnd -= 1000\n\n e.segments = {}\n\n // The goal is to create 1 segment per day in the event, but only within the current view.\n if (!e.repeat) { // Simple case first.\n timestamp = Math.max(viewStartTimestamp, eventStart)\n end = Math.min(viewEndTimestamp, eventEnd)\n }\n else {\n // Start at the beginning of the range, and end at soonest between `repeat.until` if any or range end.\n // This range will most likely be too large (e.g. whole week) and we need to narrow it\n // down in the while loop below.\n // We must not create unused segments, it would break the render or result in weird behaviors.\n timestamp = viewStartTimestamp\n end = Math.min(\n viewEndTimestamp,\n e.repeat.until ? ud.stringToDate(e.repeat.until).getTime() : viewEndTimestamp\n )\n }\n\n while (timestamp <= end) {\n let createSegment = false\n // Be careful not to simply add 24 hours!\n // In case of DLS, that would cause the event to never end and browser to hang.\n // So use `addDays(1)` instead.\n const nextMidnight = ud.addDays(new Date(timestamp), 1).setHours(0, 0, 0, 0)\n let isFirstDay, isLastDay, start, formattedDate\n\n if (e.repeat) {\n const tmpDate = new Date(timestamp)\n const tmpDateFormatted = ud.formatDateLite(tmpDate)\n // If the current day in loop is a known date of the repeated event (in `e.occurrences`),\n // then we found the first day of the event repetition, now update the `eventStart` and\n // the end of the loop at current day + event days count.\n if (repeatedEventStartFound || (e.occurrences && e.occurrences[tmpDateFormatted])) {\n if (!repeatedEventStartFound) {\n eventStart = e.occurrences[tmpDateFormatted].start\n eventStartAtMidnight = new Date(eventStart).setHours(0, 0, 0, 0)\n eventEnd = e.occurrences[tmpDateFormatted].end\n }\n repeatedEventStartFound = true\n createSegment = true\n }\n\n isFirstDay = timestamp === eventStartAtMidnight\n isLastDay = tmpDateFormatted === ud.formatDateLite(new Date(eventEnd))\n start = new Date(isFirstDay ? eventStart : timestamp)\n formattedDate = ud.formatDateLite(start)\n // We want to find any potential other repetition of event in same range.\n if (isLastDay) repeatedEventStartFound = false\n }\n else {\n createSegment = true\n isFirstDay = timestamp === eventStart\n isLastDay = end === eventEnd && nextMidnight > end\n start = isFirstDay ? e.start : new Date(timestamp)\n formattedDate = ud.formatDateLite(isFirstDay ? e.start : start)\n }\n\n if (createSegment) {\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: isFirstDay ? e.startTimeMinutes : 0,\n endTimeMinutes: isLastDay ? e.endTimeMinutes : minutesInADay,\n isFirstDay,\n isLastDay\n }\n }\n\n timestamp = nextMidnight\n }\n\n return e\n }\n\n /**\n * Delete an event.\n *\n * @param {Object} event the calendar event to delete.\n */\n deleteAnEvent (event) {\n this._vuecal.emitWithEvent('event-delete', event)\n\n // Delete the event globally.\n this._vuecal.mutableEvents = this._vuecal.mutableEvents.filter(e => e._eid !== event._eid)\n // Delete the event from the current view.\n // checkCellOverlappingEvents() will be re-run automatically from the cell computed events.\n this._vuecal.view.events = this._vuecal.view.events.filter(e => e._eid !== event._eid)\n }\n\n // EVENT OVERLAPS.\n // ===================================================================\n // Will recalculate all the overlaps of the current cell OR split.\n // cellEvents will contain only the current split events if in a split.\n checkCellOverlappingEvents (cellEvents, options) {\n _comparisonArray = cellEvents.slice(0)\n _cellOverlaps = {}\n\n // Can't filter background events before calling this function otherwise\n // when an event is changed to background it would not update its previous overlaps.\n cellEvents.forEach(e => {\n // For performance, never compare the current event in the next loops.\n // The array is smaller and smaller as we loop.\n _comparisonArray.shift()\n\n if (!_cellOverlaps[e._eid]) _cellOverlaps[e._eid] = { overlaps: [], start: e.start, position: 0, sameOverlaps: [] }\n _cellOverlaps[e._eid].position = 0\n\n _comparisonArray.forEach(e2 => {\n if (!_cellOverlaps[e2._eid]) _cellOverlaps[e2._eid] = { overlaps: [], start: e2.start, position: 0, sameOverlaps: [] }\n\n const eventIsInRange = this.eventInRange(e2, e.start, e.end)\n const eventSameOverlap = this.eventSameRange(e2, e)\n const eventsInSameTimeStep = options.overlapsPerTimeStep ? ud.datesInSameTimeStep(e.start, e2.start, options.timeStep) : 1\n // Add to the overlaps array if overlapping.\n if (!e.background && !e.allDay && !e2.background && !e2.allDay && eventIsInRange && eventsInSameTimeStep) {\n _cellOverlaps[e._eid].overlaps.push(e2._eid)\n _cellOverlaps[e._eid].overlaps = [...new Set(_cellOverlaps[e._eid].overlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].overlaps.push(e._eid)\n _cellOverlaps[e2._eid].overlaps = [...new Set(_cellOverlaps[e2._eid].overlaps)] // Dedupe, most performant way.\n _cellOverlaps[e2._eid].position++\n \n if (eventSameOverlap) {\n _cellOverlaps[e._eid].sameOverlaps.push(e2._eid)\n _cellOverlaps[e._eid].sameOverlaps = [...new Set(_cellOverlaps[e._eid].sameOverlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].sameOverlaps.push(e._eid)\n _cellOverlaps[e2._eid].sameOverlaps = [...new Set(_cellOverlaps[e2._eid].sameOverlaps)] // Dedupe, most performant way.\n }\n }\n // Remove from the overlaps array if not overlapping or if 1 of the 2 events is background or all-day long.\n else {\n let pos1, pos2\n if ((pos1 = (_cellOverlaps[e._eid] || { overlaps: [] }).overlaps.indexOf(e2._eid)) > -1) _cellOverlaps[e._eid].overlaps.splice(pos1, 1)\n if ((pos2 = (_cellOverlaps[e2._eid] || { overlaps: [] }).overlaps.indexOf(e._eid)) > -1) _cellOverlaps[e2._eid].overlaps.splice(pos2, 1)\n _cellOverlaps[e2._eid].position--\n }\n })\n })\n\n // Overlaps streak is the longest horizontal set of simultaneous events.\n // This is determining the width of events in a streak.\n // e.g. 3 overlapping events in a cell:\n // ___ ___\n // | 1 | |_2_| 1 overlaps 2 & 3; 2 & 3 don't overlap;\n // | | ___ => streak = 2; each width = 50% not 33%.\n // |___| |_3_|\n let longestStreak = 0\n for (const id in _cellOverlaps) {\n const item = _cellOverlaps[id]\n\n // Calculate the position of each event in current streak (determines the CSS left property).\n const overlapsRow = item.overlaps.map(id2 => ({ id: id2, start: _cellOverlaps[id2].start }))\n overlapsRow.push({ id, start: item.start })\n overlapsRow.sort((a, b) => a.start < b.start ? -1 : (a.start > b.start ? 1 : (a.id > b.id ? -1 : 1)))\n item.position = overlapsRow.findIndex(e => e.id === id)\n\n longestStreak = Math.max(this.getOverlapsStreak(item, _cellOverlaps), longestStreak)\n }\n\n // console.log([_cellOverlaps, longestStreak])\n\n return [_cellOverlaps, longestStreak]\n }\n\n /**\n * Overlaps streak is the longest horizontal set of simultaneous events.\n * This is determining the width of each events in this streak.\n * E.g. 3 overlapping events [1, 2, 3]; 1 overlaps 2 & 3; 2 & 3 don't overlap;\n * => streak = 2; each width = 50% not 33%.\n *\n * @param {Object} event The current event we are checking among all the events of the current cell.\n * @param {Object} cellOverlaps An indexed array of all the events overlaps for the current cell.\n * @return {Number} The number of simultaneous event for this event.\n */\n getOverlapsStreak (event, cellOverlaps = {}) {\n let streak = event.overlaps.length + 1\n let removeFromStreak = []\n event.overlaps.forEach(id => {\n if (!removeFromStreak.includes(id)) {\n const overlapsWithoutSelf = event.overlaps.filter(id2 => id2 !== id)\n overlapsWithoutSelf.forEach(id3 => {\n if (!cellOverlaps[id3].overlaps.includes(id)) removeFromStreak.push(id3)\n })\n }\n })\n\n removeFromStreak = [...new Set(removeFromStreak)] // Dedupe, most performant way.\n streak -= removeFromStreak.length\n return streak\n }\n\n /**\n * Tells whether an event is in a given date range, even partially.\n *\n * @param {Object} event The event to test.\n * @param {Date} start The start of range date object.\n * @param {Date} end The end of range date object.\n * @return {Boolean} true if in range, even partially.\n */\n eventInRange (event, start, end) {\n // Check if all-day or timeless event (if date but no time there won't be a `:` in event.start).\n if (event.allDay || !this._vuecal.time) {\n // Get the date and discard the time if any, then check it's within the date range.\n const startTimestamp = new Date(event.start).setHours(0, 0, 0, 0)\n const endTimestamp = new Date(event.end).setHours(23, 59, 0, 0)\n return (endTimestamp >= new Date(start).setHours(0, 0, 0, 0) &&\n startTimestamp <= new Date(end).setHours(0, 0, 0, 0))\n }\n\n const startTimestamp = event.start.getTime()\n const endTimestamp = event.end.getTime()\n return startTimestamp < end.getTime() && endTimestamp > start.getTime()\n }\n\n eventSameRange(event1, event2) {\n const isSameStart = event1.start.getTime() == event2.start.getTime()\n const isSameEnd = event1.end.getTime() == event2.end.getTime()\n return isSameStart && isSameEnd\n }\n}\n","","{{ heading.full }} {{ heading.small }} {{ heading.xsmall }} {{ heading.dayOfMonth }}
","import { render } from \"./weekdays-headings.vue?vue&type=template&id=339102eb&lang=pug\"\nimport script from \"./weekdays-headings.vue?vue&type=script&lang=js\"\nexport * from \"./weekdays-headings.vue?vue&type=script&lang=js\"\n\nimport \"./weekdays-headings.vue?vue&type=style&index=0&id=339102eb&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./header.vue?vue&type=template&id=19ea4718&lang=pug\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\n\nimport \"./header.vue?vue&type=style&index=0&id=19ea4718&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","","
","{{ vuecal.texts.deleteEvent }}
","import { render } from \"./event.vue?vue&type=template&id=22b11fb6&lang=pug\"\nimport script from \"./event.vue?vue&type=script&lang=js\"\nexport * from \"./event.vue?vue&type=script&lang=js\"\n\nimport \"./event.vue?vue&type=style&index=0&id=22b11fb6&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cell.vue?vue&type=template&id=e1fa9802&lang=pug\"\nimport script from \"./cell.vue?vue&type=script&lang=js\"\nexport * from \"./cell.vue?vue&type=script&lang=js\"\n\nimport \"./cell.vue?vue&type=style&index=0&id=e1fa9802&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./all-day-bar.vue?vue&type=template&id=1fec77b5&lang=pug\"\nimport script from \"./all-day-bar.vue?vue&type=script&lang=js\"\nexport * from \"./all-day-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=59399e28\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport VueCal from './index.vue'\n\n\nexport default {\n\tinstall: (app: App) => {\n\n\t\tapp.component('Vue-cal', VueCal)\n\t}\n}","import { createApp } \tfrom 'vue'\nimport { IonicVue } \tfrom '@ionic/vue'\nimport { loadFonts } \tfrom './webfontloader'\nimport vuetify \t\t\tfrom './vuetify'\nimport { registerQuillUrlSanitizer } from './quill.util'\nimport loader \t\t\tfrom 'vue-loading-overlay'\nimport App \t\t\t\tfrom './App.vue'\n\nimport router \t\t\tfrom './router'\nimport store \t\t\tfrom '@/store'\nimport w \t\t\t\tfrom '@/plugins/w/w'\nimport axiosCustom from '@/plugins/w@custom/axios'\nimport tmStore \t\t\tfrom '@/plugins/tm@_store'\nimport vueCal \t\t\tfrom '@/plugins/app@vendor/vue-cal'\nimport { Options } \t\tfrom '@/plugins/w/w/types'\n\nimport '@ionic/vue/css/core.css'\nimport '@ionic/vue/css/normalize.css'\nimport '@ionic/vue/css/structure.css'\nimport '@ionic/vue/css/typography.css'\nimport '@ionic/vue/css/padding.css'\nimport '@ionic/vue/css/float-elements.css'\nimport '@ionic/vue/css/text-alignment.css'\nimport '@ionic/vue/css/text-transformation.css'\nimport '@ionic/vue/css/flex-utils.css'\nimport '@ionic/vue/css/display.css'\n\nimport '@/plugins/app/_theme/index.sass'\nimport 'vue-loading-overlay/dist/vue-loading.css'\nimport '@vuepic/vue-datepicker/dist/main.css'\n\nloadFonts()\nregisterQuillUrlSanitizer()\n\nconst options: Options = {\n\taxios: {\n\t\tdisabled: true\n\t},\n\ti18n: {\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\ttitle: \"Slovenský\", flag: \"sk\", value: \"sk\"\n\t\t\t}\n\t\t],\n\t\tdefaultLanguage: 'sk'\n\t},\n\tmoxios: {\n\t\troutes: {\n\t\t\t// 'GET v1/auth/info': true,\n\t\t\t// 'POST v1/auth/forgot': true,\n\t\t\t// 'POST v1/auth/reset': true,\n\t\t\t// 'POST v1/auth/info': true,\n\t\t\t// 'POST v1/auth/invalidate': true,\n\t\t\t// 'POST v1/auth/login': true,\n\t\t\t// 'POST v1/auth/post': true,\n\n\t\t\t'GET v1/overview/teams': true,\n\t\t\t'GET v1/overview/tasks': true,\n\t\t\t// 'GET v1/search': true,\n\t\t}\n\t}\n}\n\nconst app = createApp(App)\n\t.use(router)\n\t.use(store)\n\t.use(axiosCustom)\n\t.use(w, options)\n\t.use(IonicVue)\n\t.use(vuetify)\n\t.use(vueCal)\n\t.use(tmStore)\n\t.use(loader, {\n\t\tcolor: '#6200EE'\n\t})\n\t.mount('#app')\n\n// @ts-expect-error\nexport const $t = app.$i18n.t\n","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseErrors(errors) {\n\t\t// @ts-expect-error\n\t\treturn Object.values(errors).map(error => $t(error?.$message)).join('. ')\n\t}\n}","export default {\n\tmethods: {\n\t\tcustomFilter(item, input) {\n\t\t\t// Replace accented characters with non-accented equivalents\n\t\t\tconst normalizedItem = item.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\tconst normalizedInput = input.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\t\n\t\t\t// Remove any character that is not a letter, number, or space from both the item and the input\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g;\n\t\t\tconst cleanedItem = normalizedItem.replace(pattern, '');\n\t\t\tconst cleanedInput = normalizedInput.replace(pattern, '');\n\t\t\t\n\t\t\t// Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present\n\t\t\treturn cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === '';\n\t\t}\n\t}\n}","import moment from 'moment'\n\nexport default {\n\tenrichEmployees(employees) {\n\t\treturn employees.map(employee => ({\n\t\t\t...employee, \n\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t}))\n\t},\n\n\tformatDateTime(date) {\n\t\tmoment(date)\n\t\treturn moment(date).format('DD.MM.yyyy, HH:mm')\n\t},\n\n\tformatDateTimeForBackend(date) {\n\t\treturn moment(date).format('YYYY-MM-DD HH:mm:ss')\n\t},\n\n\tformatDate(date) {\n\t\treturn moment(date).format('DD.MM.yyyy')\n\t},\n\n\tisBefore(date, compareTo = null) {\n\t\treturn moment(date).isBefore(moment(compareTo))\n\t},\n\n\tisAfter(date, compareTo = moment()) {\n\t\treturn moment(date).isAfter(moment(compareTo))\n\t}\n}","var map = {\n\t\"./en.json\": 20790,\n\t\"./sk.json\": 71941\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","var map = {\n\t\"./ar.json\": [\n\t\t68568,\n\t\t8568\n\t],\n\t\"./bg.json\": [\n\t\t20684,\n\t\t684\n\t],\n\t\"./bn.json\": [\n\t\t61170,\n\t\t1170\n\t],\n\t\"./bs.json\": [\n\t\t41161,\n\t\t1161\n\t],\n\t\"./ca.json\": [\n\t\t40612,\n\t\t612\n\t],\n\t\"./cs.json\": [\n\t\t50213,\n\t\t213\n\t],\n\t\"./da.json\": [\n\t\t98542,\n\t\t8542\n\t],\n\t\"./de.json\": [\n\t\t4701,\n\t\t4701\n\t],\n\t\"./el.json\": [\n\t\t20453,\n\t\t453\n\t],\n\t\"./en.json\": [\n\t\t3320,\n\t\t3320\n\t],\n\t\"./es.json\": [\n\t\t60076,\n\t\t76\n\t],\n\t\"./et.json\": [\n\t\t44075,\n\t\t4075\n\t],\n\t\"./fa.json\": [\n\t\t69004,\n\t\t9004\n\t],\n\t\"./fr.json\": [\n\t\t60007,\n\t\t7\n\t],\n\t\"./he.json\": [\n\t\t23746,\n\t\t3746\n\t],\n\t\"./hr.json\": [\n\t\t92921,\n\t\t2921\n\t],\n\t\"./hu.json\": [\n\t\t75723,\n\t\t5723\n\t],\n\t\"./id.json\": [\n\t\t12502,\n\t\t2502\n\t],\n\t\"./is.json\": [\n\t\t13214,\n\t\t3214\n\t],\n\t\"./it.json\": [\n\t\t51380,\n\t\t1380\n\t],\n\t\"./ja.json\": [\n\t\t72484,\n\t\t2484\n\t],\n\t\"./ka.json\": [\n\t\t60285,\n\t\t285\n\t],\n\t\"./ko.json\": [\n\t\t79249,\n\t\t9249\n\t],\n\t\"./lt.json\": [\n\t\t42838,\n\t\t2838\n\t],\n\t\"./mn.json\": [\n\t\t6177,\n\t\t6177\n\t],\n\t\"./nl.json\": [\n\t\t99729,\n\t\t9729\n\t],\n\t\"./no.json\": [\n\t\t49409,\n\t\t9409\n\t],\n\t\"./pl.json\": [\n\t\t25409,\n\t\t5409\n\t],\n\t\"./pt-br.json\": [\n\t\t74529,\n\t\t4529\n\t],\n\t\"./ro.json\": [\n\t\t29715,\n\t\t9715\n\t],\n\t\"./ru.json\": [\n\t\t32113,\n\t\t2113\n\t],\n\t\"./sk.json\": [\n\t\t30229,\n\t\t229\n\t],\n\t\"./sl.json\": [\n\t\t28636,\n\t\t8636\n\t],\n\t\"./sq.json\": [\n\t\t204,\n\t\t204\n\t],\n\t\"./sr.json\": [\n\t\t55553,\n\t\t5553\n\t],\n\t\"./sv.json\": [\n\t\t75979,\n\t\t5979\n\t],\n\t\"./tr.json\": [\n\t\t5268,\n\t\t5268\n\t],\n\t\"./uk.json\": [\n\t\t14057,\n\t\t4057\n\t],\n\t\"./vi.json\": [\n\t\t88929,\n\t\t8929\n\t],\n\t\"./zh-cn.json\": [\n\t\t56730,\n\t\t6730\n\t],\n\t\"./zh-hk.json\": [\n\t\t30841,\n\t\t841\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 66667;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"7\":\"7cef58a7\",\"76\":\"9977e9df\",\"188\":\"5e35d228\",\"204\":\"4dd3d03d\",\"213\":\"c9ed5252\",\"229\":\"b09f2145\",\"285\":\"6a0985b5\",\"453\":\"04d72c77\",\"612\":\"4ea201aa\",\"630\":\"73358fb6\",\"684\":\"017ebeb8\",\"841\":\"65cae984\",\"1161\":\"59a7c68b\",\"1170\":\"16217940\",\"1380\":\"fc40de11\",\"1466\":\"92176aab\",\"2113\":\"2a1bcdfa\",\"2484\":\"6def3002\",\"2502\":\"66addef9\",\"2704\":\"83ca6677\",\"2838\":\"aa69ee5c\",\"2921\":\"b5aad8e9\",\"2998\":\"e20db982\",\"3214\":\"72d306e7\",\"3311\":\"bcab8a66\",\"3320\":\"fe7033d0\",\"3539\":\"e2aabd54\",\"3657\":\"e558064c\",\"3728\":\"3e558208\",\"3746\":\"09ee0424\",\"4057\":\"4b3b38fd\",\"4075\":\"2d83f71e\",\"4258\":\"3c341f3a\",\"4529\":\"6ff3334b\",\"4701\":\"e34c277a\",\"5268\":\"5d463fbd\",\"5409\":\"4ce439c3\",\"5553\":\"032fcbe7\",\"5723\":\"09853a5d\",\"5921\":\"070bb4f8\",\"5979\":\"385e1b41\",\"6177\":\"12db94aa\",\"6730\":\"61289e01\",\"6901\":\"23ee64a2\",\"7023\":\"4a3b210c\",\"7073\":\"dc374d33\",\"7343\":\"1e290ed5\",\"7906\":\"d9e2973a\",\"8024\":\"bb377405\",\"8227\":\"58c16c3b\",\"8290\":\"38b1c1ab\",\"8520\":\"cb7009ea\",\"8542\":\"09badcc3\",\"8568\":\"7f0dfd32\",\"8636\":\"2a90cf11\",\"8731\":\"8acb20fc\",\"8929\":\"ea6da50f\",\"8990\":\"6dd37151\",\"9004\":\"ffe04245\",\"9215\":\"b69f417d\",\"9249\":\"d2b0f88c\",\"9409\":\"339f5afb\",\"9715\":\"21ca1afa\",\"9729\":\"812aea5b\",\"9983\":\"657ab52d\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"188\":\"37c2c58b\",\"630\":\"fc40f503\",\"3539\":\"2ae1c81e\",\"4258\":\"0875966b\",\"6901\":\"175f36fe\",\"7023\":\"c0c8bee7\",\"7073\":\"3978ef96\",\"7906\":\"a409390a\",\"8227\":\"440e256e\",\"9215\":\"03c22964\",\"9983\":\"8667b7b1\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jandl:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"188\":1,\"630\":1,\"3539\":1,\"4258\":1,\"6901\":1,\"7023\":1,\"7073\":1,\"7906\":1,\"8227\":1,\"9215\":1,\"9983\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjandl\"] = self[\"webpackChunkjandl\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(72807); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","async","loadFonts","webFontLoader","load","google","families","createVuetify","registerQuillUrlSanitizer","Link","Quill","CustomLinkSanitizer","static","url","sanitizedUrl","super","sanitize","protocolWhhitelist","hasWhitelistedProtocol","some","protocol","startsWith","_createVNode","_component_v_app","_component_v_main","_component_router_view","_component_Z_team_modal","ref","onUpdate","$options","_component_Z_delete_team_modal","_component_Z_task_modal","onOnSubtaskEdited","_component_Z_delete_task_modal","onOnSubtaskDeleted","_component_Z_delete_timeBlock_modal","_component_Z_delete_blocker_modal","onOnBlockerDeleted","_component_Z_delete_master_task_modal","onOnMastertaskDeleted","_component_Z_complete_task_modal","_component_Z_complete_master_task_modal","onMasterTaskEdited","_component_Z_task_add_time_modal","_component_Z_blocker_modal","_component_Z_master_task_modal","_component_Z_delete_team_member_modal","_component_Z_show_menu_modal","class","_createBlock","_component_v_dialog","$data","persistent","_component_v_card","_createElementVNode","_hoisted_1","name","_component_v_icon","onClick","icon","size","_component_v_card_actions","_component_v_btn","variant","disabled","mounted","window","addEventListener","this","handleKeyDown","methods","event","keyCode","visible","mixins","modalMixin","emits","data","team","isDeleting","closeModal","$axios","delete_auth","$emit","$store","commit","error","$toast","$parseError","__exports__","height","_component_W_loadable","content","_component_v_text_field","$errors","length","label","hint","parseErrors","_createElementBlock","_Fragment","employees","employee","index","key","_fullName","splice","_component_v_autocomplete","_ctx","items","clearable","atLeastOne","value","AutocompleteMixin","v$","useVuelidate","errorUtils","employeeSelect","computed","mapGetters","employeesOptions","selectedEmployeesIds","enrichedEmployees","filter","includes","validations","required","$nextTick","$reset","t","get_auth_data","_enrichTeam","$validate","put_auth","fullTeamResource","post_auth","tmUtils","watch","employeeId","find","push","$refs","autocomplete","search","project_code","subtask","_hoisted_2","timeblocks","timeblock","is_finished","formatDateTime","start","end","JSON","parse","stringify","deadline","_update","deleteTimeblockWithoutId","i","timesheets","timesheet","employee_name","$events","emit","message","d","_hoisted_3","_hoisted_4","_hoisted_7","_hoisted_8","onFocus","master_task_id","title","_component_Datepicker","Date","format","locale","placeholder","_deadline_time","type","employee_id","version","xmlns","width","viewBox","duration","substring","readonly","_hoisted_12","_hoisted_10","_component_A_timeblock","onUpdateTimeblock","val","onRemoveTimeblock","onOnDateFocus","deletable","editable","_hoisted_11","date","starts_at_time","ends_at_time","_hoisted_13","_component_QuillEditor","description","theme","onInput","$event","srcElement","innerHTML","_component_Z_files_upload","files","onFilesUploaded","_hoisted_14","_master_task","_hoisted_15","_hoisted_16","src","require","alt","_hoisted_19","_component_Z_task_readonly_info","onCloseModal","onUpdateSubtask","_hoisted_20","multiple","accept","onChange","fileUpload","click","file","_component_v_chip","toFixed","indexOf","$props","props","Array","default","isSaving","Boolean","uploadedFiles","created","maxSize","oversizedFiles","remove","_component_v_row","_component_v_col","cols","_component_v_sheet","_hoisted_5","_hoisted_6","form","components","Datepicker","showModal","splittedStartsAtTime","split","splittedEndsAtTime","moment","hours","parseInt","minutes","toISOString","isAfterDeadline","originalTimeblock","newTimeblock","getDeadline","mDate","mDeadline","Number","isAfter","master_task_deadline","preventInputFocus","setFocusEvent","document","querySelectorAll","forEach","input","onInputFocus","onDateFocus","undefined","target","blur","selectedEmployees","mastertask","projectsOptions","pattern","normalizedInput","projectCodeSearch","normalize","replace","projects","project","normalizedProjectCode","toLowerCase","filteredProjects","slice","project_id","selectedProject","onEmployeeSelected","console","log","showAddEmployeeInput","onEmployeeDurationChanged","totalDuration","parseFloat","invalid","teams","_component_A_mastertask_name","color","_component_A_mastertask_status","isFinished","_component_A_task_deadline","_component_A_task_timeblocks","_component_Z_created_by","created_by","_component_A_task_assigned_employee","_employee","_component_A_task_planned_time","_component_A_task_remaining_time","spent_time","_component_A_task_spent_time","_component_A_task_description","master_task_description","_component_Z_files","style","backgroundColor","String","openMastertask","editMode","_initials","charAt","surname","time","timestamp","_hoisted_9","numeric","minValue","user","formatDate","_component_v_tooltip","text","location","activator","_mergeProps","deadlineTime","getMasterTaskDeadline","mastertaskDescription","emptyMessage","file_size","isLoading","response","fetch","path","blob","FileSaver","ZFiles","AMastertaskName","AMastertaskStatus","ATaskTimeblocks","ZCreatedBy","ATaskAssignedEmployee","ATaskPlannedTime","ATaskSpentTime","ATaskRemainingTime","ATaskDescription","ATaskDeadline","requiredIf","updateDate","updateStartTime","updateEndTime","VuetifyFixFocusMixin","SelectsMixin","ZTaskReadonlyInfo","ATimeblock","ZFilesUpload","QuillEditor","employeeValidations","showDatePicker","selectedNewDate","on","_enrichTask","$forceUpdate","updateTimeblock","removeTimeblock","splittedDeadline","master_task","deleteTimeblock","$router","$route","employeesValid","_validateEmployees","timeblocksValid","_validateTimeblocks","getHTML","_mergeDeadlineTimeDate","patch_auth_form","subtaskCopy","subtasks","openDeleteTaskModal","showCompleteTaskModal","filesUploaded","updateSubtask","timeParts","setHours","setMinutes","isError","_created_by","mastertasks","oldValue","handler","lastEmployee","deep","setHTML","blocker","tempSubtask","tempMastertask","payload","datepicker","clearValue","_syncDatesTimes","splittedStart","splittedEnd","set","_component_v_select","team_id","_allEmployees","min","onKeyup","_component_A_mastertask_description","_component_A_tasks_table","_component_v_table","_employeeInitials","_employeeFullName","enrichedtasks","openTaskModal","_component_Z_status","status","_component_Z_deadline","_component_Z_team","_component_Z_planned_time","_component_Z_remaining_time","time_worked","_component_Z_spent_time","_component_Z_description","inheritedDescription","isExceeded","enrichedEmployeesInTeam","enrichedEmployeesOutsideTeam","employeesOutsideOfTeam","em","ZDeadline","ZDescription","ZPlannedTime","ZRemainingTime","ZSpentTime","ZStatus","ZTeam","AMastertaskDescription","ATasksTable","enrichedSubtasks","quillEditorRequired","minLength","$each","closeBothModals","teamId","memberId","task","beforeUnmount","off","removeEmployee","removeMemberAlert","member","toggleIsFinished","vuelidateValid","post_auth_data","openDeleteMasterTaskModal","addTask","onQuillEditorInput","isValid","getHours","getMinutes","toString","padStart","_component_v_card_text","_component_v_spacer","localData","createTask","onTaskCreated","createBlocker","onBlockerCreated","ZDeleteTeamModal","ZTeamModal","ZDeleteTaskModal","ZDeleteBlockerModal","ZTaskModal","ZMasterTaskModal","ZCompleteTaskModal","ZTaskAddTimeModal","ZBlockerModal","ZDeleteMasterTaskModal","ZDeleteTeamMemberModal","ZShowMenuModal","ZCompleteMasterTaskModal","ZDeleteTimeBlockModal","query","dispatch","_showModalsAfterInicialization","onTeamUpdate","onTaskDeleted","onBlockerDeleted","onTaskEdited","onMasterTaskDeleted","repeat","setTimeout","getters","render","createStore","state","mutations","actions","modules","routes","redirect","component","children","meta","requiresAuth","router","createRouter","history","createWebHashHistory","process","beforeEach","to","from","next","isLoggedIn","store","axios","config","catch","reject","_config","params","headers","Authorization","install","app","options","globalProperties","encodeGetParams","p","entries","kv","encodeURIComponent","join","strToRegex","s","re","Moxios","constructor","_redirectRequestToMock","bind","_mocks","mock","append","k","m","reUrl","matchMethod","mocked","method","match","fname","VUE_APP_PLATFORM","toUpperCase","c","origin","moxios","values","events","mitt","I18n","properties","instance","translated","availableLanguages","languages","defaultLanguage","language","languageKey","vendorI18n","createI18n","legacy","fallbackLocale","messages","_loadLocaleMessages","missing","_missingTranslation","postTranslation","_postTranslation","changeLanguage","flag","initCurrentLanguage","Preferences","currentLanguage","_addAxiosHeaders","global","locales","warn","matched","use","i18n","$w18n","IonContent","IonPage","IonLabel","IonBackButton","IonCheckbox","IonText","IonButton","IonItem","IonItemGroup","IonItemSliding","IonItemOption","IonItemOptions","IonToolbar","IonHeader","IonFooter","IonSlides","IonSlide","IonSpinner","IonRow","IonCol","IonGrid","IonInput","IonButtons","IonIcon","IonImg","IonList","IonSkeletonText","IonTitle","IonMenu","IonSplitPane","IonMenuButton","IonRouterOutlet","IonSegment","IonSegmentButton","IonVirtualScroll","IonTextarea","IonSearchbar","IonRefresherContent","IonRefresher","IonInfiniteScrollContent","IonInfiniteScroll","IonAvatar","IonThumbnail","IonModal","IonRadioGroup","IonRadio","IonNote","IonCard","IonCardContent","IonTabBar","IonTabButton","IonMenuToggle","IonFab","IonFabButton","IonFabList","IonReorderGroup","IonReorder","IonSelect","IonSelectOption","IonToggle","IonBadge","IonChip","IonTabs","_unauthorised","namespaced","token","localStorage","getItem","auth_success","setItem","auth_error","removeItem","logout","open","login","credentials","signup","finally","forgotPassword","resetPassword","updateUserInfo","registerModule","auth","VueToast","_renderSlot","loader","_startLoading","_stopLoading","WLoadable","ionic","toast","loadable","parseAndTranslate","errorsArray","_parseToArrayOfStrings","$t","statusText","toastUtils","_objectToFormData","formData","transformRequest","_buildFormData","parentKey","File","FormData","unscheduledSubtasks","ongoingSubtasks","initialized","set_mastertasks","set_employees","set_teams","set_projects","set_unscheduled_subtasks","set_ongoing_subtasks","update_team","save_team","delete_team","update_subtask","st","delete_subtask","initialize","all","reloadSubtasks","reloadMastertasks","loadMastertasks","loadEmployees","loadTeams","loadProjects","loadUnscheduledSubtasks","loadOngoingSubtasks","sort","a","b","isInitialized","tmStore","grow","row","column","_hoisted_27","lang","_component_vuecal_header","views","weekDaysInHeader","heading","view","_Transition","appear","_component_all_day_bar","titleEditable","contenteditable","onBlur","vuecal__flex","allDay","cell","week","wrap","_component_weekdays_headings","unscheduledTime","el","_component_vuecal_cell","selectCell","goNarrower","_hoisted_18","noEvent","_hoisted_22","formatTime","endTimeMinutes","daysCount","segments","formattedDate","isFirstDay","_hoisted_24","day","_hoisted_26","now","todayDate","todayF","self","_dateObject","_timeObject","DateUtils","texts","noPrototypes","_texts","prototype","addDays","_initDatePrototypes","days","subtractDays","addHours","subtractHours","addMinutes","subtractMinutes","getWeek","isToday","isLeapYear","removePrototypes","updateTexts","_todayFormatted","getDate","getFullYear","getMonth","valueOf","setDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","year","getPreviousFirstDayOfWeek","weekStartsOnSunday","prevFirstDayOfWeek","dayModifier","getDay","stringToDate","countDays","timezoneDiffMs","getTimezoneOffset","datesInSameTimeStep","date1","date2","timeStep","abs","getTime","formatDateLite","dateObj","YYYY","_hydrateDateObject","YY","M","MM","MMM","MMMM","MMMMG","D","DD","S","dd","ddd","dddd","HH","_hydrateTimeObject","H","hh","h","am","AM","mm","contents","result","round","shouldRound","getSeconds","formatTimeLite","timeObj","formatted","_nth","dayNumber","months","monthsGenitive","weekDays","substr","floor","pm","minutesInADay","CellUtils","vuecal","force","_vuecal","clickToNavigate","switchToNarrowerView","dblclickToNavigate","domEvents","dblTapACell","taps","timeout","left","top","cellsEl","getBoundingClientRect","clientX","clientY","touches","x","y","cursorCoords","timeCellHeight","timeFrom","getPosition","max","defaultEventDuration","ud","_cellOverlaps","_comparisonArray","EventUtils","dateUtils","_eid","startTimeMinutes","background","deleting","resizable","resizing","draggable","dragging","draggingStatic","focused","createAnEvent","dateTime","eventOptions","dateToMinutes","eventDefaults","_","uid","eventIdIncrement","onEventCreate","deleteAnEvent","startDateF","endDateF","mutableEvents","addEventsToView","emitWithEvent","cleanupEvent","originalEvent","addEventSegment","isLastDay","previousSegment","removeEventSegment","segmentsCount","createEventSegments","viewStartDate","viewEndDate","viewStartTimestamp","viewEndTimestamp","eventStartAtMidnight","eventStart","eventEnd","repeatedEventStartFound","until","createSegment","nextMidnight","tmpDate","tmpDateFormatted","occurrences","checkCellOverlappingEvents","cellEvents","shift","overlaps","position","sameOverlaps","e2","eventIsInRange","eventInRange","eventSameOverlap","eventSameRange","eventsInSameTimeStep","overlapsPerTimeStep","pos1","pos2","Set","longestStreak","item","overlapsRow","id2","findIndex","getOverlapsStreak","cellOverlaps","streak","removeFromStreak","overlapsWithoutSelf","id3","startTimestamp","endTimestamp","event1","event2","isSameStart","isSameEnd","role","hideViewSelector","_createCommentVNode","_renderList","v","enabled","_normalizeClass","highlightedControl","onDragenter","drag","viewSelectorDragEnter","onDragleave","viewSelectorDragLeave","hideTitleBar","transitions","_resolveDynamicComponent","startDate","todayButton","_createSlots","$slots","fn","_createTextVNode","hide","today","clickable","toLocaleDateString","_normalizeStyle","onDblclick","dayOfMonth","full","small","xsmall","hasSplits","stickySplitLabels","daySplits","inject","transitionDirection","Function","DOMEvent","selectedDate","utils","cleanupHeading","initials","onTimelineScroll","viewPortOffset","headings","todayFound","startWeekOnSunday","short","cellWidth","reduce","total","weekdayCellStyles","hideWeekdays","cellHeadingsClickable","WeekdaysHeadings","editEvents","viewProps","goToToday","updateSelectedDate","switchToBroaderView","broaderView","switchView","get","direction","enabledViews","showDaySplits","minSplitWidth","dnd","isWeekView","isMonthView","minTimestamp","maxTimestamp","_TransitionGroup","tag","tabindex","onKeypress","_withKeys","onTouchstart","onMousedown","onContextmenu","cellContextmenu","cellDragEnter","onDragover","cellDragOver","cellDragLeave","onDrop","cellDragDrop","showTimeInCells","timeCells","block","eventsOnMonthView","j","_component_event","allOverlaps","overlapsStreak","cellOverlapsStreak","eventId","onMouseenter","onMouseleave","_withModifiers","onMouseup","onTouchend","onTouchmove","onDragstart","onDragend","delete","deleteEvent","cellFormattedDate","eventPosition","touch","dragThreshold","startX","startY","dragged","onMouseDown","clickHoldAnEvent","focusAnEvent","resizeAnEvent","dragAnEvent","focusEvent","timeoutId","onMouseUp","mousedUp","onMouseEnter","preventDefault","onMouseLeave","onTouchMove","onEventClick","onTouchStart","onEnterKeypress","onDblClick","onEventDblclick","onDragStart","eventDragStart","onDragEnd","eventDragEnd","onResizeHandleMouseDown","assign","segment","originalEnd","originalEndTimeMinutes","touchDeleteEvent","cancelDeleteEvent","focusedEvent","cancelDelete","eventDimensions","minutesFromTop","timeTo","bottom","eventStyles","zIdnex","master_task_color","isArray","sameOverlapsLength","parentNotSameOverlaps","minEventWidth","eventClasses","is_blocker","resize","Event","cellSplits","timeAtCursor","highlighted","highlightedSplit","getSplitAtCursor","targetIsSplit","classList","contains","findAncestor","attributes","splitClasses","isWeekend","eventsCount","splitsCount","isDOMElementAnEvent","onCellkeyPressEnter","isSelected","onCellFocus","keyPressEnterCell","isDisabled","onCellMouseDown","clickHoldACell","cancelClickEventCreation","eventCreated","minutesAtCursor","mouseDownOnEvent","create","setUpEventCreation","startCursorY","dragToCreateEvent","dragCreateAnEvent","snapToTime","timeMinutes","plusHalfSnapTime","cellClickHold","setUpCellHoldTimer","cellId","onCellTouchStart","onCellClick","offsetY","dateFrom","dateTo","isTeamCalendar","onCellDblClick","onCellContextMenu","stopPropagation","nowInMinutes","isBeforeMinDate","endDate","isAfterMaxDate","disableDays","isYearsOrYearView","selected","isWeekOrDayView","specialHours","timeScale","cellStart","cellEnd","eventsCountOnYearView","outOfScopeEvents","showAllDayEvents","singleDayInRange","multipleDayInRange","recurrMultDayInRange","splits","cellClasses","current","outOfScope","cellStyles","timelineVisible","todaysTimePosition","Cell","cells","shortEvents","cellOrSplitMinWidth","hasCellOrSplitWidth","minCellWidth","textsDefaults","fill","weekDaysShort","years","month","createEvent","dateFormat","validViews","Header","AllDayBar","provide","previous","activeView","scrollToHour","allDayBarHeight","disableDatePrototypes","disableViews","dragToCreateThreshold","editableEvents","hideBody","hideWeekends","maxDate","minDate","resizeX","showWeekNumbers","splitDays","timeFormat","twelveHour","watchRealTime","ready","firstCellDate","lastCellDate","timeTickerIds","startCell","endCell","loadDragAndDrop","DragAndDrop","validateView","fromViewSelector","viewDateBeforeChange","oldView","setSeconds","daysToAdd","daysToSubtract","weekDaysCount","viewDate","scrollTop","previousNext","modifier","viewId","weekDay","weekDayIndex","isDayHidden","daysWithIndex","dayToShow","daysFromDate","reverse","ue","filteredEvents","Class","parentElement","onMouseMove","eventResizing","eventDragCreation","isClickHoldingEvent","wasResizing","hasResized","dragCreatedEvent","dragCreateStarted","mouseUpOnEvent","eventClicked","mutableEvent","cleanEvent","oldDate","unfocusEvent","clearTimeout","eventClickHandler","onKeyUp","newEndTimeMins","offsetWidth","childElementCount","newEnd","newDaysCount","lastSegmentFormattedDate","dragFromBottom","onEventTitleBlur","oldTitle","updateMutableEvents","multipleDays","discardProps","prop","eventName","getWeekNumber","weekFromFirstCell","firstCellWeekNumber","firstCellDateWeekNumber","currentWeekNumber","timeTick","updateDateTexts","alignWithScrollbar","cellOrSplitHasEvents","loadLocale","currentView","hasTouch","hasEventClickHandler","passive","oncontextmenu","viewportTimelineOffset","removeEventListener","hasTimeColumn","isShortMonthView","TimeFormat","hasShortEvents","minWidth","visibleDaysCount","allDayBar","isNaN","viewCells","unshift","pop","specialDayHours","viewTitle","lastDayOfWeek","y1","m1","formattedMonthYear","y2","m2","fromYear","apply","firstDayOfWeek","dayOfWeek","isDayView","cssClasses","isYearsView","isYearView","oldEvents","newVal","VueCal","createApp","App","axiosCustom","w","IonicVue","vuetify","vueCal","mount","$i18n","errors","$message","customFilter","normalizedItem","cleanedItem","cleanedInput","enrichEmployees","formatDateTimeForBackend","isBefore","compareTo","webpackAsyncContext","ids","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","mode","ns","def","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"js/index.53125774.js","mappings":"qCAAA,SAASA,EAAyBC,GAGjC,OAAOC,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBL,EAAM,KAEjD,MADAI,EAAEE,KAAO,mBACHF,CACP,GACD,CACAL,EAAyBQ,KAAO,WAAa,MAAO,EAAI,EACxDR,EAAyBG,QAAUH,EACnCA,EAAyBS,GAAK,MAC9BC,EAAOC,QAAUX,C,wBCZjB,IAAIY,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,aAAc,KACd,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,KACZ,cAAe,KACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,OAIf,SAASC,EAAeZ,GACvB,IAAIQ,EAAKK,EAAsBb,GAC/B,OAAOc,EAAoBN,EAC5B,CACA,SAASK,EAAsBb,GAC9B,IAAIc,EAAoBC,EAAEJ,EAAKX,GAAM,CACpC,IAAII,EAAI,IAAIC,MAAM,uBAAyBL,EAAM,KAEjD,MADAI,EAAEE,KAAO,mBACHF,CACP,CACA,OAAOO,EAAIX,EACZ,CACAY,EAAeL,KAAO,WACrB,OAAOS,OAAOT,KAAKI,EACpB,EACAC,EAAeV,QAAUW,EACzBJ,EAAOC,QAAUE,EACjBA,EAAeJ,GAAK,K,iGCnSbS,eAAeC,IACrB,MAAMC,QAAsB,qCAE5BA,EAAcC,KAAK,CAClBC,OAAQ,CACPC,SAAU,CAAC,iDAGd,C,eCJA,G,UAAeC,EAAAA,EAAAA,O,WCFT,SAAUC,IACZ,MAAMC,EAAOC,EAAAA,GAAAA,UAAa,gBAE1B,MAAMC,UAA4BF,EAC9BG,gBAAgBC,GACZ,MAAMC,EAAeC,MAAMC,SAASH,GAEpC,IAAKC,GAAiC,gBAAjBA,EAAgC,OAAOA,EAE5D,MAAMG,EAAqB,CAAC,OAAQ,QAAS,SAAU,MAAO,QAAS,OAAQ,MAAO,OAChFC,EAAyBD,EAAmBE,MAAK,SAASC,GAChE,OAAON,EAAaO,WAAWD,EAC/B,IAEA,OAAIF,EAA+BJ,EAE5B,WAAWA,GACtB,EAGJJ,EAAAA,GAAAA,SAAeC,GAAqB,EACxC,C,koBCtBCW,EAAAA,EAAAA,IAIQC,EAAAA,EAAAA,KAAAA,C,kBAHP,IAES,EAFTD,EAAAA,EAAAA,IAESE,EAAAA,EAAAA,KAAAA,C,kBADR,IAAe,EAAfF,EAAAA,EAAAA,IAAeG,M,gBAIjBH,EAAAA,EAAAA,IAAmEI,EAAAA,CAAjDC,IAAI,eAAqBC,SAAQC,EAAAA,c,sBACnDP,EAAAA,EAAAA,IAA6EQ,EAAAA,CAAtDH,IAAI,sBAA0BC,SAAQC,EAAAA,c,sBAE7DP,EAAAA,EAAAA,IAA8ES,EAAAA,CAA5DJ,IAAI,eAAqBK,kBAAmBH,EAAAA,c,+BAC9DP,EAAAA,EAAAA,IAA0FW,EAAAA,CAAnEN,IAAI,sBAA0BO,mBAAoBL,EAAAA,e,gCACzEP,EAAAA,EAAAA,IAAoGa,EAAAA,CAAxER,IAAI,2BAAiCK,kBAAmBH,EAAAA,c,+BACpFP,EAAAA,EAAAA,IAAiGc,EAAAA,CAAxET,IAAI,yBAA4BU,mBAAoBR,EAAAA,kB,gCAC7EP,EAAAA,EAAAA,IAA6GgB,EAAAA,CAAjFX,IAAI,6BAA+BY,sBAAuBV,EAAAA,qB,mCACtFP,EAAAA,EAAAA,IAA2FkB,EAAAA,CAAlEb,IAAI,wBAA2BK,kBAAmBH,EAAAA,c,+BAC3EP,EAAAA,EAAAA,IAA4GmB,EAAAA,CAA9Ed,IAAI,+BAAgCe,mBAAoBb,EAAAA,oB,gCACtFP,EAAAA,EAAAA,IAAuDqB,EAAAA,CAA9BhB,IAAI,yBAAuB,WACpDL,EAAAA,EAAAA,IAA4CsB,EAAAA,CAAxBjB,IAAI,mBAAiB,WAEzCL,EAAAA,EAAAA,IAA+FuB,EAAAA,CAAxElB,IAAI,sBAA0Be,mBAAoBb,EAAAA,oB,gCACzEP,EAAAA,EAAAA,IAA+DwB,EAAAA,CAAnCnB,IAAI,8BAA4B,WAC5DL,EAAAA,EAAAA,IAAgDyB,EAAAA,CAA1BpB,IAAI,qBAAmB,c,yFCnBtCqB,MAAM,6C,0CAFbC,EAAAA,EAAAA,IAcWC,EAAAA,EAAAA,C,WAdQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAYS,EAZT9B,EAAAA,EAAAA,IAYS+B,EAAAA,EAAAA,KAAAA,C,kBAXR,IAKM,EALNC,EAAAA,EAAAA,GAKM,MALNC,EAKM,EAJLD,EAAAA,EAAAA,GAEK,oBAFD,wCAC+B,OAAsB,kBAAhBH,EAAAA,KAAKK,MAAI,YAAO,SAEzDlC,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAA0G,EAA1G1B,EAAAA,EAAAA,IAA0GwC,EAAAA,EAAAA,CAAnGd,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,eAAE7B,EAAAA,cAAemC,SAAUb,EAAAA,Y,mBAAY,IAAG,UAAH,U,sBAC/F7B,EAAAA,EAAAA,IAAoFwC,EAAAA,EAAAA,CAA7Ed,MAAM,8BAA+BU,QAAK,yBAAO7B,EAAAA,cAAU,Y,mBAAI,IAAM,UAAN,a,kDCZ1E,OACCoC,UACCC,OAAOC,iBAAiB,UAAWC,KAAKC,cACzC,EAEAC,QAAS,CACRD,cAAcE,GAES,KAAlBA,EAAMC,UAAgBJ,KAAKK,SAAU,EAC1C,IDYF,GACCC,OAAQ,CAAEC,GACVC,MAAO,CAAC,UAERC,OACC,MAAO,CACNJ,SAAS,EACTK,KAAM,KACNC,YAAY,EAEd,EAEAT,QAAS,CACRrE,iBAAgB,KAAC6E,IAChBV,KAAKU,KAAOA,EACZV,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEAxE,mBACC,IAAImE,KAAKW,WAAT,CAEAX,KAAKW,YAAa,EAClB,UACOX,KAAKa,OAAOC,YAAa,YAAWd,KAAKU,KAAKtF,MACpD4E,KAAKK,SAAU,EACfL,KAAKe,MAAM,SAAUf,KAAKU,MAC1BV,KAAKgB,OAAOC,OAAO,iBAAkBjB,KAAKU,KAK3C,CAJE,MAAOQ,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDlB,KAAKW,YAAa,CACnB,CAZ2B,CAa5B,I,WEpDF,MAAMU,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,Q,+BCHSzC,MAAM,0D,yEAHdC,EAAAA,EAAAA,IAkCWC,EAAAA,EAAAA,C,WAlCQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAM,aAAW,MAAMuC,OAAO,QAAQtC,WAAA,I,mBAC3E,IAgCa,EAhCb9B,EAAAA,EAAAA,IAgCaqE,EAAAA,CAhCAC,QAASzC,EAAAA,KAAMH,MAAM,S,mBACjC,IA8BS,EA9BT1B,EAAAA,EAAAA,IA8BS+B,EAAAA,EAAAA,CA9BDqC,OAAO,OAAO1C,MAAM,sB,mBAC3B,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,EAGM,EAFLD,EAAAA,EAAAA,GAAuD,mBAAhDH,EAAAA,KAAK3D,GAAK,cAAgB,gBAAnB,IACd8B,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAqBiBuC,EAAAA,EAAAA,CArBDb,MAAM,oCAAkC,C,kBACvD,IAKsC,EALtC1B,EAAAA,EAAAA,IAKsCuE,EAAAA,GAAAA,CALxB7C,OAAK,SAAC,cAAa,CAAAsC,MACfnC,EAAAA,GAAG2B,KAAKtB,KAAKsC,QAAQC,UADLC,MAAM,aAAajC,QAAQ,OACXkC,KAAc9C,EAAAA,GAAG2B,KAAKtB,KAAKsC,QAAkB3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAG2B,KAAKtB,KAAKsC,SAAO,K,WAI9H3C,EAAAA,KAAKK,K,qCAALL,EAAAA,KAAKK,KAAI,I,qDAErB2C,EAAAA,EAAAA,IAOMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAPkDjD,EAAAA,KAAKkD,WAAS,CAAlCC,EAAUC,M,WAA9CJ,EAAAA,EAAAA,IAOM,OAPDnD,MAAM,iBAA8DwD,IAAKF,EAAS9G,I,EACtF8B,EAAAA,EAAAA,IAEeuE,EAAAA,GAAAA,CAFD7C,MAAM,cAAcgB,SAAA,GAASgC,MAAM,aAAajC,QAAQ,O,WAC5DZ,EAAAA,KAAKkD,UAAUE,GAAOE,U,yBAAtBtD,EAAAA,KAAKkD,UAAUE,GAAOE,UAAS,G,8CAGzCnF,EAAAA,EAAAA,IACuBmC,EAAAA,EAAAA,CADfT,MAAM,eAAgBU,SAAK,YAAOP,EAAAA,KAAKkD,UAAUK,OAAOH,EAAO,IAAF,UAAM5C,KAAK,YAC/EC,KAAK,S,gCAGPtC,EAAAA,EAAAA,IAGsBqF,EAAAA,EAAAA,CAHL,gBAAeC,EAAAA,aAAe,aAAW,E,WAAezD,EAAAA,e,qCAAAA,EAAAA,eAAc,GAAE6C,MAAM,YAC7FhD,OAAK,UAAAsC,MAAWnC,EAAAA,GAAG2B,KAAKuB,UAAUP,QAAQC,QACiB,gBADNc,MAAOhF,EAAAA,iBAC7D,aAAW,YAAY,aAAW,KAAKkC,QAAQ,OAA2B+C,UAAA,GAC1EnF,IAAI,gB,iEAGNL,EAAAA,EAAAA,IAAkGwC,EAAAA,EAAAA,CAA3Fd,MAAM,uBAAwBU,QAAK,eAAE7B,EAAAA,S,mBAAQ,IAAsC,mBAAnCsB,EAAAA,KAAK3D,GAAK,UAAY,YAAf,M,qIAelE,MAAMuH,EAAcC,GAAUA,EAAMjB,OAEpC,OACCrB,OAAQ,CAACuC,EAAAA,EAAmBtC,GAC5BC,MAAO,CAAC,QAAS,UAEjBC,OACC,MAAO,CACNJ,SAAS,EACTyC,IAAIC,EAAAA,EAAAA,MACJC,WAAU,IACVC,eAAgB,KAChBvC,KAAM,KAER,EAEAwC,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CACnB,sBAGDC,mBACC,MAAMC,EAAuBrD,KAAKU,KAAKuB,UAAU1G,KAC/C2G,GAAaA,EAAS9G,KAGxB,OAAO4E,KAAKsD,kBAAkBC,QAAOrB,IAAamB,EAAqBG,SAAStB,EAAS9G,KAC1F,GAGDqI,cACC,MAAO,CACN/C,KAAM,CACLtB,KAAM,CAAEsE,SAAQA,EAAAA,IAChBzB,UAAW,CAAEU,eAGhB,EAEAzC,QAAS,CACRrE,iBAAgB,KAAE6E,EAAO,OACxBV,KAAKK,SAAU,EACfL,KAAKU,KAAO,KACZV,KAAK2D,WAAU,IAAM3D,KAAK8C,GAAGc,WAE7B,IACC,GAAIlD,GAAMtF,GAAI,CACb,MAAMyI,QAAU7D,KAAKa,OAAOiD,cAAe,YAAWpD,EAAKtF,MAC3D4E,KAAKU,KAAOV,KAAK+D,YAAYF,EAC9B,MACC7D,KAAKU,KAAO,CAAEuB,UAAW,GAI3B,CAFE,MAAOf,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEAN,aACCZ,KAAKK,SAAU,EACfL,KAAKe,MAAM,QAASf,KAAKU,KAC1B,EAEA7E,aACC,SAAYmE,KAAK8C,GAAGkB,YAEpB,IACC,GAAIhE,KAAKU,KAAKtF,GAAI,CACjB,MAAM,KAAEsF,SAAeV,KAAKa,OAAOoD,SAAU,YAAWjE,KAAKU,KAAKtF,KAAM4E,KAAKU,MAEvEwD,QAAyBlE,KAAKa,OAAOiD,cAAe,YAAWpD,EAAKtF,MAC1E4E,KAAKgB,OAAOC,OAAO,iBAAkBiD,EACtC,KAAO,CACN,MAAM,KAAExD,SAAeV,KAAKa,OAAOsD,UAAW,WAAWnE,KAAKU,MAExDwD,QAAyBlE,KAAKa,OAAOiD,cAAe,YAAWpD,EAAKtF,MAC1E4E,KAAKgB,OAAOC,OAAO,eAAgBiD,EACpC,CAEAlE,KAAKY,YAGN,CAFE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEA6C,YAAYrD,GAEX,OADAA,EAAKuB,UAAYmC,EAAAA,EAAAA,gBAAwB1D,EAAKuB,WACvCvB,CACR,GAGD2D,MAAO,CACNpB,eAAeqB,GACd,IAAKA,EACJ,OAED,MAAMpC,EAAWlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAMkJ,IACxEtE,KAAKU,KAAKuB,UAAUuC,KAAKtC,GACzBlC,KAAKiD,eAAiB,KACtBjD,KAAKyE,MAAMC,aAAaC,OAAS,EAClC,IC7IF,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,Q,SCJQ/F,MAAM,6C,0CAFbC,EAAAA,EAAAA,IAiBWC,EAAAA,EAAAA,C,WAjBQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAeS,EAfT9B,EAAAA,EAAAA,IAeS+B,EAAAA,EAAAA,KAAAA,C,kBAdR,IASM,EATNC,EAAAA,EAAAA,GASM,MATNC,EASM,EARLD,EAAAA,EAAAA,GAAgG,oBAA5F,0DAAqD,OAAiC,kBAA3BH,EAAAA,QAAQ6F,cAAY,YAAO,QAE1F1H,EAAAA,EAAAA,IAKUmC,EAAAA,EAAAA,CAJRC,QAAK,yBAAO7B,EAAAA,cAAU,WACvB8B,KAAK,YACLC,KAAK,QACLZ,MAAM,aAGR1B,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAA0G,EAA1G1B,EAAAA,EAAAA,IAA0GwC,EAAAA,EAAAA,CAAnGd,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,eAAE7B,EAAAA,cAAemC,SAAUb,EAAAA,Y,mBAAY,IAAG,UAAH,U,sBAC/F7B,EAAAA,EAAAA,IAAoFwC,EAAAA,EAAAA,CAA7Ed,MAAM,8BAA+BU,QAAK,yBAAO7B,EAAAA,cAAU,Y,mBAAI,IAAM,UAAN,a,kDAS1E,OACC6C,OAAQ,CAAEC,GACVC,MAAO,CAAC,sBAERC,OACC,MAAO,CACNJ,SAAS,EACTwE,QAAS,KACTlE,YAAY,EAEd,EAEAT,QAAS,CACRrE,iBAAgB,QAAEgJ,IACjB7E,KAAK6E,QAAUA,EACf7E,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEAxE,mBACC,IAAImE,KAAKW,WAAT,CAEAX,KAAKW,YAAa,EAElB,UACOX,KAAKa,OAAOC,YAAa,eAAcd,KAAK6E,QAAQzJ,MAE1D4E,KAAKgB,OAAOC,OAAO,oBAAqBjB,KAAK6E,SAC7C7E,KAAKY,aACLZ,KAAKe,MAAM,qBAAsBf,KAAK6E,QAKvC,CAJE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDlB,KAAKW,YAAa,CACnB,CAd2B,CAe5B,ICzDF,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,Q,+DCJQ/B,MAAM,6C,UACVM,EAAAA,EAAAA,GAAiE,MAA7DN,MAAM,QAAO,+CAA2C,K,0CAH/DC,EAAAA,EAAAA,IAgBWC,EAAAA,EAAAA,C,WAhBQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAcS,EAdT9B,EAAAA,EAAAA,IAcS+B,EAAAA,EAAAA,KAAAA,C,kBAbR,IAQM,EARNC,EAAAA,EAAAA,GAQM,MARNC,EAQM,CAPL2F,GAEA5H,EAAAA,EAAAA,IAIUmC,EAAAA,EAAAA,CAHRC,QAAK,yBAAO7B,EAAAA,cAAU,WACvB8B,KAAK,YACLC,KAAK,c,aAGPuC,EAAAA,EAAAA,IAGMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAH4BjD,EAAAA,QAAQgG,YAAU,CAAvCC,EAAW7C,M,WAAxBJ,EAAAA,EAAAA,IAGM,OAHiDK,IAAK4C,EAAU5J,GAAIwD,MAAM,gD,EAC/EM,EAAAA,EAAAA,GAAqL,KAAlLN,OAAK,SAAC,0BAAyB,kBAA4BoG,EAAUC,iB,QAAiBlG,EAAAA,QAAQmG,eAAeF,EAAUG,QAAS,OAAG,QAAGpG,EAAAA,QAAQmG,eAAeF,EAAUI,MAAG,IAC7KlI,EAAAA,EAAAA,IAA+LmC,EAAAA,EAAAA,CAAtLC,SAAK,YAAOP,EAAAA,QAAQ3D,GAAKqC,EAAAA,gBAAgBuH,GAAavH,EAAAA,yBAAyB0E,IAAK,UAAGvD,MAAM,wDAAwDW,KAAK,YAAYC,KAAK,U,kEAUxL,OACCc,OAAQ,CAAEC,GACVC,MAAO,CAAC,qBAERC,OACC,MAAO,CACNJ,SAAS,EACTwE,QAAS,KACTlE,YAAY,EACZyD,QAAOA,EAAAA,EAET,EAEAlE,QAAS,CACRrE,iBAAgB,QAAEgJ,IACjB7E,KAAK6E,QAAUA,EACf7E,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEAxE,uBAAsB,GAAET,IACvB,MAAMyJ,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UAC/CA,EAAQE,WAAaF,EAAQE,WAAWxB,QAAOyB,GAAaA,EAAU5J,IAAMA,IACzEyJ,EAAQW,WAAUX,EAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCS,EAAQW,WAEjFxF,KAAKyF,QAAQZ,EACd,EAEAa,yBAAyBC,GACxB3F,KAAKe,MAAM,mBACZ,EAEAlF,cAAc4E,GACb,IACC,MAAMmF,EAAanF,EAAKmF,WAAWrK,KAAKsK,WAChCA,EAAUC,cACVD,MAGF,QAAEhB,SAAkB7E,KAAKa,OAAOoD,SAAU,eAAcxD,EAAKrF,KAAM,IAAIqF,EAAMmF,eAEnF5F,KAAKY,aACLZ,KAAK+F,QAAQC,KAAK,oBAAqBnB,EAGxC,CAFE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMA,EAAM+E,SAAW/E,EACpC,CACD,IClEF,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,S,iECLStC,MAAM,0D,IAYLA,MAAM,mB,YAuBRM,EAAAA,EAAAA,GAA+I,QAAzIgH,EAAE,iIAA+H,W,YACvIhH,EAAAA,EAAAA,GAA8I,QAAxIgH,EAAE,gIAA8H,W,IADtIC,GACAC,I,2BAcAlH,EAAAA,EAAAA,GAA+I,QAAzIgH,EAAE,iIAA+H,W,YACvIhH,EAAAA,EAAAA,GAA8I,QAAxIgH,EAAE,gIAA8H,W,IADtIG,GACAC,I,UAeG1H,MAAM,oB,IAELA,MAAM,oB,IAQPA,MAAM,8B,IAMPA,MAAM,qB,IAYPA,MAAM,6C,IAQNA,MAAM,6E,IAELA,MAAM,wB,0BAONA,MAAM,S,IAULA,MAAM,0C,uNA5HhBC,EAAAA,EAAAA,IAqIWC,EAAAA,EAAAA,C,WArIQC,EAAAA,Q,uCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAM,aAAW,MAAMuC,OAAO,QAAQtC,WAAA,I,mBAC3E,IAmIa,EAnIb9B,EAAAA,EAAAA,IAmIaqE,EAAAA,CAnIAC,QAASzC,EAAAA,QAASH,MAAM,S,mBACpC,IA4FS,CA5FKG,EAAAA,WAAQ,WAAtBF,EAAAA,EAAAA,IA4FSI,EAAAA,EAAAA,C,MA5FeqC,OAAO,OAAO1C,MAAM,gC,mBAC3C,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLD,EAAAA,EAAAA,GAAqE,mBAA9DH,EAAAA,SAAS3D,GAAK,mBAAqB,qBAAxB,IAClB8B,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAkFiBuC,EAAAA,EAAAA,CAlFDb,MAAM,oCAAkC,C,kBACvD,IAAiL,EAAjL1B,EAAAA,EAAAA,IAAiLuE,EAAAA,GAAAA,C,WAA1J1C,EAAAA,QAAQ6F,a,qCAAR7F,EAAAA,QAAQ6F,aAAY,GAAEhD,MAAM,eAAgBgB,MAAO7D,EAAAA,QAAQ6F,aAAe2B,QAAO/D,EAAAA,aAAc5D,MAAM,cAAce,QAAQ,OAAOC,SAAA,I,0CAEzJ1C,EAAAA,EAAAA,IAAwRqF,EAAAA,EAAAA,CAAvQ,gBAAeC,EAAAA,aAAe,aAAW,E,WAAezD,EAAAA,QAAQyH,e,qCAARzH,EAAAA,QAAQyH,eAAc,GAAE5E,MAAM,cAAehD,OAAK,UAAAsC,MAAWnC,EAAAA,GAAG8F,QAAQ2B,eAAe9E,QAAQC,QAAsF,gBAA3Ec,MAAOD,EAAAA,YAAa,aAAW,OAAO,aAAW,KAAK7C,QAAQ,OAA2B+C,UAAA,I,wDAE5QxF,EAAAA,EAAAA,IAAqIuE,EAAAA,GAAAA,C,WAA9G1C,EAAAA,QAAQ0H,M,qCAAR1H,EAAAA,QAAQ0H,MAAK,GAAGF,QAAO/D,EAAAA,aAAc5D,MAAM,cAAcgD,MAAM,iBAAiBjC,QAAQ,Q,kCAE/GT,EAAAA,EAAAA,GAKM,MALN4F,GAKM,EAHL5H,EAAAA,EAAAA,IAA6TwJ,EAAAA,C,WAAxS3H,EAAAA,QAAQyG,S,qCAARzG,EAAAA,QAAQyG,SAAQ,GAAGe,QAAO/D,EAAAA,YAAc,cAAY,EAAO,WAAQ,IAAMmE,KAAQ/H,OAAK,SAAC,mBAAkB,CAAAsC,MAAmHnC,EAAAA,GAAG8F,QAAQW,SAAS9D,SAASC,UAA/IiF,OAAO,aAAaC,OAAO,KAAK,cAAY,SAAS,cAAY,SAASC,YAAY,WAAoErD,YAAa1E,EAAAA,GAAG8F,QAAQW,U,mEAEjTtI,EAAAA,EAAAA,IAAwVuE,EAAAA,GAAAA,CAA1U7C,OAAK,SAAC,oBAAmB,CAAAsC,MAAsJnC,EAAAA,GAAG8F,QAAQkC,eAAerF,QAAQC,UAAvLhC,QAAQ,O,WAAgBZ,EAAAA,QAAQgI,e,qCAARhI,EAAAA,QAAQgI,eAAc,GAAEnF,MAAM,MAAM,oBAAkB,oBAAoBoF,KAAK,OAAQT,QAAO/D,EAAAA,aAA4EX,KAAM9C,EAAAA,GAAG8F,QAAQkC,eAAerF,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAG8F,QAAQkC,eAAerF,SAAW,M,kDAejU3C,EAAAA,QAAQ3D,KAAE,WAA1B2G,EAAAA,EAAAA,IAYWC,EAAAA,GAAAA,CAAAI,IAAAA,GAAA,EAXVlD,EAAAA,EAAAA,GAQM,OARDN,OAAK,SAAC,mBAAkB,cAAwBG,EAAAA,QAAQkI,gB,CACjDlI,EAAAA,QAAQkI,cAAW,WAA9BlF,EAAAA,EAAAA,IAIM,O,MAJ0BmF,QAAQ,MAAMC,MAAM,6BAA6BC,MAAM,KAAK9F,OAAO,KAAK+F,QAAQ,YAAYzI,MAAM,0CAA0C,YAAU,aACpLU,QAAK,0BAAUP,EAAAA,QAAQkI,YAAc,KAAMlI,EAAAA,QAAQmD,SAAW,IAAI,GAAP,e,sBAK7DhF,EAAAA,EAAAA,IAA4WqF,EAAAA,EAAAA,CAA3V,gBAAeC,EAAAA,aAAe,aAAW,E,WAAezD,EAAAA,QAAQkI,Y,sCAARlI,EAAAA,QAAQkI,YAAW,kBAAmMlI,EAAAA,oBAAoB,GAAMA,EAAAA,oBAAoB,GAAGmD,UAAW,EAAH,OAA1PN,MAAM,YAAaa,MAAOD,EAAAA,kBAAmB,aAAW,YAAY,aAAW,KAAK7C,QAAQ,OAAOf,OAAK,SAAC,cAAa,CAAAsC,MAAkBnC,EAAAA,oBAAoB,IAAImD,a,4DAG/PhF,EAAAA,EAAAA,IAAkUuE,EAAAA,GAAAA,C,WAA3S1C,EAAAA,QAAQuI,S,sCAARvI,EAAAA,QAAQuI,SAAQ,oBAA8MvI,EAAAA,oBAAoB,GAAMA,EAAAA,oBAAoB,GAAGuI,UAAW,EAAH,OAArQ1I,OAAK,SAAC,cAAa,CAAAsC,MAAoEnC,EAAAA,oBAAoB,IAAIuI,YAA3F3H,QAAQ,OAAOqH,KAAK,SAASpF,MAAM,eAAoE,oBAAkB,oBAAqB2E,QAAO/D,EAAAA,c,8DAIlNT,EAAAA,EAAAA,IAQMC,EAAAA,GAAAA,CAAAI,IAAAA,IAAA,QAR2BrD,EAAAA,QAAQkD,WAAS,CAArCC,EAAUC,M,WAAvBJ,EAAAA,EAAAA,IAQM,OAR+CK,IAAG,YAAcD,IAASvD,OAAK,SAAC,kCAAiC,cAAwBsD,EAAS9G,O,EACtJ8B,EAAAA,EAAAA,IAAqXqF,EAAAA,EAAAA,CAApW,gBAAeC,EAAAA,aAAe,aAAW,E,WAAeN,EAAS9G,G,0BAAT8G,EAAS9G,GAAE,KAA4M2D,EAAAA,oBAAoBoD,GAAUpD,EAAAA,oBAAoBoD,GAAOD,UAAW,EAAH,MAA3QN,MAAM,YAAaa,MAAOD,EAAAA,kBAAmB,aAAW,YAAY,aAAW,KAAK7C,QAAQ,OAAOf,OAAK,SAAC,mBAAkB,CAAAsC,MAAkBnC,EAAAA,oBAAoBoD,IAAQD,a,6EACpPA,EAAS9G,KAAE,WAAtB2G,EAAAA,EAAAA,IAIM,O,MAJkBmF,QAAQ,MAAMC,MAAM,6BAA6BC,MAAM,KAAK9F,OAAO,KAAK+F,QAAQ,YAAYzI,MAAM,0CAA0C,YAAU,aAC5KU,SAAK,YAAU4C,EAAS9G,GAAK,MAAH,c,2BAI5B8B,EAAAA,EAAAA,IAAqVuE,EAAAA,GAAAA,C,WAA9TS,EAASoF,S,0BAATpF,EAASoF,SAAQ,KAAwNvI,EAAAA,oBAAoBoD,GAAUpD,EAAAA,oBAAoBoD,GAAOmF,UAAW,EAAH,MAAvR1I,OAAK,SAAC,oBAAmB,CAAAsC,MAA0GnC,EAAAA,oBAAoBoD,IAAQmF,YAArI3H,QAAQ,OAAOqH,KAAK,SAASpF,MAAM,eAAe,oBAAkB,oBAA8E2E,QAAO/D,EAAAA,c,4EAY9MzD,EAAAA,QAAQ3D,KAIqF,aAK9G2G,EAAAA,EAAAA,IAMMC,EAAAA,GAAAA,CAAAI,IAAAA,IAAA,QANmCrD,EAAAA,QAAQgG,YAAU,CAAvCC,EAAW7C,M,WAA/BJ,EAAAA,EAAAA,IAMM,OANwDK,IAAKD,EAAOvD,MAAM,mB,EAC/E1B,EAAAA,EAAAA,IAA6OwJ,EAAAA,CAAhO,cAAa1B,EAAUG,MAAMoC,UAAU,EAAG,IAAKX,OAAO,aAAaC,OAAO,KAAK,cAAY,SAAS,cAAY,SAASC,YAAY,QAAS,cAAY,EAAO,sBAAoB,EAAOU,SAAA,GAAS5I,MAAM,oB,yBACxNM,EAAAA,EAAAA,GAGM,MAHNuI,GAGM,EAFLvK,EAAAA,EAAAA,IAAwHuE,EAAAA,GAAAA,CAAzGmB,MAAOoC,EAAUG,MAAMoC,UAAU,GAAI,IAAKP,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QAAQiC,MAAM,Y,mBAC3G1E,EAAAA,EAAAA,IAAoHuE,EAAAA,GAAAA,CAArGmB,MAAOoC,EAAUI,IAAImC,UAAU,GAAI,IAAKP,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QAAQiC,MAAM,U,iCAbhF,WAC1BG,EAAAA,EAAAA,IAKM,MALN2F,GAKM,gBAJL3F,EAAAA,EAAAA,IAAmRC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAAzOjD,EAAAA,YAAU,CAA/BiG,EAAW7C,M,WAAhCtD,EAAAA,EAAAA,IAAmR8I,EAAAA,CAA5NvF,IAAKD,EAAQyF,kBAAiBC,GAAOpK,EAAAA,gBAAgBoK,EAAK1F,GAAS2F,kBAAe,GAAErK,EAAAA,gBAAgB0E,GAAS4F,cAAavF,EAAAA,YAAcwC,UAAWA,EAAYgD,UAAW7F,EAAQ,EAAG8F,SAAA,G,WAAU1K,IAAG,aAAe4E,K,oGACxQjD,EAAAA,EAAAA,GAEM,MAFNgJ,GAEM,EADLhJ,EAAAA,EAAAA,GAAoH,UAA3GI,QAAK,iBAAEP,EAAAA,WAAWyF,KAAK,CAAD2D,KAAAA,KAAAC,eAAAA,KAAAC,aAAAA,SAA0D,4BAa5FnJ,EAAAA,EAAAA,GAEM,MAFNoJ,GAEM,EADLpL,EAAAA,EAAAA,IAAoLqL,EAAAA,CAAvKhL,IAAI,c,WAAuBwB,EAAAA,QAAQyJ,Y,uCAARzJ,EAAAA,QAAQyJ,YAAW,GAAE1B,YAAY,QAAQ2B,MAAM,OAAO7J,MAAM,mBAAoB8J,QAAK,iBAAE3J,EAAAA,QAAQyJ,YAAcG,EAAOC,WAAWC,Y,0BAGxK3L,EAAAA,EAAAA,IAAmH4L,EAAAA,CAAnGlK,MAAM,cAAemK,MAAOhK,EAAAA,QAAQgK,MAAQC,gBAAgBvL,EAAAA,cAAgB,YAAWsB,EAAAA,U,yDAGnEA,EAAAA,W,WACrCF,EAAAA,EAAAA,IAAqFa,EAAAA,EAAAA,C,MAA9Ed,MAAM,0BAAiCgB,SAAA,I,mBAAS,IAAsB,mBAAnB4C,EAAAA,GAAG,eAAD,M,SADf,WAA7C3D,EAAAA,EAAAA,IAAgHa,EAAAA,EAAAA,C,MAAzGd,MAAM,iBAAmCU,QAAK,iBAAE7B,EAAAA,S,mBAAQ,IAAyC,mBAAtCsB,EAAAA,QAAQ3D,GAAK,UAAY,YAAf,M,8BAI7EyD,EAAAA,EAAAA,IAmCSI,EAAAA,EAAAA,C,MAnCMqC,OAAO,OAAO1C,MAAM,gC,mBAClC,IAOM,EAPNM,EAAAA,EAAAA,GAOM,MAPN+J,GAOM,EANL/J,EAAAA,EAAAA,GAGM,aAFLA,EAAAA,EAAAA,GAA8C,kBAAxCH,EAAAA,QAAQmK,aAAatE,cAAY,IACvC1F,EAAAA,EAAAA,GAAwC,mBAAjCH,EAAAA,QAAQmK,aAAa9J,MAAI,MAGjClC,EAAAA,EAAAA,IAAuFmC,EAAAA,EAAAA,CAA9EC,QAAK,2BAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,QAAQZ,MAAM,YAExEM,EAAAA,EAAAA,GAMM,MANNiK,GAMM,EALLjK,EAAAA,EAAAA,GAA4B,mBAArBH,EAAAA,QAAQ0H,OAAK,IACpBvH,EAAAA,EAAAA,GAGM,MAHNkK,GAGM,EAFLlK,EAAAA,EAAAA,GAA+H,OAA1HN,MAAM,OAAQyK,IAAKC,EAAQ,OAAwCC,IAAI,cAAejK,QAAK,2BAAOP,EAAAA,UAAYA,EAAAA,UAAQ,Y,YAC3HG,EAAAA,EAAAA,GAAyI,OAApIN,MAAM,aAAcyK,IAAKC,EAAQ,OAAqCC,IAAI,aAAcjK,QAAK,2BAAO7B,EAAAA,oBAAoBsB,EAAAA,UAAO,Y,gBAItI7B,EAAAA,EAAAA,IAiBiBuC,EAAAA,EAAAA,CAjBDb,MAAM,oCAAkC,C,kBACvD,IAeM,EAfNM,EAAAA,EAAAA,GAeM,MAfNsK,GAeM,EAdLtM,EAAAA,EAAAA,IAAqGuM,EAAAA,CAA9E5E,QAAS9F,EAAAA,QAAU2K,aAAajM,EAAAA,WAAakM,gBAAgBlM,EAAAA,e,sDASpFyB,EAAAA,EAAAA,GAIM,MAJN0K,GAIM,CAH0B7K,EAAAA,QAAQkG,c,WACvCpG,EAAAA,EAAAA,IAAkGa,EAAAA,EAAAA,C,MAA3Fd,MAAM,mBAA2BU,QAAK,2BAAO7B,EAAAA,yBAAqB,Y,mBAAI,IAAa,UAAb,oB,SAD3B,WAAlDoB,EAAAA,EAAAA,IAA0Ga,EAAAA,EAAAA,C,MAAnGd,MAAM,WAAwCU,QAAK,2BAAO7B,EAAAA,yBAAqB,Y,mBAAI,IAAQ,UAAR,e,QAE1FP,EAAAA,EAAAA,IAA0EwC,EAAAA,EAAAA,CAAnEd,MAAM,mBAAoBU,QAAK,iBAAE7B,EAAAA,e,mBAAc,IAAY,UAAZ,mB,oHC/HpDmB,MAAM,6B,UASaA,MAAM,qC,UAaVA,MAAM,uB,sDAtB1BmD,EAAAA,EAAAA,IA0BM,MA1BN5C,GA0BM,EAzBRD,EAAAA,EAAAA,GAEE,SAFK8H,KAAK,OAAO6C,SAAA,GAASzK,KAAK,OAAOhE,GAAG,YAAYwD,MAAM,eAAekL,OAAO,IACjFC,SAAM,oBAAEtM,EAAAA,UAAAA,EAAAA,YAAAA,IAAUF,IAAI,c,WAGxBL,EAAAA,EAAAA,IAEQwC,EAAAA,EAAAA,CAFDd,MAAM,aAAcU,QAAK,eAAEkD,EAAAA,MAAMwH,WAAWC,U,mBAClD,IAA8D,EAA9D/M,EAAAA,EAAAA,IAA8DmC,EAAAA,EAAAA,CAAtDT,MAAM,OAAOW,KAAK,8B,QAAoC,c,MAGpDR,EAAAA,gBAAa,WAAxBgD,EAAAA,EAAAA,IAgBM,MAhBN+C,GAgBM,gBAfL/C,EAAAA,EAAAA,IAWMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAVUjD,EAAAA,eAARmL,K,WADRnI,EAAAA,EAAAA,IAWM,OATJK,IAAK8H,EAAK9K,KACXR,MAAM,Q,EAEN1B,EAAAA,EAAAA,IAKSiN,GAAAA,EAAAA,CALDvL,MAAM,QAAM,C,kBACnB,IAAe,mBAAZsL,EAAK9K,MAAO,IACf,YAAmDC,EAAAA,EAAAA,CAA3CT,MAAM,OAAOW,KAAK,mBAC1BL,EAAAA,EAAAA,GAAsD,mBAA/CgL,EAAK1K,KAAO,SAAe4K,QAAQ,IAAK,MAAG,IAClDlN,EAAAA,EAAAA,IAAiGmC,EAAAA,EAAAA,CAAzFG,KAAK,QAAQD,KAAK,YAAaD,SAAK,YAAO7B,EAAAA,OAAOsB,EAAAA,cAAcsL,QAAQH,KAAI,W,6CAG3EI,EAAAA,WAAQ,WAAnBvI,EAAAA,EAAAA,IAEM,MAFNoE,GAEM,CADMmE,EAAAA,WAAQ,WAAnBvI,EAAAA,EAAAA,IAA0G,O,MAArFnD,MAAM,aAAcyK,IAAKC,EAAQ,OAAmCC,IAAI,c,oEAOjG,QACCvD,KAAM,CAAC,kBAEJuE,MAAO,CACTxB,MAAO,CACN/B,KAAMwD,MACNC,QAAS,IAAM,IAGhBC,SAAU,CACT1D,KAAM2D,QACNjH,UAAU,IAIZjD,OACC,MAAO,CACNmK,cAAe,GAEjB,EAEAC,UACC7K,KAAK4K,cAAgB5K,KAAK+I,KAC3B,EAEG7I,QAAS,CACL6J,WACL,MAAMhB,EAAQ,IAAI/I,KAAKyE,MAAMuF,WAAWjB,OAClC+B,EAAU,SACVC,EAAiBhC,EAAMxF,QAAO2G,GAAQA,EAAK1K,KAAOsL,IACpDC,EAAepJ,OAAS,EAC5B3B,KAAKmB,OAAOD,MAAM,mDAIlBlB,KAAK4K,cAAgB,IAAI5K,KAAK4K,iBAAkB7B,GAChD/I,KAAKe,MAAM,iBAAkBf,KAAK4K,eAElC5K,KAAKyE,MAAMuF,WAAWpH,MAAQ,GACzB,EAENoI,OAAO7I,GACNnC,KAAK4K,cAActI,OAAOH,EAAO,EAClC,ICnEF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,U,8CCLSvD,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA2B,KAAxBN,MAAM,QAAO,WAAO,G,IAOnBA,MAAM,4B,IAEVM,EAAAA,EAAAA,GAAoD,KAAjDN,MAAM,2BAA0B,iBAAa,G,IAc7CA,MAAM,6C,IACVM,EAAAA,EAAAA,GAAqB,UAAjB,gBAAY,G,IAeZN,MAAM,6C,IACNA,MAAM,Y,IAA+DM,EAAAA,EAAAA,GAAI,mB,IAAIN,MAAM,c,8FA7C1F1B,EAAAA,EAAAA,IAwBQ+N,GAAAA,EAAAA,CAxBD,iBAAU,C,kBAChB,IAOQ,EAPR/N,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAuDmC,EAAAA,EAAAA,CAA/CE,KAAK,oBAAoBC,KAAK,UACtCsF,Q,gBAKH5H,EAAAA,EAAAA,IAaQgO,GAAAA,EAAAA,CAbDC,KAAK,KAAG,C,kBACd,IAWU,EAXVjO,EAAAA,EAAAA,IAWUkO,GAAAA,EAAAA,CAXDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNiH,GAGM,EAFLjJ,EAAAA,EAAAA,IAAuGmC,EAAAA,EAAAA,CAA9FC,QAAK,eAAEP,EAAAA,WAAY,GAAMH,MAAM,+BAA+BW,KAAK,WAAWC,KAAK,WAC5F4G,OAAoD,aAGrDrE,EAAAA,EAAAA,IAIMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAJ4BsI,EAAAA,YAAU,CAA/BtF,EAAW7C,M,WAAxBJ,EAAAA,EAAAA,IAIM,OAJyCK,IAAK4C,EAAU5J,GAAIwD,MAAM,4B,EACvE1B,EAAAA,EAAAA,IAA2KmC,EAAAA,EAAAA,CAAlKC,SAAK,YAAOgL,EAAAA,QAAQlP,GAAKqC,EAAAA,gBAAgBuH,GAAavH,EAAAA,yBAAyB0E,IAAK,UAAGvD,MAAM,oCAAoCW,KAAK,YAAYC,KAAK,U,qBAChKN,EAAAA,EAAAA,GAAqL,KAAlLN,OAAK,SAAC,0BAAyB,kBAA4BoG,EAAUC,iB,QAAiBlG,EAAAA,QAAQmG,eAAeF,EAAUG,QAAS,OAAG,QAAGpG,EAAAA,QAAQmG,eAAeF,EAAUI,MAAG,aAC7KlI,EAAAA,EAAAA,IAAwMmC,EAAAA,EAAAA,CAA3KC,SAAK,YAAO7B,EAAAA,0BAA0BuH,IAAS,UAAGpG,OAAK,SAAC,oCAAmC,WAAuBoG,EAAUC,eAAc1F,KAAK,YAAYC,KAAK,U,mCAA7K8K,EAAAA,QAAQlP,W,kCAM5B8B,EAAAA,EAAAA,IAeW4B,EAAAA,EAAAA,CAfD,YAAU,M,WAAeC,EAAAA,U,qCAAAA,EAAAA,UAAS,GAAEC,WAAA,I,mBAC7C,IAaS,EAbT9B,EAAAA,EAAAA,IAaS+B,EAAAA,EAAAA,KAAAA,C,kBAZR,IAGM,EAHNC,EAAAA,EAAAA,GAGM,MAHNmM,GAGM,CAFLC,IACApO,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAIiBuC,EAAAA,EAAAA,CAJDb,MAAM,0CAAwC,C,kBAC7D,IAAsP,EAAtP1B,EAAAA,EAAAA,IAAsPwJ,EAAAA,C,WAAjO3H,EAAAA,KAAKoJ,K,qCAALpJ,EAAAA,KAAKoJ,KAAI,GAAEvB,OAAO,aAAaC,OAAO,KAAK,cAAY,SAAS,cAAY,SAASC,YAAY,QAAS,cAAY,EAAO,sBAAoB,EAAOlI,OAAK,SAAC,mBAAkB,CAAAsC,MAAiBnC,EAAAA,GAAGwM,KAAKpD,KAAKzG,QAAQC,W,gCAC3OzE,EAAAA,EAAAA,IAAqSuE,EAAAA,GAAAA,C,WAA9Q1C,EAAAA,KAAKqJ,e,qCAALrJ,EAAAA,KAAKqJ,eAAc,GAAEpB,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QAASkC,KAAM9C,EAAAA,GAAGwM,KAAKnD,eAAe1G,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGwM,KAAKnD,eAAe1G,SAAW,KAAO9C,OAAK,UAAAsC,MAAWnC,EAAAA,GAAGwM,KAAKnD,eAAe1G,QAAQC,QAAgB,qBAAmBC,MAAM,Y,uCACxR1E,EAAAA,EAAAA,IAAuRuE,EAAAA,GAAAA,C,WAAhQ1C,EAAAA,KAAKsJ,a,qCAALtJ,EAAAA,KAAKsJ,aAAY,GAAGrB,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QAASkC,KAAM9C,EAAAA,GAAGwM,KAAKlD,aAAa3G,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGwM,KAAKlD,aAAa3G,SAAW,KAAO9C,OAAK,UAAAsC,MAAWnC,EAAAA,GAAGwM,KAAKlD,aAAa3G,QAAQC,QAAgB,gBAAcC,MAAM,U,gDAG7Q1E,EAAAA,EAAAA,IAAqEwC,EAAAA,EAAAA,CAA7DJ,QAAK,eAAE7B,EAAAA,UAAUmB,MAAM,uB,mBAAsB,IAAQ,UAAR,e,0CAGvD1B,EAAAA,EAAAA,IAiBW4B,EAAAA,EAAAA,C,WAjBQC,EAAAA,Q,uCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAeS,EAfT9B,EAAAA,EAAAA,IAeS+B,EAAAA,EAAAA,KAAAA,C,kBAdR,IASM,EATNC,EAAAA,EAAAA,GASM,MATNmH,GASM,EARLnH,EAAAA,EAAAA,GAAwJ,KAAxJoH,GAAwJ,UAAnI,wDAAoD,IAAI,WAACpH,EAAAA,EAAAA,GAAqE,IAArEwI,GAAsB,kBAAc,QAAG4C,EAAAA,SAAS1F,cAAe,KAAE,MAE/I1H,EAAAA,EAAAA,IAKUmC,EAAAA,EAAAA,CAJRC,QAAK,yBAAOP,EAAAA,SAAU,GAAH,WACpBQ,KAAK,YACLC,KAAK,QACLZ,MAAM,aAGR1B,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAA2F,EAA3F1B,EAAAA,EAAAA,IAA2FwC,EAAAA,EAAAA,CAApFd,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,yBAAO7B,EAAAA,iBAAa,Y,mBAAI,IAAG,UAAH,U,OAChFP,EAAAA,EAAAA,IAAuFwC,EAAAA,EAAAA,CAAhFd,MAAM,8BAA+BU,QAAK,yBAAOP,EAAAA,SAAU,GAAH,Y,mBAAU,IAAM,UAAN,a,kFAkB7E,IACCuB,OAAQ,CAAEC,GACVC,MAAO,CAAC,kBAERgL,WAAY,CACXC,WAAUA,GAAAA,GAGXlB,MAAO,CACNxF,WAAY,CACXiC,KAAMwD,MACN9G,UAAU,GAGXmB,QAAS,CACRmC,KAAMpL,OACN8H,UAAU,IAIZjD,OACC,MAAO,CACNqC,IAAIC,EAAAA,EAAAA,MACJC,WAAU,IACVoB,QAAO,IACPsH,WAAW,EACXrL,SAAS,EACTkL,KAAM,CACLpD,KAAM,KACNC,eAAgB,QAChBC,aAAc,SAGjB,EAEA5E,cACC,MAAO,CACN8H,KAAM,CACLpD,KAAM,CAAEzE,SAAQA,EAAAA,IAChB0E,eAAgB,CAAE1E,SAAQA,EAAAA,IAC1B2E,aAAc,CAAE3E,SAAQA,EAAAA,KAG3B,EAEAR,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,iBAGtBjD,QAAS,CACRrE,eACC,UAAWmE,KAAK8C,GAAGkB,YAClB,OAED,MAAMa,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UACzC8G,EAAwB3L,KAAKuL,KAAKnD,eAAewD,MAAM,KACvDC,EAAsB7L,KAAKuL,KAAKlD,aAAauD,MAAM,KACnDzG,EAAQ2G,KAAO9L,KAAKuL,KAAKpD,MAAM4D,MAAMC,SAASL,EAAqB,KAAKM,QAAQD,SAASL,EAAqB,KAAKO,cACnH9G,EAAQ0G,KAAO9L,KAAKuL,KAAKpD,MAAM4D,MAAMC,SAASH,EAAmB,KAAKI,QAAQD,SAASH,EAAmB,KAAKK,cAEhHrH,GAASE,aAAcF,EAAQE,WAAa,IAC5CF,GAASe,aAAcf,EAAQe,WAAa,IAC5Cf,GAASI,cAAeJ,EAAQI,YAAc,GAEnDJ,EAAQE,WAAWP,KAAK,CACvBY,IAAKhB,EAAAA,EAAAA,yBAAiCgB,GACtChK,GAAI,KACJ6J,YAAa,EACbE,MAAOf,EAAAA,EAAAA,yBAAiCe,KAGtCN,EAAQW,WAAUX,EAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCS,EAAQW,WAEjF,MAAM2G,EAAkBnM,KAAKmM,kBAEzBA,EACHnM,KAAKK,SAAU,EAEVwE,EAAQzJ,GAGZ4E,KAAKyF,QAAQZ,GAFb7E,KAAKe,MAAM,4BAA6B8D,EAK3C,EAEAhJ,sBACC,MAAMgJ,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UACzC8G,EAAwB3L,KAAKuL,KAAKnD,eAAewD,MAAM,KACvDC,EAAsB7L,KAAKuL,KAAKlD,aAAauD,MAAM,KACnDzG,EAAQ2G,KAAO9L,KAAKuL,KAAKpD,MAAM4D,MAAMC,SAASL,EAAqB,KAAKM,QAAQD,SAASL,EAAqB,KAAKO,cACnH9G,EAAQ0G,KAAO9L,KAAKuL,KAAKpD,MAAM4D,MAAMC,SAASH,EAAmB,KAAKI,QAAQD,SAASH,EAAmB,KAAKK,cAerH,GAbKrH,GAASE,aAAcF,EAAQE,WAAa,IAC5CF,GAASe,aAAcf,EAAQe,WAAa,IAC5Cf,GAASI,cAAeJ,EAAQI,YAAc,GAEnDJ,EAAQE,WAAWP,KAAK,CACvBY,IAAKhB,EAAAA,EAAAA,yBAAiCgB,GACtChK,GAAI,KACJ6J,YAAa,EACbE,MAAOf,EAAAA,EAAAA,yBAAiCe,KAGtCN,EAAQW,WAAUX,EAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCS,EAAQW,YAE5EX,EAAQzJ,GAGZ,OAFA4E,KAAKe,MAAM,4BAA6B8D,QACxC7E,KAAKY,aAINZ,KAAKK,SAAU,EACfL,KAAKyF,QAAQZ,EACd,EAEAhJ,gCAAgCuQ,GAE/B,MAAMvH,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UACzCG,EAAYK,KAAKC,MAAMD,KAAKE,UAAU6G,IAE5CpH,EAAUC,YAAuC,GAAzBD,EAAUC,YAAmB,EAAI,EAEzD,IACC,MAAOxE,KAAM4L,SAAsBrM,KAAKa,OAAOoD,SAAU,iBAAgBe,EAAU5J,KAAM4J,GAEzFH,EAAQE,WAAaF,EAAQE,WAAWxJ,KAAI6Q,GACvCA,EAAkBhR,IAAMiR,EAAajR,GACjCiR,EAEDD,IAGRpM,KAAK+F,QAAQC,KAAK,oBAAqBnB,GACvC7E,KAAKe,MAAM,iBAAkB8D,GAEzBG,EAAUC,aACbjF,KAAK+F,QAAQC,KAAK,2BAA4B,CAAEnB,WAGlD,CAFE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMA,EAAM+E,SAAW/E,EACpC,CACD,EAEArF,uBAAsB,GAAET,IACvB,MAAMyJ,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UAC/CA,EAAQE,WAAaF,EAAQE,WAAWxB,QAAOyB,GAAaA,EAAU5J,IAAMA,IACzEyJ,EAAQW,WAAUX,EAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCS,EAAQW,WAEjFxF,KAAKyF,QAAQZ,EACd,EAEAa,yBAAyBC,GACxB3F,KAAKe,MAAM,mBACZ,EAEAlF,cAAc4E,GACb,IACC,MAAMmF,EAAanF,EAAKmF,WAAWrK,KAAKsK,WAChCA,EAAUC,cACVD,MAGF,QAAEhB,SAAkB7E,KAAKa,OAAOoD,SAAU,eAAcxD,EAAKrF,KAAM,IAAIqF,EAAMmF,eAEnF5F,KAAKY,aACLZ,KAAK+F,QAAQC,KAAK,oBAAqBnB,EAGxC,CAFE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMA,EAAM+E,SAAW/E,EACpC,CACD,EAEAiL,kBACC,MAAM3G,EAAWxF,KAAKsM,YAAYtM,KAAK6E,SAEvC,IAAKW,EACJ,OAED,MAAM+G,EAAQT,KAAO9L,KAAKuL,KAAKpD,MACzBqE,EAAYV,KAAOtG,IAElBuG,EAAOE,GAAWjM,KAAKuL,KAAKlD,aAAauD,MAAM,KAAKrQ,IAAIkR,QAK/D,OAHAF,EAAMR,MAAMA,GACZQ,EAAMN,QAAQA,GAEPM,EAAMG,QAAQF,EACtB,EAEAF,YAAYzH,GACX,OAAIA,GAASW,SACLX,EAAQW,SAETX,EAAQ8H,oBAChB,EAEA/L,aACCZ,KAAKuL,KAAO,CACXpD,KAAM,KACNC,eAAgB,QAChBC,aAAc,SAGfrI,KAAK0L,WAAY,EACjB1L,KAAK2D,WAAU,IAAM3D,KAAK8C,GAAGc,UAC9B,IChRF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,UCTA,IAECnD,OACC,MAAO,CACNmM,mBAAmB,EAErB,EAEA1M,QAAS,CACR2M,gBACCC,SAASC,iBAAiB,yBAAyBC,SAAQC,IAC1DA,EAAMlN,iBAAiB,QAASC,KAAKkN,aAAa,GAEpD,EAEAC,YAAYxE,QACGyE,GAAVzE,IACH3I,KAAK4M,mBAAoB,EAE3B,EAEAM,aAAavE,GACR3I,KAAK4M,oBACRjE,EAAO0E,OAAOC,OACdtN,KAAK4M,mBAAoB,EAE3B,I,YC1BF,IACC1J,SAAU,CACTE,mBACC,MAAMmK,EAAoB,IAAIvN,KAAKwN,WAAWvL,WAAW1G,KAAI2G,GAAYA,EAAS9G,KAElF,OAAO4E,KAAKsD,kBAAkBC,QAC5BrB,IAAcqL,EAAkB/J,SAAStB,EAAS9G,OAC/C,EACN,EAEAqS,kBAGC,MAAMC,EAAU,iBAEVC,EAAmB3N,KAAK4N,kBAC3B5N,KAAK4N,kBAAkBC,UAAU,OAAOC,QAAQ,mBAAoB,IAAIA,QAAQJ,EAAS,IACzF,GAEGK,EAAW/N,KAAK+N,SAASxK,QAAOyK,IACrC,MAAMC,EAAwBD,EAAQ9S,KAAK2S,UAAU,OAAOC,QAAQ,mBAAoB,IAAIA,QAAQJ,EAAS,IAC7G,OAAOO,EAAsBC,cAAc1K,SAASmK,EAAgBO,cAAc,IAGnF,IAAIC,EAAoBJ,GAAUpM,OAASoM,EAASK,MAAM,EAAG,IAAMpO,KAAK+N,SAASK,MAAM,EAAG,IAE1F,IAAKpO,KAAKwN,YAAYa,WACrB,OAAOF,EAER,MAAMG,EAAmBtO,KAAK+N,SAASxJ,MAAKyJ,GAAWA,EAAQ5S,IAAM4E,KAAKwN,YAAYa,aAGtF,OAFAF,EAAqBA,EAAiB5K,QAAOyK,GAAWA,EAAQ5S,IAAMkT,EAAgBlT,KAE/E,IAAI+S,EAAkBG,EAC9B,GAGDpO,QAAS,CAORqO,mBAAmBnT,GAClB,MAAM8G,EAAWlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAMA,IACxEoT,GAAQC,IAAI,eAAgBvM,GAC5BlC,KAAKwN,WAAWvL,UAAUuC,KAAKtC,GAC/BlC,KAAK0O,sBAAuB,CAC7B,EAEAC,4BACC,IAAIC,EAAgB,EAEpB5O,KAAKwN,WAAWvL,UAAYjC,KAAKwN,WAAWvL,UAAU1G,KAAI2G,IACzB,iBAArBA,EAASoF,UACnBsH,GAAiBC,WAAW3M,EAASoF,UACrCpF,EAASoF,SAAWuH,WAAW3M,EAASoF,UACxCpF,EAAS4M,SAAU,GAEiB,iBAArB5M,EAASoF,WACxBsH,GAAiB1M,EAASoF,SAC1BpF,EAAS4M,SAAU,GAGb5M,KAGRlC,KAAKwN,WAAWlG,SAAWsH,CAC5B,GAGDvK,MAAO,CACN,qBAAqBzB,GACpB,IAAKA,EAAO,OAEZ,MAAMlC,EAAOV,KAAK+O,MAAMxK,MAAK7D,GAAQA,EAAKtF,IAAMwH,IAC3ClC,IAELV,KAAKwN,WAAW9M,KAAS2E,KAAKC,MAAMD,KAAKE,UAAU7E,IACnDV,KAAKwN,WAAWvL,UAAc,IAAIjC,KAAKwN,WAAW9M,KAAKuB,WACxD,I,gbC/ED/E,EAAAA,EAAAA,IAAkK8R,EAAAA,CAAxI5P,KAAMkL,EAAAA,QAAQpB,aAAa9J,KAAOhE,GAAIkP,EAAAA,QAAQ9D,eAAiByI,MAAO3E,EAAAA,QAAQpB,aAAa+F,MAAQvF,aAAW,eAAElH,EAAAA,MAAM,iB,+BAC7ItF,EAAAA,EAAAA,IAA6DgS,EAAAA,CAAnCC,WAAY7E,EAAAA,QAAQrF,a,wBACjD/H,EAAAA,EAAAA,IAAyCkS,EAAAA,CAApBvK,QAASyF,EAAAA,SAAO,qBACrCpN,EAAAA,EAAAA,IAA6HmS,EAAAA,CAAvGtK,WAAYuF,EAAAA,QAAQvF,WAAaF,QAASyF,EAAAA,QAAUX,gBAAc,eAAEnH,EAAAA,MAAM,iBAAkBmG,K,kCAC/GzL,EAAAA,EAAAA,IAAsDoS,EAAAA,CAAnC,cAAahF,EAAAA,QAAQiF,Y,yBACxCrS,EAAAA,EAAAA,IAA4DsS,EAAAA,CAA/BtN,SAAUoI,EAAAA,QAAQmF,W,sBAC/CvS,EAAAA,EAAAA,IAAwDwS,EAAAA,CAA3B3D,MAAOzB,EAAAA,QAAQhD,U,mBAC5CpK,EAAAA,EAAAA,IAA6EyS,EAAAA,CAAhD5D,MAAOzB,EAAAA,QAAQhD,SAAWgD,EAAAA,QAAQsF,Y,mBAC/D1S,EAAAA,EAAAA,IAA6E2S,EAAAA,CAAhD9D,MAAOzB,EAAAA,QAAQsF,WAAa/K,QAASyF,EAAAA,S,6BAClEpN,EAAAA,EAAAA,IAA2H4S,EAAAA,CAA9FtH,YAAa8B,EAAAA,QAAQ9B,YAAc,yBAAwB8B,EAAAA,QAAQyF,yB,kDAChG7S,EAAAA,EAAAA,IAAqD8S,EAAAA,CAAxBjH,MAAOuB,EAAAA,QAAQvB,O,iCCPvCnK,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA8B,KAA3BN,MAAM,QAAO,cAAU,G,2CAL9BC,EAAAA,EAAAA,IAgBQoM,GAAAA,EAAAA,CAhBD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAA8CmC,EAAAA,EAAAA,CAAtCE,KAAK,WAAWC,KAAK,UAC7BsF,Q,gBAIH5H,EAAAA,EAAAA,IAMQgO,GAAAA,EAAAA,CANDC,KAAK,KAAG,C,kBACd,IAIU,EAJVjO,EAAAA,EAAAA,IAIUkO,GAAAA,EAAAA,CAJDxM,MAAM,QAAM,C,kBACpB,IAEI,EAFJM,EAAAA,EAAAA,GAEI,KAFDN,MAAM,0CAA2CU,QAAK,eAAE7B,EAAAA,kBAAmBwS,OAAK,SAAAC,gBAAoB5F,EAAAA,U,QACnGA,EAAAA,MAAI,M,wBAQZ,QACC9J,MAAO,CAAC,eAER+J,MAAO,CACNnL,KAAM,CACL4H,KAAMmJ,OACNzM,UAAU,GAGXtI,GAAI,CACH4L,KAAMyF,OACN/I,UAAU,GAGXuL,MAAO,CACNjI,KAAMmJ,OACNzM,UAAU,IAIZxD,QAAS,CACRkQ,iBACCpQ,KAAKe,MAAM,eACXf,KAAK+F,QAAQC,KAAK,wBAAyB,CAACwH,WAAY,CAACpS,GAAI4E,KAAK5E,IAAKiV,UAAU,GAClF,ICxCF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHSzR,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA0B,KAAvBN,MAAM,QAAO,UAAM,G,UAMFA,MAAM,uC,UACjBA,MAAM,uC,2CAZnBC,EAAAA,EAAAA,IAeQoM,GAAAA,EAAAA,CAfD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAuDmC,EAAAA,EAAAA,CAA/CE,KAAK,oBAAoBC,KAAK,UACtCsF,Q,gBAIH5H,EAAAA,EAAAA,IAKQgO,GAAAA,EAAAA,CALDC,KAAK,KAAG,C,kBACd,IAGU,EAHVjO,EAAAA,EAAAA,IAGUkO,GAAAA,EAAAA,CAHDxM,MAAM,QAAM,C,kBACpB,IAA6E,CAApE0L,EAAAA,aAAU,WAAnBvI,EAAAA,EAAAA,IAA6E,IAA7EoE,GAAiE,eAAQ,WACzEpE,EAAAA,EAAAA,IAAoE,IAApEqE,GAAsD,kB,wBAO1D,QACImE,MAAO,CACH4E,WAAY,CACRnI,KAAMyF,OACNhC,QAAS,IAAM,KCnB3B,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS7L,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA4B,KAAzBN,MAAM,QAAO,YAAQ,G,IAOtBA,MAAM,+D,IAGNA,MAAM,Q,2CAfTC,EAAAA,EAAAA,IAkBKoM,GAAAA,EAAAA,CAlBE,gBAAWrM,MAAM,gB,mBAC1B,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAA8DmC,EAAAA,EAAAA,CAAtDE,KAAK,2BAA2BC,KAAK,UAC7CsF,Q,gBAKH5H,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,4BAA0B,C,kBACxC,IAEI,EAFJM,EAAAA,EAAAA,GAEI,IAFJiH,IAEI,QADA1I,EAAAA,SAAWA,EAAAA,SAAS6S,UAAY,KAAH,IAEjCpR,EAAAA,EAAAA,GAAyE,IAAzEkH,IAAyE,QAAtD3I,EAAAA,SAAWA,EAAAA,SAAS4E,UAAYG,EAAAA,GAAG,cAAD,M,wBASzD,QACC+H,MAAO,CACNjG,WAAY,CACX0C,KAAM,CAACyF,QACP/I,UAAU,IAIZR,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,sBAErBjB,WACC,OAAOlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAM4E,KAAKsE,YACpE,ICjCF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS1F,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA6B,KAA1BN,MAAM,QAAO,aAAS,G,IAOvBA,MAAM,+D,4DAZTC,EAAAA,EAAAA,IAkBKoM,GAAAA,EAAAA,CAlBE,gBAAWrM,MAAM,gB,mBAC1B,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAyDmC,EAAAA,EAAAA,CAAjDE,KAAK,sBAAsBC,KAAK,UACxCsF,Q,gBAKH5H,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,4BAA0B,C,kBACxC,IAEI,EAFJM,EAAAA,EAAAA,GAEI,IAFJiH,IAEI,QADAmE,EAAAA,SAASlL,KAAKmR,OAAO,GAAKjG,EAAAA,SAASkG,QAAQD,OAAO,IAAD,IAErDrR,EAAAA,EAAAA,GAAkE,KAA/DN,MAAM,OAAOiK,UAA+C,GAApCyB,EAAAA,SAASlL,QAAQkL,EAAAA,SAASkG,W,sCAOzD,QACCjG,MAAO,CACNrI,SAAU,CACT8E,KAAMpL,OACN8H,UAAU,KCtBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS9E,MAAM,uB,IAEVM,EAAAA,EAAAA,GAAmC,KAAhCN,MAAM,QAAO,mBAAe,G,2CALnCC,EAAAA,EAAAA,IAcQoM,GAAAA,EAAAA,CAdD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAIH5H,EAAAA,EAAAA,IAIQgO,GAAAA,EAAAA,CAJDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAAoB,EAApBM,EAAAA,EAAAA,GAAoB,kBAAdoL,EAAAA,OAAQ,KAAE,M,wBAOpB,QACCC,MAAO,CACNwB,MAAO,CACN/E,KAAMyF,OACN/I,UAAU,KClBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,iECHS9E,MAAM,uB,YAEVM,EAAAA,EAAAA,GAAmC,KAAhCN,MAAM,QAAO,mBAAe,K,IAW3BA,MAAM,4B,YAEVM,EAAAA,EAAAA,GAAoD,KAAjDN,MAAM,2BAA0B,iBAAa,K,IAO1CA,MAAM,4C,IACPA,MAAM,2B,IAENA,MAAM,Q,IAURA,MAAM,6C,YACVM,EAAAA,EAAAA,GAA+B,UAA3B,0BAAsB,K,+DAvC7BhC,EAAAA,EAAAA,IAkCQ+N,GAAAA,EAAAA,CAlCD,iBAAU,C,kBAChB,IAOQ,EAPR/N,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAKH5H,EAAAA,EAAAA,IAuBQgO,GAAAA,EAAAA,CAvBDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAAoB,EAApBM,EAAAA,EAAAA,GAAoB,kBAAdoL,EAAAA,OAAQ,KAAE,M,OAGjBpN,EAAAA,EAAAA,IAiBUkO,GAAAA,EAAAA,CAjBDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNiH,GAGM,EAFLjJ,EAAAA,EAAAA,IAAuGmC,EAAAA,EAAAA,CAA9FC,QAAK,eAAEP,EAAAA,WAAY,GAAMH,MAAM,+BAA+BW,KAAK,WAAWC,KAAK,WAC5F4G,KAGekE,EAAAA,QAAQ1E,WAAWjE,SAAM,aACxCI,EAAAA,EAAAA,IAQMC,EAAAA,GAAAA,CAAAI,IAAAA,IAAA,QARmBkI,EAAAA,QAAQ1E,YAArBC,K,WAAZ9D,EAAAA,EAAAA,IAQM,OARwCK,IAAKyD,EAAUzK,GAAIwD,MAAM,4B,EACtE1B,EAAAA,EAAAA,IAA4HmC,EAAAA,EAAAA,CAAnHC,SAAK,YAAO7B,EAAAA,gBAAgBoI,IAAS,UAAGjH,MAAM,oCAAoCW,KAAK,YAAYC,KAAK,U,qBAEjHN,EAAAA,EAAAA,GAIM,MAJNmM,GAIM,EAHLnM,EAAAA,EAAAA,GAA2D,IAA3DoM,IAA2D,QAArBzF,EAAU4K,MAAI,IAEpDvR,EAAAA,EAAAA,GAA6E,IAA7EmH,IAA6E,QAA1DR,EAAUC,eAAgB,MAAE,QAAGD,EAAU6K,WAAY,IAAC,U,kDAQ/ExT,EAAAA,EAAAA,IAYW4B,EAAAA,EAAAA,CAZD,YAAU,M,WAAeC,EAAAA,U,qCAAAA,EAAAA,UAAS,GAAEC,WAAA,I,mBAC7C,IAUS,EAVT9B,EAAAA,EAAAA,IAUS+B,EAAAA,EAAAA,KAAAA,C,kBATR,IAIM,EAJNC,EAAAA,EAAAA,GAIM,MAJNoH,GAIM,CAHLqK,IAEAzT,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAE1DtC,EAAAA,EAAAA,IAEiBuC,EAAAA,EAAAA,CAFDb,MAAM,2CAAyC,C,kBAC9D,IAA8P,EAA9P1B,EAAAA,EAAAA,IAA8PuE,EAAAA,GAAAA,C,WAAvO1C,EAAAA,KAAKgN,M,qCAALhN,EAAAA,KAAKgN,MAAK,GAAEpM,QAAQ,OAAO,WAAS,QAAQqH,KAAK,SAAUnF,KAAM9C,EAAAA,GAAGwM,KAAKQ,MAAMrK,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGwM,KAAKQ,MAAMrK,SAAW,KAAO9C,OAAK,UAAAsC,MAAWnC,EAAAA,GAAGwM,KAAKQ,MAAMrK,QAAQC,QAAgB,SAAOC,MAAM,mB,gDAE3O1E,EAAAA,EAAAA,IAAqEwC,EAAAA,EAAAA,CAA7DJ,QAAK,eAAE7B,EAAAA,UAAUmB,MAAM,uB,mBAAsB,IAAQ,UAAR,e,8CAcxD,QACC0B,OAAQ,CAAEC,GACVgK,MAAO,CACNwB,MAAO,CACN/E,KAAMyF,OACN/I,UAAU,GAGXmB,QAAS,CACRmC,KAAMpL,OACN8H,UAAU,IAIZjD,OACC,MAAO,CACNqL,OAAM,KACNhJ,IAAIC,EAAAA,EAAAA,MACJC,WAAU,IACV0I,WAAW,EACXH,KAAM,CACLQ,MAAO,MAGV,EAEAtI,cACC,MAAO,CACN8H,KAAM,CACLQ,MAAO,CAACrI,SAAQ,KAAEkN,QAAO,KAAEC,UAAUA,EAAAA,EAAAA,IAAS,MAGjD,EAEA3N,SAAU,KACNC,EAAAA,EAAAA,IAAW,OAAQ,CAAC,UAGxBjD,QAAS,CACRrE,eACC,UAAWmE,KAAK8C,GAAGkB,YAClB,OAED,MAAMa,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UAE/CA,EAAQe,WAAWpB,KAAK,CACvBpJ,GAAI,KACJ6L,YAAajH,KAAK8Q,KAAK1V,GACvBqV,KAAgC,iBAAnBzQ,KAAKuL,KAAKQ,MAAoB8C,WAAW7O,KAAKuL,KAAKQ,OAAS/L,KAAKuL,KAAKQ,QAGjFlH,EAAQW,WAAUX,EAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCS,EAAQW,WAEjFxF,KAAKyF,QAAQZ,EACd,EAEAhJ,uBAAsB,GAAET,IACvB,MAAMyJ,EAAUQ,KAAKC,MAAMD,KAAKE,UAAUvF,KAAK6E,UAC/CA,EAAQe,WAAaf,EAAQe,WAAWrC,QAAOsC,GAAaA,EAAUzK,IAAMA,IACzEyJ,EAAQW,WAAUX,EAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCS,EAAQW,WAEjFxF,KAAKyF,QAAQZ,EACd,EAEAjE,aACCZ,KAAKuL,KAAO,CACXQ,MAAO,MAGR/L,KAAK0L,WAAY,EACjB1L,KAAK2D,WAAU,IAAM3D,KAAK8C,GAAGc,UAC9B,EAEA/H,cAAc4E,GACb,IACCA,EAAKmF,WAAanF,EAAKmF,WAAWrK,KAAKsK,WAC/BA,EAAUC,cACVD,KAER,MAAM,QAAEhB,SAAkB7E,KAAKa,OAAOoD,SAAU,eAAcxD,EAAKrF,KAAMqF,GAEzET,KAAKY,aACLZ,KAAK+F,QAAQC,KAAK,oBAAqBnB,EAGxC,CAFE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMA,EAAM+E,SAAW/E,EACpC,CACD,IC5IF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,U,UCLStC,MAAM,uB,IAEVM,EAAAA,EAAAA,GAAmC,KAAhCN,MAAM,QAAO,mBAAe,G,2CALnCC,EAAAA,EAAAA,IAeQoM,GAAAA,EAAAA,CAfD,gBAAWrM,MAAM,8B,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAKH5H,EAAAA,EAAAA,IAIQgO,GAAAA,EAAAA,CAJDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAAiC,EAAjCM,EAAAA,EAAAA,GAAiC,kBAA1BoL,EAAAA,MAAOF,QAAQ,IAAK,KAAE,M,wBAOjC,QACCG,MAAO,CACNwB,MAAO,CACN/E,KAAMyF,OACN/I,UAAU,KCnBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,sBCHS9E,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA4B,KAAzBN,MAAM,QAAO,YAAQ,G,2CAL5BC,EAAAA,EAAAA,IAmBQoM,GAAAA,EAAAA,CAnBD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAuDmC,EAAAA,EAAAA,CAA/CE,KAAK,oBAAoBC,KAAK,UACtCsF,Q,gBAIH5H,EAAAA,EAAAA,IASQgO,GAAAA,EAAAA,CATDC,KAAK,KAAG,C,kBACd,IAOU,EAPVjO,EAAAA,EAAAA,IAOUkO,GAAAA,EAAAA,CAPDxM,MAAM,QAAM,C,kBACpB,IAAiL,CAAxK0L,EAAAA,QAAQ9E,WAAQ,WAAzBzD,EAAAA,EAAAA,IAAiL,K,MAArJnD,OAAK,YAAKG,EAAAA,QAAQ2N,QAAQpC,EAAAA,QAAQ9E,UAAY,aAAe,wB,QAA0BzG,EAAAA,QAAQgS,WAAWzG,EAAAA,QAAQ9E,WAAY,KAAC,QAAG/H,EAAAA,cAAY,iBAC1KoB,EAAAA,EAAAA,IAIYmS,GAAAA,EAAAA,C,MAJMC,KAAK,yBAAyBC,SAAS,O,CACvCC,WAAS,SACzB,EAD6B5G,WAAK,EAClCrL,EAAAA,EAAAA,GAAwF,QAAxFkS,EAAAA,EAAAA,IAAwF,CAAlFxS,MAAM,kBAAyB2L,IAAK,QAAK9M,EAAAA,sBAAsB6M,EAAAA,UAAW,IAAC,O,kCAavF,QACCC,MAAO,CACN1F,QAAS,CACRmC,KAAM,CAACmJ,OAAQvU,OAAQ,MACvB8H,UAAU,IAIZR,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,gBAErBkO,eACC,MAAMZ,EAAOzQ,KAAK6E,SAASkC,eAC3B,OAAI0J,EACI3E,KAAO2E,EAAM,YAAY7J,OAAO,SACjC,EACR,GAGDnG,OACC,MAAO,CACN2D,QAAOA,EAAAA,EAET,EAEAlE,QAAS,CACRoR,sBAAsBzM,GACrB,OAAIA,GAASW,SACLX,EAAQW,SAETX,EAAQ8H,oBAChB,ICtDF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,gBCNM/N,MAAM,2B,IACVM,EAAAA,EAAAA,GAAoB,SAAjB,iBAAa,G,2BAIZN,MAAM,2B,IACVM,EAAAA,EAAAA,GAAwB,SAArB,qBAAiB,G,+EANsBoL,EAAAA,cAAW,WAAtDvI,EAAAA,EAAAA,IAGM,MAHN5C,GAGM,CAFL2F,IACA5F,EAAAA,EAAAA,GAAwF,WAA/E2J,UAAQyB,EAAAA,YAAa1L,MAAM,mD,8BAGM0L,EAAAA,wBAAqB,WAAhEvI,EAAAA,EAAAA,IAGM,MAHNqE,GAGM,CAFLiF,IACAnM,EAAAA,EAAAA,GAAkG,WAAzF2J,UAAQyB,EAAAA,sBAAuB1L,MAAM,mD,mCAKhD,QACC2L,MAAO,CACN/B,YAAa,CACZxB,KAAMmJ,QAAU,KAChB1F,QAAS,IAAM,MAGhB8G,sBAAuB,CACtBvK,KAAMmJ,QAAU,KAChB1F,QAAS,IAAM,QCjBlB,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,yECNCvL,EAAAA,EAAAA,GAA2B,KAAxBN,MAAM,QAAO,WAAO,K,IAClBA,MAAM,6B,yBAQmBA,MAAM,uB,uBAEhCM,EAAAA,EAAAA,GAAqD,KAAlDN,MAAM,QAAO,qCAAiC,K,6FAXrDO,IACAD,EAAAA,EAAAA,GAcM,MAdN4F,GAcM,EAbL5H,EAAAA,EAAAA,IAYaqE,EAAAA,CAZAC,QAAS8I,EAAAA,MAAOkH,aAAa,iC,mBACpC,IAA8B,gBAAnCzP,EAAAA,EAAAA,IAUMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAVuBsI,EAAAA,OAAK,CAArBJ,EAAM/H,M,WAAnBJ,EAAAA,EAAAA,IAUM,OAV+BK,IAAK8H,EAAK9O,GAAIwD,OAAK,SAAC,gCAA+B,CAAoB,IAAVuD,EAAc,OAAS,W,EACxHjF,EAAAA,EAAAA,IAISiN,GAAAA,EAAAA,CAJDvL,MAAM,QAAM,C,kBACnB,IAAyE,EAAzEM,EAAAA,EAAAA,GAAyE,KAArEI,QAAK,GAAE7B,EAAAA,aAAayM,GAAOtL,MAAM,mB,QAAoBsL,EAAK9K,MAAI,OAClElC,EAAAA,EAAAA,IAAmDmC,EAAAA,EAAAA,CAA3CT,MAAM,OAAOW,KAAK,mBAC1BL,EAAAA,EAAAA,GAA2D,mBAApDgL,EAAKuH,UAAY,SAAerH,QAAQ,IAAK,MAAG,M,WAE7CF,EAAKwH,YAAS,WAAzB3P,EAAAA,EAAAA,IAGM,MAHNqE,GAGM,EAFLlH,EAAAA,EAAAA,GAA0F,OAArFN,MAAM,aAAcyK,IAAKC,EAAQ,OAAmCC,IAAI,c,WAC7E+B,OAAqD,sB,oCAU1D,QACIf,MAAO,CACHxB,MAAO,CACH/B,KAAMwD,MACNC,QAAS,IAAM,KAI1BhK,OACC,MAAO,CACNiR,WAAW,EAEb,EAEAxR,QAAS,CACRrE,mBAAmBqO,GACTA,EAAKwH,WAAY,EAE1B,IACC,MAAMC,QAAiBC,MAAM1H,EAAK2H,MAC5BC,QAAaH,EAASG,OAC5BC,GAAAA,OAAiBD,EAAM5H,EAAK9K,KAK7B,CAJE,MAAO8B,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDgJ,EAAKwH,WAAY,CAClB,CACD,IC1CF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,UpBkBA,IACClR,MAAO,CAAC,cAAe,kBAEpBgL,WAAY,CACRwG,OAAM,GACNC,gBAAe,GACfC,kBAAiB,GACvBC,gBAAe,GACfC,WAAU,GACJC,sBAAqB,GACrBC,iBAAgB,GAChBC,eAAc,GACdC,mBAAkB,GAClBC,iBAAgB,GACtBC,cAAaA,IAGdnI,MAAO,CACN1F,QAAS,CACRmC,KAAMpL,OACN8H,UAAU,KqB1Cb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCNS9E,MAAM,mB,UAC2BA,MAAM,Y,IAInCA,MAAM,wB,0EALfmD,EAAAA,EAAAA,IASM,MATN5C,GASM,CARSmL,EAAAA,WAAaA,EAAAA,WAAQ,WAAhCvI,EAAAA,EAAAA,IAEM,MAFN+C,GAEM,EADF5F,EAAAA,EAAAA,GAAqE,UAA5DI,QAAK,eAAEkD,EAAAA,MAAM,oBAAoB5D,MAAM,YAAW,SAAC,gBAEhE1B,EAAAA,EAAAA,IAAiRwJ,EAAAA,CAApQ,cAAa4D,EAAAA,UAAUnC,KAAO5B,QAAK,eAAE/D,EAAAA,MAAM,gBAAiB,sBAAoB/E,EAAAA,WAAYmJ,OAAO,aAAaC,OAAO,KAAK,cAAY,SAAS,cAAY,SAASC,YAAY,QAAS,cAAY,EAAO,sBAAoB,EAAOlI,MAAM,oB,+CAC5PM,EAAAA,EAAAA,GAGM,MAHNiH,GAGM,EAFFjJ,EAAAA,EAAAA,IAA8NuE,EAAAA,GAAAA,CAA/MmB,MAAO0H,EAAAA,UAAUlC,eAAiBM,QAAOjL,EAAAA,gBAAkB8I,QAAO/D,EAAAA,aAAe5D,OAAK,SAAAsC,MAAWnC,EAAAA,IAAIiG,UAAUoD,eAAe1G,QAAQC,SAAUqF,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QAAQiC,MAAM,Y,+CACjN1E,EAAAA,EAAAA,IAAsNuE,EAAAA,GAAAA,CAAvMmB,MAAO0H,EAAAA,UAAUjC,aAAeK,QAAOjL,EAAAA,cAAgB8I,QAAO/D,EAAAA,aAAe5D,OAAK,SAAAsC,MAAWnC,EAAAA,IAAIiG,UAAUqD,aAAa3G,QAAQC,SAAUqF,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QAAQiC,MAAM,U,kEAUvN,IACI4J,WAAY,CACRC,WAAUA,GAAAA,GAIdlB,MAAO,CACHvF,UAAW,CACPgC,KAAMpL,OACN8H,UAAU,GAGdsE,UAAW,CACPhB,KAAM2D,QACNF,SAAS,GAGbxC,SAAU,CACNjB,KAAM2D,QACNF,SAAS,IAIjBhK,OACI,MAAO,CACHqC,IAAIC,EAAAA,EAAAA,MAEZ,EAEAU,cACI,MAAO,CACHuB,UAAW,CACPoD,eAAgB,CAAE1E,UAAUiP,EAAAA,EAAAA,IAAW3S,KAAKgF,UAAUmD,OACtDE,aAAc,CAAE3E,UAAUiP,EAAAA,EAAAA,IAAW3S,KAAKgF,UAAUmD,QAGhE,EAEAjI,QAAS,CACLqG,UACIiI,GAAQC,IAAI,QAChB,EACAmE,WAAWzK,GACP,MAAMnD,EAAY,IAAKhF,KAAKgF,WACxBmD,IAAMnD,EAAUmD,KAAOA,GAC3BnI,KAAKe,MAAM,kBAAmBiE,EAClC,EACA6N,gBAAgB1S,GACZ,MAAM6E,EAAY,IAAKhF,KAAKgF,WAC5BA,EAAUoD,eAAiBjI,EAAMkN,OAAOzK,MACxC5C,KAAKe,MAAM,kBAAmBiE,EAClC,EACA8N,cAAc3S,GACV,MAAM6E,EAAY,IAAKhF,KAAKgF,WAC5BA,EAAUqD,aAAelI,EAAMkN,OAAOzK,MACtC5C,KAAKe,MAAM,kBAAmBiE,EAClC,ICnER,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,U,Y9BuJA,IACCxE,MAAO,CAAC,QAAS,WACjBF,OAAQ,CAACyS,GAAsBC,GAAcnQ,EAAAA,EAAmBtC,GAEhEiL,WAAY,CACXyH,kBAAiB,GACjBC,WAAU,GACVC,aAAY,GACZ1H,WAAU,KAEV2H,YAAWA,EAAAA,IAGZ3S,OACC,MAAO,CACN2D,QAAO,IACPiM,UAAU,EACVhQ,SAAS,EACTwE,QAAS,KACT6F,UAAU,EACV1H,WAAU,IACVF,IAAIC,EAAAA,EAAAA,MACJsQ,oBAAqB,GACrBC,gBAAgB,EAChBC,gBAAiB,GACjBxO,WAAY,CAAC,CACZoD,KAAM,KACNC,eAAgB,KAChBC,aAAc,OAGjB,EAEAnF,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,cAAe,uBAGrCM,cACC,MAAO,CACNoB,QAAS,CACR2B,eAAgB,CAAE9C,SAAQA,EAAAA,IAC1B8B,SAAU,CAAE9B,SAAQA,EAAAA,IACpBqD,eAAgB,CAAErD,SAAQA,EAAAA,KAG7B,EAEA7D,UACCG,KAAK+F,QAAQyN,GAAG,iBAAkBxO,IAC5BhF,KAAK6E,SAASE,aAClB/E,KAAK6E,QAAQE,WAAa,IAEtB/E,KAAK6E,SAASe,aAClB5F,KAAK6E,QAAQe,WAAa,IAEtB5F,KAAK6E,SAASI,cAClBjF,KAAK6E,QAAQI,YAAc,GAE5BjF,KAAK6E,QAAQE,WAAWP,KAAKQ,EAAU,IAGxChF,KAAK+F,QAAQyN,GAAG,qBAAsB3O,IACjCA,GAASzJ,IAAM4E,KAAK6E,SAASzJ,KAAI4E,KAAK6E,QAAU7E,KAAKyT,YAAY5O,IAGrE7E,KAAK0T,cAAa,IAGnB1T,KAAK+F,QAAQyN,GAAG,sBAAuB3O,IAClCA,GAASzJ,IAAM4E,KAAK6E,SAASzJ,IAAI4E,KAAKY,YAAW,GAEvD,EAEAV,QAAS,CACRyT,gBAAgB9L,EAAK1F,GACpBnC,KAAK+E,WAAW5C,GAAS0F,CAC1B,EAEA+L,gBAAgBzR,GACfnC,KAAK+E,WAAWzC,OAAOH,EAAO,EAC/B,EAEAtG,iBAAgB,QAAEgJ,EAAO,SAAEwL,GAAW,EAAK,WAAE7C,EAAa,CAAC,IAC1DxN,KAAK0K,UAAW,EAChB1K,KAAK6E,QAAU,KACf7E,KAAKK,SAAU,EACfL,KAAK+E,WAAa,CAAC,CAClBoD,KAAM,KACNC,eAAgB,KAChBC,aAAc,OAEfrI,KAAK2D,WAAU,KACd3D,KAAK8C,GAAGc,SACR5D,KAAK6M,eAAc,IAGpB,IACC,GAAIhI,GAASzJ,GAAI,CAChB,MAAMqF,QAAaT,KAAKa,OAAOiD,cAAe,eAAce,EAAQzJ,MAEpE,IAAKqF,EAAK+E,SAET,OADAxF,KAAKqQ,SAAWA,IAAa5P,EAAKrF,GAC1B4E,KAAK6E,QAAU7E,KAAKyT,YAAYhT,GAGzC,MAAMoT,EAAmBpT,EAAK+E,SAASoG,MAAM,KAC7CnL,EAAK+E,SAAWsG,KAAO+H,EAAiB,IACxCpT,EAAKsG,eAAiB8M,EAAiB,GAEvC7T,KAAK6E,QAAU7E,KAAKyT,YAAYhT,EACjC,KAAO,CAGN,GAFAT,KAAK6E,QAAU,CAAEiP,YAAatG,EAAYvL,UAAW,CAAC,CAAC,GAAI8E,eAAgB,SAEvElC,GAASW,UAAYX,EAAQkC,gBAAkBlC,EAAQoC,YAAa,CACvE,MAAM/E,EAAWlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAMyJ,EAAQoC,cAChFjH,KAAK6E,QAAQ5C,UAAY,CAACC,GAC1BlC,KAAK6E,QAAQW,SAAWX,EAAQW,SAChCxF,KAAK6E,QAAQkC,eAAiBlC,EAAQkC,cACvC,CAEGlC,GAAS2B,gBAAkB3B,GAASD,eACtC5E,KAAK6E,QAAQ2B,eAAiB3B,EAAQ2B,eACtCxG,KAAK6E,QAAQD,aAAeC,EAAQD,aAEtC,CACA5E,KAAKqQ,SAAWA,IAAarQ,KAAK6E,QAAQzJ,EAI3C,CAHE,MAAO8F,GACRsN,GAAQtN,MAAM,QAASA,GACvBlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEA6S,gBAAgBpO,GACf3F,KAAK6E,QAAQE,WAAWzC,OAAOqD,EAAG,EACnC,EAEA/E,aACCZ,KAAKK,SAAU,EACfL,KAAKgU,QAAQlG,QAAQ,CAAE1O,KAAMY,KAAKiU,OAAO7U,MAC1C,EAEAvD,aACC,MAAMqY,QAAuBlU,KAAKmU,qBAC5BC,IAAkBpU,KAAK6E,SAASzJ,UAAkB4E,KAAKqU,sBAE7D,SAAYrU,KAAK8C,GAAGkB,aACfkQ,GAAmBE,EAAxB,CAEApU,KAAK6E,QAAQ2D,YAAcxI,KAAKyE,MAAM,eAAe6P,UACrDtU,KAAKuU,yBAEL,IAIC,GAHAvU,KAAK0K,UAAW,EAChB1K,KAAK6E,QAAQW,SAAWsG,KAAO9L,KAAK6E,QAAQW,UAAUoB,OAAO,uBAEzD5G,KAAK6E,SAASzJ,GAAI,CACrB,MAAMwK,EAAa5F,KAAK6E,QAAQe,WAAWrK,KAAKsK,WACxCA,EAAUC,cACVD,MAGF,QAAEhB,SAAkB7E,KAAKa,OAAO2T,gBAAiB,eAAcxU,KAAK6E,QAAQzJ,KAAM,IAAK4E,KAAK6E,QAASe,eAE3G5F,KAAKgB,OAAOC,OAAO,oBAAqB4D,GACxC7E,KAAK+F,QAAQC,KAAK,oBAAqBhG,KAAK6E,QAC7C,KAAO,CACN7E,KAAK6E,QAAQ5C,UAAU+K,SAAQ9K,IAC1BA,EAAS9G,KACZ8G,EAAS6C,WAAa/E,KAAK+E,WAAWxB,QAAOyB,GAAaA,EAAUmD,OAAM5M,KAAIyJ,IAAsB,CAAEG,MAAQ,GAAE2G,KAAO9G,EAAUmD,MAAMvB,OAAO,iBAAiB5B,EAAUoD,oBAAqBhD,IAAM,GAAE0G,KAAO9G,EAAUmD,MAAMvB,OAAO,iBAAiB5B,EAAUqD,kBAAmBjN,GAAI,SAAS,IAEjS,MAAMqZ,EAAczU,KAAK6E,eAClB4P,EAAYvL,aACnB,MAAM,SAAEwL,SAAmB1U,KAAKa,OAAOsD,UAAW,kBAAiBnE,KAAK6E,QAAQ2B,0BAA2BiO,GAC3GzU,KAAK6E,QAAQzJ,GAAKsZ,EAAS,GAAGtZ,GAE9BsZ,EAAS1H,SAASnI,IACjB7E,KAAKgB,OAAOC,OAAO,oBAAqB4D,GACxC7E,KAAK+F,QAAQC,KAAK,oBAAqBhG,KAAK6E,QAAQ,IAErD7E,KAAK+F,QAAQC,KAAK,gBAClBhG,KAAK+F,QAAQC,KAAK,oBACnB,CACAhG,KAAKY,YAKN,CAJE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDlB,KAAK0K,UAAW,CACjB,CAzC+C,CA0ChD,EAEAiK,oBAAoB9P,GACnB7E,KAAK+F,QAAQC,KAAK,yBAA0B,CAAEnB,WAC/C,EAEA+P,wBACC5U,KAAK+F,QAAQC,KAAK,2BAA4B,CAAEnB,QAAS7E,KAAK6E,UAC1D7E,KAAK6E,QAAQW,WAAUxF,KAAK6E,QAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCpE,KAAK6E,QAAQW,UAClG,EAEAqP,cAAc9L,GACb/I,KAAK6E,QAAQkE,MAAQA,CACtB,EAEA+L,cAAcjQ,GACb2J,GAAQC,IAAI,mBAAoB5J,EAAQE,WAAW,IACnD/E,KAAK6E,QAAUA,CAChB,EAEA0P,yBACC,MAAMpM,EAAO,IAAIxB,KAAK3G,KAAK6E,QAAQW,UAC7BuP,EAAY/U,KAAK6E,QAAQkC,eAAe6E,MAAM,KAEpDzD,EAAK6M,SAAShJ,SAAS+I,EAAU,KACjC5M,EAAK8M,WAAWjJ,SAAS+I,EAAU,KAEnC/U,KAAK6E,QAAQW,SAAW2C,CACzB,EAEAgM,qBACC,OAAO,IAAItZ,SAASC,IAGnB,GAFAkF,KAAKqT,oBAAsB,GAEvBrT,KAAK6E,QAAQzJ,GAAI,CACpB,GAAI4E,KAAK6E,QAAQ3C,UAAYlC,KAAK6E,QAAQyC,SAAU,OAEpDtH,KAAKqT,oBAAoB,GAAK,CAAC,EAE1BrT,KAAK6E,QAAQoC,cAAajH,KAAKqT,oBAAoB,GAAGnR,UAAW,GAEjElC,KAAK6E,QAAQyC,WAAUtH,KAAKqT,oBAAoB,GAAG/L,UAAW,EACpE,MACCtH,KAAK6E,QAAQ5C,UAAU+K,SAAQ,CAAC9K,EAAUC,KACrCA,GAASnC,KAAK6E,QAAQ5C,UAAUN,OAAS,GAAKQ,EAAQ,GAEtDD,EAAS9G,IAAM8G,EAASoF,WAE5BtH,KAAKqT,oBAAoBlR,GAAS,CAAC,EAE9BD,EAAS9G,KAAI4E,KAAKqT,oBAAoBlR,GAAOD,UAAW,GAExDA,EAASoF,WAAUtH,KAAKqT,oBAAoBlR,GAAOmF,UAAW,GAAG,IAIxE,MAAM4N,EAAUlV,KAAKqT,oBAAoBtW,MAAMmF,GAAaA,EAASoF,UAAYpF,EAASA,WAC1FpH,GAASoa,EAAQ,GAEnB,EAEArZ,4BACC,IAAIiT,GAAU,EACd,IAAI,IAAInJ,EAAI,EAAGA,EAAI3F,KAAK+E,WAAWpD,OAAQgE,IAAK,CAC/C,MAAMpI,EAAMyC,KAAKyE,MAAO,aAAYkB,KACpCmJ,QAAgBvR,EAAI,GAAGuF,GAAGkB,aAAe8K,CAC1C,CACA,OAAOA,CACR,EAEA2E,YAAY5O,GACX,MAAO,IACHA,EACHsQ,YAAanV,KAAKsD,kBAAkBiB,MAAMrC,GAAaA,EAAS9G,IAAMyJ,EAAQ0K,aAC9EE,UAAWzP,KAAKsD,kBAAkBiB,MAAMrC,GAAaA,EAAS9G,IAAMyJ,EAAQoC,cAC5EiC,aAAclJ,KAAKoV,YAAY7Q,MAAMiJ,GAAeA,EAAWpS,IAAMyJ,EAAQ2B,iBAE/E,GAGDnC,MAAO,CACN,sBAAsBzB,EAAOyS,GACvBzS,GAAUyS,IAEfrV,KAAK6E,QAAQE,WAAa,GAC1B/E,KAAK6E,QAAQ4K,UAAYzP,KAAKsD,kBAAkBiB,MAAMrC,GAAaA,EAAS9G,IAAM4E,KAAK6E,QAAQoC,cAChG,EAEA,oBAAqB,CACpBqO,UACC,IAAKtV,KAAK6E,SAAS5C,UAAW,OAE9B,MAAMsT,EAAevV,KAAK6E,QAAQ5C,UAAUjC,KAAK6E,QAAQ5C,UAAUN,OAAS,IACxE4T,EAAana,IAAMma,EAAajO,WAAUtH,KAAK6E,QAAQ5C,UAAUuC,KAAK,CAAC,EAC5E,EACAgR,MAAM,GAGP,yBAAyB5S,GACnBA,IACL5C,KAAK6E,QAAQqE,aAAelJ,KAAKoV,YAAY7Q,MAAMiJ,GAAeA,EAAWpS,IAAM4E,KAAK6E,QAAQ2B,iBAChGxG,KAAK6E,QAAQD,aAAe5E,KAAK6E,QAAQqE,cAActE,cAAgB,KACxE,EAEAyL,WACCrQ,KAAK2D,WAAU,KACd3D,KAAKyE,MAAM,gBAAgBgR,QAAQzV,KAAK6E,QAAQ2D,aAAe,GAAG,GAEpE,I+BjcF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,U,UCNQ5J,MAAM,6C,2CAFbC,EAAAA,EAAAA,IAiBWC,EAAAA,EAAAA,C,WAjBQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAeS,EAfT9B,EAAAA,EAAAA,IAeS+B,EAAAA,EAAAA,KAAAA,C,kBAdR,IASM,EATNC,EAAAA,EAAAA,GASM,MATNC,GASM,EARLD,EAAAA,EAAAA,GAAiE,oBAA7D,mCAA8B,OAAyB,kBAAnBH,EAAAA,QAAQK,MAAI,YAAO,QAE3DlC,EAAAA,EAAAA,IAKUmC,EAAAA,EAAAA,CAJRC,QAAK,yBAAO7B,EAAAA,cAAU,WACvB8B,KAAK,YACLC,KAAK,QACLZ,MAAM,aAGR1B,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAA6G,EAA7G1B,EAAAA,EAAAA,IAA6GwC,EAAAA,EAAAA,CAAtGd,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,eAAE7B,EAAAA,iBAAkBmC,SAAUb,EAAAA,Y,mBAAY,IAAG,UAAH,U,sBAClG7B,EAAAA,EAAAA,IAAoFwC,EAAAA,EAAAA,CAA7Ed,MAAM,8BAA+BU,QAAK,yBAAO7B,EAAAA,cAAU,Y,mBAAI,IAAM,UAAN,a,kDAS1E,QACC6C,OAAQ,CAAEC,GACVC,MAAO,CAAC,sBAERC,OACC,MAAO,CACNJ,SAAS,EACTqV,QAAS,KACT/U,YAAY,EAEd,EAEAT,QAAS,CACRrE,iBAAgB,QAAE6Z,IACjB1V,KAAK0V,QAAUA,EACf1V,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEAxE,sBACC,IAAImE,KAAKW,WAAT,CAEAX,KAAKW,YAAa,EAElB,UACOX,KAAKa,OAAOC,YAAa,eAAcd,KAAK0V,QAAQta,MAE1D4E,KAAKe,MAAM,qBAAsBf,KAAK0V,SACtC1V,KAAKY,YAKN,CAJE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDlB,KAAKW,YAAa,CACnB,CAb2B,CAc5B,ICxDF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCJQ/B,MAAM,6C,2CAFbC,EAAAA,EAAAA,IAeWC,EAAAA,EAAAA,C,WAfQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAaS,EAbT9B,EAAAA,EAAAA,IAaS+B,EAAAA,EAAAA,KAAAA,C,kBAZR,IAOM,EAPNC,EAAAA,EAAAA,GAOM,MAPNC,GAOM,EANLD,EAAAA,EAAAA,GAAgL,oBAA5K,2BAAuB,QAAGH,EAAAA,QAAQkG,YAAc,gBAAkB,YAAa,4BAAyB,WAA8D,kBAAxDlG,EAAAA,SAAS+U,aAAa1U,MAAQL,EAAAA,QAAQ+U,aAAW,YAAO,QAC1K5W,EAAAA,EAAAA,IAIUmC,EAAAA,EAAAA,CAHRC,QAAK,yBAAO7B,EAAAA,cAAU,WACvB8B,KAAK,YACLC,KAAK,aAGPtC,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAAiF,EAAjF1B,EAAAA,EAAAA,IAAiFwC,EAAAA,EAAAA,CAA1Ed,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,eAAE7B,EAAAA,a,mBAAY,IAAG,UAAH,U,OACtEP,EAAAA,EAAAA,IAAuFwC,EAAAA,EAAAA,CAAhFd,MAAM,8BAA+BU,QAAK,yBAAOP,EAAAA,SAAU,GAAH,Y,mBAAU,IAAM,UAAN,a,kDAS7E,QACCuB,OAAQ,CAAEC,GACVC,MAAO,CAAC,QAAS,qBAEjBC,OACC,MAAO,CACNJ,SAAS,EACTwE,QAAS,KAEX,EAEA3E,QAAS,CACRrE,iBAAgB,QAAEgJ,IACjB7E,KAAK6E,QAAUA,EACf7E,KAAKK,SAAU,CAChB,EAEAxE,iBACC,IACC,MAAM8Z,EAAe,IAAI3V,KAAK6E,QAASI,YAAajF,KAAK6E,QAAQI,YAAc,EAAI,EAAGW,WAAY5F,KAAK6E,QAAQe,WAAWrK,KAAKsK,WACvHA,EAAUC,cACVD,OAEF,QAAEhB,SAAkB7E,KAAKa,OAAOoD,SAAU,eAAc0R,EAAYva,KAAMua,GAEhF3V,KAAKK,SAAU,EACfL,KAAKe,MAAM,oBAAqB8D,EAGjC,CAFE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEAN,aACCZ,KAAKK,SAAU,CAChB,ICnDF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCJQzB,MAAM,6C,2CAFbC,EAAAA,EAAAA,IAeWC,EAAAA,EAAAA,C,WAfQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAaS,EAbT9B,EAAAA,EAAAA,IAaS+B,EAAAA,EAAAA,KAAAA,C,kBAZR,IAOM,EAPNC,EAAAA,EAAAA,GAOM,MAPNC,GAOM,EANLD,EAAAA,EAAAA,GAA0H,oBAAtH,2BAAuB,QAAGH,EAAAA,WAAWkG,YAAc,gBAAkB,YAAa,IAAC,WAA6B,kBAAvBlG,EAAAA,YAAYK,MAAI,YAAO,QACpHlC,EAAAA,EAAAA,IAIUmC,EAAAA,EAAAA,CAHRC,QAAK,yBAAOP,EAAAA,SAAU,GAAH,WACpBQ,KAAK,YACLC,KAAK,aAGPtC,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAAiF,EAAjF1B,EAAAA,EAAAA,IAAiFwC,EAAAA,EAAAA,CAA1Ed,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,eAAE7B,EAAAA,a,mBAAY,IAAG,UAAH,U,OACtEP,EAAAA,EAAAA,IAAuFwC,EAAAA,EAAAA,CAAhFd,MAAM,8BAA+BU,QAAK,yBAAOP,EAAAA,SAAU,GAAH,Y,mBAAU,IAAM,UAAN,a,kDAS7E,QACCuB,OAAQ,CAAEC,GACVC,MAAO,CAAC,QAAS,sBAEjBC,OACC,MAAO,CACNJ,SAAS,EACTmN,WAAY,KAEd,EAEAtN,QAAS,CACRrE,iBAAgB,WAAE2R,IACjBxN,KAAKwN,WAAaA,EAClBxN,KAAKK,SAAU,CAChB,EAEAxE,iBACC,IACC,MAAM+Z,EAAiB,IAAI5V,KAAKwN,WAAYvI,YAAajF,KAAKwN,WAAWvI,YAAc,EAAI,IACrF,WAAEuI,SAAqBxN,KAAKa,OAAOoD,SAAU,kBAAiB2R,EAAexa,KAAMwa,GAEzF5V,KAAKK,SAAU,EACfL,KAAKe,MAAM,qBAAsByM,GACjCxN,KAAK+F,QAAQC,KAAK,oBAGnB,CAFE,MAAO9E,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,IC7CF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCJQtC,MAAM,6C,IACVM,EAAAA,EAAAA,GAA+B,UAA3B,0BAAsB,G,2CAH7BL,EAAAA,EAAAA,IAYWC,EAAAA,EAAAA,CAZD,YAAU,M,WAAeC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAEC,WAAA,I,mBAC3C,IAUS,EAVT9B,EAAAA,EAAAA,IAUS+B,EAAAA,EAAAA,KAAAA,C,kBATR,IAIM,EAJNC,EAAAA,EAAAA,GAIM,MAJNC,GAIM,CAHL2F,IAEA5H,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAE1DtC,EAAAA,EAAAA,IAEiBuC,EAAAA,EAAAA,CAFDb,MAAM,2CAAyC,C,kBAC9D,IAA8P,EAA9P1B,EAAAA,EAAAA,IAA8PuE,EAAAA,GAAAA,C,WAAvO1C,EAAAA,KAAKgN,M,qCAALhN,EAAAA,KAAKgN,MAAK,GAAEpM,QAAQ,OAAO,WAAS,QAAQqH,KAAK,SAAUnF,KAAM9C,EAAAA,GAAGwM,KAAKQ,MAAMrK,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGwM,KAAKQ,MAAMrK,SAAW,KAAO9C,OAAK,UAAAsC,MAAWnC,EAAAA,GAAGwM,KAAKQ,MAAMrK,QAAQC,QAAgB,SAAOC,MAAM,mB,gDAE3O1E,EAAAA,EAAAA,IAAqEwC,EAAAA,EAAAA,CAA7DJ,QAAK,eAAE7B,EAAAA,UAAUmB,MAAM,uB,mBAAsB,IAAQ,UAAR,e,yCAYxD,QACC0B,OAAQ,CAAEC,GACVC,MAAO,CAAC,QAAS,qBAEjBC,OACC,MAAO,CACNqC,IAAIC,EAAAA,EAAAA,MACJC,WAAU,IACV3C,SAAS,EACTwE,QAAS,KACT0G,KAAM,CACLQ,MAAO,MAGV,EAEAtI,cACC,MAAO,CACN8H,KAAM,CACLQ,MAAO,CAACrI,SAAQ,KAAEkN,QAAO,KAAEC,UAAUA,EAAAA,EAAAA,IAAS,MAGjD,EAEA3Q,QAAS,CACRrE,iBAAgB,QAAEgJ,IACjB7E,KAAK6E,QAAUA,EACf7E,KAAKK,SAAU,EACfL,KAAKuL,KAAKQ,MAAQ,KAClB/L,KAAK2D,WAAU,IAAM3D,KAAK8C,GAAGc,UAC9B,EAEA/H,eACC,UAAWmE,KAAK8C,GAAGkB,YAClB,OAEGhE,KAAK6E,QAAQW,WAAUxF,KAAK6E,QAAQW,SAAWpB,EAAAA,EAAAA,yBAAiCpE,KAAK6E,QAAQW,WAEjGxF,KAAK6E,QAAQe,WAAWpB,KAAK,CAC5BpJ,GAAI,KACJ6L,YAAajH,KAAK6E,QAAQoC,YAC1BwJ,KAAgC,iBAAnBzQ,KAAKuL,KAAKQ,MAAoB8C,WAAW7O,KAAKuL,KAAKQ,OAAS/L,KAAKuL,KAAKQ,QAGpF,MAAM8J,EAAU,IACZ7V,KAAK6E,QACRe,WAAY5F,KAAK6E,QAAQe,WAAWrK,KAAKsK,WACjCA,EAAUC,cACVD,MAIT,IACC,MAAM,QAAEhB,SAAkB7E,KAAKa,OAAOoD,SAAU,eAAcjE,KAAK6E,QAAQzJ,KAAMya,GAEjF7V,KAAKY,aACLZ,KAAK+F,QAAQC,KAAK,oBAAqBnB,EAGxC,CAFE,MAAO3D,GACRlB,KAAKmB,OAAOD,MAAMA,EAAM+E,SAAW/E,EACpC,CACD,EAEAN,aACCZ,KAAKK,SAAU,EACfL,KAAK8C,GAAGc,QACT,ICnFF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHShF,MAAM,0D,mGAHdC,EAAAA,EAAAA,IAiCWC,EAAAA,EAAAA,C,WAjCQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAM,aAAW,MAAMuC,OAAO,QAAQtC,WAAA,I,mBAC3E,IA+Ba,EA/Bb9B,EAAAA,EAAAA,IA+BaqE,EAAAA,CA/BAC,QAASzC,EAAAA,QAASH,MAAM,S,mBACpC,IA6BS,EA7BT1B,EAAAA,EAAAA,IA6BS+B,EAAAA,EAAAA,CA7BDqC,OAAO,OAAO1C,MAAM,sB,mBAC3B,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLD,EAAAA,EAAAA,GAA0D,mBAAnDH,EAAAA,QAAQ3D,GAAK,UAAY,YAAa,WAAQ,IACrD8B,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAoBiBuC,EAAAA,EAAAA,CApBDb,MAAM,oCAAkC,C,kBACvD,IAGsD,EAHtD1B,EAAAA,EAAAA,IAGsDuE,EAAAA,GAAAA,CAHvC8E,QAAO/D,EAAAA,aAAc5D,OAAK,SAAC,cAAa,CAAAsC,MACrCnC,EAAAA,GAAG2W,QAAQtW,KAAKsC,QAAQC,UADcC,MAAM,iBAE5DC,KAAM9C,EAAAA,GAAG2W,QAAQtW,KAAKsC,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAG2W,QAAQtW,KAAKsC,SAAW,K,WAC1E3C,EAAAA,QAAQK,K,qCAARL,EAAAA,QAAQK,KAAI,GAAEO,QAAQ,Q,iDAEhCzC,EAAAA,EAAAA,IAEqDqF,EAAAA,EAAAA,CAFpC,gBAAeC,EAAAA,aAAe,aAAW,EAAME,UAAA,GAAUd,MAAM,uBAC9Ea,MAAK,IAAMD,EAAAA,mBAAoB,aAAW,YAAY,aAAW,KAAK7C,QAAQ,OAC/Ef,MAAM,c,WAAuBG,EAAAA,QAAQkI,Y,qCAARlI,EAAAA,QAAQkI,YAAW,I,gDAEjD/J,EAAAA,EAAAA,IAEyFwJ,EAAAA,CAF7E9H,OAAK,SAAC,mBAAkB,CAAAsC,MAClBnC,EAAAA,GAAG+W,WAAWpU,SAASC,U,WADK5C,EAAAA,W,qCAAAA,EAAAA,WAAU,GAAG,cAAY,EAAM6H,OAAO,aAAaC,OAAO,KACpDpD,YAAa1E,EAAAA,GAAG+W,WAAY,cAAY,SAC3F,cAAY,SAAShP,YAAY,QAAS,sBAAoB,EAAOvJ,IAAI,c,8CAE1EL,EAAAA,EAAAA,IAEkGuE,EAAAA,GAAAA,C,WAF3E1C,EAAAA,e,qCAAAA,EAAAA,eAAc,GAAEiI,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QACzEkC,KAAM9C,EAAAA,GAAGqJ,eAAe1G,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGqJ,eAAe1G,SAAW,KACtF9C,OAAK,UAAAsC,MAAWnC,EAAAA,GAAGqJ,eAAe1G,QAAQC,QAAgB,qBAAmBC,MAAM,Y,uCACrF1E,EAAAA,EAAAA,IAEyFuE,EAAAA,GAAAA,C,WAFlE1C,EAAAA,a,qCAAAA,EAAAA,aAAY,GAAEiI,KAAK,OAAOrH,QAAQ,OAAO,WAAS,QACvEkC,KAAM9C,EAAAA,GAAGsJ,aAAa3G,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGsJ,aAAa3G,SAAW,KAClF9C,OAAK,UAAAsC,MAAWnC,EAAAA,GAAGsJ,aAAa3G,QAAQC,QAAgB,gBAAcC,MAAM,U,gDAG/E1E,EAAAA,EAAAA,IAA+FwC,EAAAA,EAAAA,CAAxFd,MAAM,iBAAkBU,QAAK,eAAE7B,EAAAA,S,mBAAQ,IAAyC,mBAAtCsB,EAAAA,QAAQ3D,GAAK,UAAY,YAAf,M,gEAiB/D,QACCkF,OAAQ,CAACyS,GAAsBlQ,EAAAA,EAAmBtC,GAElDC,MAAO,CAAC,SAERgL,WAAY,CACXC,WAAUA,GAAAA,GAIXhL,OACC,MAAO,CACNJ,SAAS,EACTyC,IAAIC,EAAAA,EAAAA,MACJC,WAAU,IACV0S,QAAS,KACTI,WAAY,KACZ1N,eAAgB,KAChBC,aAAc,KACdnG,SAAU,KAEZ,EAEAgB,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,0BAElBA,EAAAA,EAAAA,IAAW,OAAQ,CAAC,UAGxBM,cACC,MAAO,CACNiS,QAAS,CACRtW,KAAM,CAAEsE,SAAQA,EAAAA,IAChByB,MAAO,CAAEzB,SAAQA,EAAAA,IACjB0B,IAAK,CAAE1B,SAAQA,EAAAA,KAIhB0E,eAAgB,CAAE1E,SAAQA,EAAAA,IAC1B2E,aAAc,CAAE3E,SAAQA,EAAAA,IACxBoS,WAAY,CAAEpS,SAAQA,EAAAA,IAExB,EAEAxD,QAAS,CACRrE,iBAAgB,QAAE6Z,IACjB1V,KAAKK,SAAU,EACfL,KAAK0V,QAAU,KACf1V,KAAK8V,WAAa,KAClB9V,KAAKoI,eAAiB,KACtBpI,KAAKqI,aAAe,KAEpBrI,KAAK2D,WAAU,KACd3D,KAAK6M,gBACL7M,KAAK8C,GAAGc,QAAO,IAGhB,IACK8R,GAASta,IACZsa,QAAgB1V,KAAKa,OAAOiD,cAAe,eAAc4R,EAAQta,MAEjE4E,KAAKoI,eAAiB0D,KAAO4J,EAAQvQ,OAAOyB,OAAO,SACnD5G,KAAKqI,aAAeyD,KAAO4J,EAAQtQ,KAAKwB,OAAO,SAC/C5G,KAAK8V,WAAa,IAAInP,KAAK+O,EAAQvQ,OACnCuQ,EAAQzO,YAAcyO,EAAQxT,SAAS9G,GAEvC4E,KAAK0V,QAAUA,IAEf1V,KAAK0V,QAAU,CAACvQ,MAAO,KAAM8B,YAAajH,KAAK8Q,KAAK1V,IAEhDsa,EAAQtN,gBAAkBsN,EAAQI,YAAcJ,EAAQzO,cAC3DjH,KAAK8V,WAAaJ,EAAQI,WAC1B9V,KAAKoI,eAAiBsN,EAAQtN,eAC9BpI,KAAK0V,QAAQzO,YAAcyO,EAAQzO,aAKtC,CAFE,MAAO/F,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEArF,aACC,SAAYmE,KAAK8C,GAAGkB,YAEpB,IAGC,GAAIhE,KAAK0V,QAAQta,GAAI,CACpB,MAAM,QAAEsa,SAAkB1V,KAAKa,OAAOoD,SAAU,eAAcjE,KAAK0V,QAAQta,KAAM4E,KAAK0V,SACtF1V,KAAK0V,QAAUA,CAChB,KAAO,CACN,MAAM,QAAEA,SAAkB1V,KAAKa,OAAOsD,UAAU,cAAenE,KAAK0V,SACpE1V,KAAK0V,QAAUA,CAChB,CAEA1V,KAAK+F,QAAQC,KAAK,oBAAqBhG,KAAK0V,SAC5C1V,KAAK+F,QAAQC,KAAK,mBAClBhG,KAAKY,YAGN,CAFE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEAN,aACCZ,KAAKyE,MAAM,cAAcsR,aACzB/V,KAAKK,SAAU,EACfL,KAAKe,MAAM,QAASf,KAAK0V,QAC1B,EAEAnH,oBAAmB,IAAEnM,IACpBpC,KAAK0V,QAAQxT,SAAWlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAMgH,GAChF,EAEA4T,kBACC,IAAKhW,KAAKoI,iBAAmBpI,KAAKqI,eAAiBrI,KAAK8V,WAAY,OAEpE,MAAMG,EAAgBjW,KAAKoI,eAAewD,MAAM,KAC1CsK,EAAclW,KAAKqI,aAAauD,MAAM,KAE5C5L,KAAK0V,QAAQvQ,MAAQ2G,KAAO9L,KAAK8V,YAC/BK,IAAI,CAAEpK,MAAOC,SAASiK,EAAc,IAAKhK,QAASD,SAASiK,EAAc,MACzErP,OAAO,oBACT5G,KAAK0V,QAAQtQ,IAAM0G,KAAO9L,KAAK8V,YAC7BK,IAAI,CAAEpK,MAAOC,SAASkK,EAAY,IAAKjK,QAASD,SAASkK,EAAY,MACrEtP,OAAO,mBACV,GAGDvC,MAAO,CACNgE,eACCrI,KAAKgW,iBACN,EAEA5N,iBACCpI,KAAKgW,iBACN,EAEAF,aACC9V,KAAKgW,iBACN,ICtLF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCJQpX,MAAM,6C,2CAFbC,EAAAA,EAAAA,IAiBWC,EAAAA,EAAAA,C,WAjBQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAeS,EAfT9B,EAAAA,EAAAA,IAeS+B,EAAAA,EAAAA,KAAAA,C,kBAdR,IASM,EATNC,EAAAA,EAAAA,GASM,MATNC,GASM,EARLD,EAAAA,EAAAA,GAAoE,oBAAhE,mCAA8B,OAA4B,kBAAtBH,EAAAA,WAAWK,MAAI,YAAO,QAE9DlC,EAAAA,EAAAA,IAKUmC,EAAAA,EAAAA,CAJRC,QAAK,yBAAO7B,EAAAA,cAAU,WACvB8B,KAAK,YACLC,KAAK,QACLZ,MAAM,aAGR1B,EAAAA,EAAAA,IAGiBuC,EAAAA,EAAAA,CAHDb,MAAM,uDAAqD,C,kBAC1E,IAAgH,EAAhH1B,EAAAA,EAAAA,IAAgHwC,EAAAA,EAAAA,CAAzGd,MAAM,sBAAsBe,QAAQ,OAAQL,QAAK,eAAE7B,EAAAA,oBAAqBmC,SAAUb,EAAAA,Y,mBAAY,IAAG,UAAH,U,sBACrG7B,EAAAA,EAAAA,IAAoFwC,EAAAA,EAAAA,CAA7Ed,MAAM,8BAA+BU,QAAK,yBAAO7B,EAAAA,cAAU,Y,mBAAI,IAAM,UAAN,a,kDAS1E,QACC6C,OAAQ,CAAEC,GACVC,MAAO,CAAC,yBAERC,OACC,MAAO,CACNJ,SAAS,EACTmN,WAAY,KACZ7M,YAAY,EAEd,EAEAT,QAAS,CACRrE,iBAAgB,WAAE2R,IACjBxN,KAAKwN,WAAaA,EAClBxN,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEAxE,yBACC,IAAImE,KAAKW,WAAT,CAEAX,KAAKW,YAAa,EAElB,UACOX,KAAKa,OAAOC,YAAa,kBAAiBd,KAAKwN,WAAWpS,MAChE4E,KAAKe,MAAM,wBAAyBf,KAAKwN,YACzCxN,KAAKY,YAKN,CAJE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDlB,KAAKW,YAAa,CACnB,CAZ2B,CAa5B,ICvDF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,sBCHS/B,MAAM,0D,IAULA,MAAM,mB,IAeNA,MAAM,6D,IAWNA,MAAM,6D,IA0BPA,MAAM,6C,IAINA,MAAM,6E,IAELA,MAAM,wB,0BAONA,MAAM,S,IAGLA,MAAM,0C,IAMNA,MAAM,uB,6NAvFhBC,EAAAA,EAAAA,IA8FWC,EAAAA,EAAAA,C,WA9FQC,EAAAA,Q,uCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAM,aAAW,MAAMuC,OAAO,QAAQtC,WAAA,I,mBAC3E,IA4Fa,EA5Fb9B,EAAAA,EAAAA,IA4FaqE,EAAAA,CA5FAC,QAASzC,EAAAA,WAAYH,MAAM,S,mBACvC,IA4DS,CA5DKG,EAAAA,WAAQ,WAAtBF,EAAAA,EAAAA,IA4DSI,EAAAA,EAAAA,C,MA5DeqC,OAAO,OAAO1C,MAAM,gC,mBAC3C,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLD,EAAAA,EAAAA,GAA8E,mBAAvEH,EAAAA,YAAY3D,GAAK,sBAAwB,wBAA3B,IACrB8B,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAkDiBuC,EAAAA,EAAAA,CAlDDb,MAAM,oCAAkC,C,kBACvD,IAA4U,EAA5U1B,EAAAA,EAAAA,IAA4UqF,EAAAA,EAAAA,CAA3T,gBAAeC,EAAAA,aAAe,aAAW,E,WAAezD,EAAAA,WAAWsP,W,qCAAXtP,EAAAA,WAAWsP,WAAU,GAAGzM,MAAOY,EAAAA,GAAG,gBAAkB5D,OAAK,UAAAsC,MAAUnC,EAAAA,GAAGyO,WAAWa,WAAW3M,QAAQC,QAAyF,gBAA/Ec,MAAOD,EAAAA,gBAAiB,aAAW,OAAO,aAAW,KAAK7C,QAAQ,OAA2B+C,UAAA,GAAW,kBAAa,eAAE3D,EAAAA,kBAAoB4J,I,gEAElUzL,EAAAA,EAAAA,IAA+RuE,EAAAA,GAAAA,C,WAAxQ1C,EAAAA,WAAWK,K,qCAAXL,EAAAA,WAAWK,KAAI,GAAGmH,QAAO/D,EAAAA,aAAc5D,OAAK,SAAC,cAAa,CAAAsC,MAA2DnC,EAAAA,GAAGyO,WAAWpO,KAAKsC,QAAQC,UAArFC,MAAM,oBAAoBjC,QAAQ,OAA8DkC,KAAM9C,EAAAA,GAAGyO,WAAWpO,KAAKsC,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGyO,WAAWpO,KAAKsC,SAAW,M,iDAE1QxC,EAAAA,EAAAA,GAOM,MAPN4F,GAOM,EALL5H,EAAAA,EAAAA,IACoGwJ,EAAAA,C,WAD/E3H,EAAAA,WAAWyG,S,qCAAXzG,EAAAA,WAAWyG,SAAQ,GAAG,cAAY,EAAOe,QAAO/D,EAAAA,YAAc,WAAQ,IAAMmE,KAAQ/H,OAAK,SAAC,mBAAkB,CAAAsC,MAC/GnC,EAAAA,GAAGyO,WAAWhI,SAAS9D,SAASC,UADgFiF,OAAO,aAAaC,OAAO,KAAK,cAAY,SAAS,cAAY,SAASC,YAAY,QAC3JrD,YAAa1E,EAAAA,GAAGyO,WAAWhI,U,mEAExFtI,EAAAA,EAAAA,IACqLuE,EAAAA,GAAAA,CADvK7C,OAAK,SAAC,oBAAmB,CAAAsC,MACtBnC,EAAAA,GAAGyO,WAAWzG,eAAerF,QAAQC,UADdhC,QAAQ,O,WAAgBZ,EAAAA,WAAWgI,e,qCAAXhI,EAAAA,WAAWgI,eAAc,GAAEnF,MAAM,MAAM,oBAAkB,oBAAoBoF,KAAK,OAAST,QAAO/D,EAAAA,aACjGX,KAAM9C,EAAAA,GAAGyO,WAAWzG,eAAerF,QAAU3C,EAAAA,WAAW+C,YAAY/C,EAAAA,GAAGyO,WAAWzG,eAAerF,SAAW,M,mDAG9KxE,EAAAA,EAAAA,IAAuLuE,EAAAA,GAAAA,C,WAAhK1C,EAAAA,WAAWuI,S,qCAAXvI,EAAAA,WAAWuI,SAAQ,GAAGf,QAAO/D,EAAAA,aAAc5D,MAAM,cAAce,QAAQ,OAAOqH,KAAK,SAAUpF,MAAK,GAAK7C,EAAAA,WAAWuI,aAAe1H,UAAU,G,0CAElK1C,EAAAA,EAAAA,IAAyQkZ,GAAAA,EAAAA,C,WAAtPrX,EAAAA,WAAWsX,Q,qCAAXtX,EAAAA,WAAWsX,QAAO,GAAG9P,QAAO/D,EAAAA,aAAc5D,OAAK,SAAC,4BAA2B,CAAAsC,MAAiBnC,EAAAA,GAAGyO,WAAWvL,UAAUP,QAAQC,UAASC,MAAM,MAAMjC,QAAQ,OAAQ8C,MAAOD,EAAAA,MAAO,aAAW,KAAK,aAAW,OAAQ5C,SAAUb,EAAAA,WAAW3D,I,4DAEzO2D,EAAAA,WAAW3D,K,aAY3B2G,EAAAA,EAAAA,IAMeC,EAAAA,GAAAA,CAAAI,IAAAA,IAAA,QANkBrD,EAAAA,WAAWuX,eAAvBpU,K,WAArBrD,EAAAA,EAAAA,IAMe4C,EAAAA,GAAAA,CAN6CW,IAAKF,EAAS9G,GAAIwD,MAAM,cAAegD,MAAK,GAAKM,EAAS9C,QAAQ8C,EAASsO,UAAW7Q,QAAQ,OAAOmH,YAAY,I,WAAa5E,EAASoF,S,yBAATpF,EAASoF,SAAQ,EAAEN,KAAK,SAAUpH,UAAU,G,mBACrO,IAEI,EAFJV,EAAAA,EAAAA,GAEI,IAFJkH,IAEI,QADAlE,GAAU9C,KAAKmR,OAAO,GAAKrO,GAAUsO,QAAQD,OAAO,IAAD,IAGvDrT,EAAAA,EAAAA,IAA2GmC,EAAAA,EAAAA,CAAlGC,SAAK,YAAO7B,EAAAA,eAAeyE,IAAQ,UAAGtD,MAAM,eAAeW,KAAK,YAAYC,KAAK,S,0FAjB9D,aAC7BuC,EAAAA,EAAAA,IAMeC,EAAAA,GAAAA,CAAAI,IAAAA,IAAA,QAN2BrD,EAAAA,WAAWkD,WAAS,CAAxCC,EAAUC,M,WAAhCtD,EAAAA,EAAAA,IAMe4C,EAAAA,GAAAA,CANkDW,IAAKF,EAAS9G,GAAKmL,QAAO/D,EAAAA,aAAc5D,OAAK,SAAC,cAAa,CAAAsC,MAAiBgB,EAAS4M,WAAWlN,MAAK,GAAKM,EAAS9C,QAAQ8C,EAASsO,UAAW7Q,QAAQ,OAAOmH,YAAY,I,WAAa/H,EAAAA,WAAWkD,UAAUE,GAAOmF,S,yBAA5BvI,EAAAA,WAAWkD,UAAUE,GAAOmF,SAAQ,EAAEN,KAAK,SAASuP,IAAI,IAAK7N,QAAOlG,EAAAA,2B,mBAC3T,IAEI,EAFJtD,EAAAA,EAAAA,GAEI,IAFJiH,IAEI,QADAjE,GAAU9C,KAAKmR,OAAO,GAAKrO,GAAUsO,QAAQD,OAAO,IAAD,IAGvDrT,EAAAA,EAAAA,IAA2GmC,EAAAA,EAAAA,CAAlGC,SAAK,YAAO7B,EAAAA,eAAeyE,IAAQ,UAAGtD,MAAM,eAAeW,KAAK,YAAYC,KAAK,S,oHAetBT,EAAAA,uBAAoB,WAA1FF,EAAAA,EAAAA,IAAkV0D,EAAAA,EAAAA,C,MAAjU,gBAAeC,EAAAA,aAAe,aAAW,EAAmCZ,MAAOY,EAAAA,GAAG,uBAAyB5D,OAAK,UAAAsC,MAAUnC,EAAAA,GAAGyO,WAAWa,WAAW3M,QAAQC,QAA+F,gBAArFc,MAAOD,EAAAA,iBAAkB,aAAW,YAAY,aAAW,KAAK7C,QAAQ,OAA2B+C,UAAA,GAAW,sBAAoBF,EAAAA,oB,0FAI5TtF,EAAAA,EAAAA,IAAuOwC,EAAAA,EAAAA,CAA/NE,SAAUb,EAAAA,WAAW3D,GAAIwD,OAAK,SAAC,8BAA6B,CAAAsC,MAAiBnC,EAAAA,GAAGyO,WAAWa,WAAW3M,QAAQC,UAAUrC,QAAK,eAAEP,EAAAA,sBAAuB,I,mBAAO,IAAuC,EAAvC7B,EAAAA,EAAAA,IAAuCmC,EAAAA,EAAAA,CAA/BT,MAAM,OAAOW,KAAK,c,QAAa,0B,8BAE5ML,EAAAA,EAAAA,GAEM,OAFDN,OAAK,SAAC,oBAAmB,CAAAsC,MAAkBnC,EAAAA,GAAGyO,WAAWhF,YAAY9G,QAAQC,W,EACjFzE,EAAAA,EAAAA,IAAwJqL,EAAAA,CAA3IhL,IAAI,c,WAAuBwB,EAAAA,WAAWyJ,Y,qCAAXzJ,EAAAA,WAAWyJ,YAAW,GAAE1B,YAAY,QAAQ2B,MAAM,OAAO7J,MAAM,mBAAoB4X,QAAO/Y,EAAAA,oB,sCAGnIP,EAAAA,EAAAA,IAAsH4L,EAAAA,CAAtGlK,MAAM,cAAemK,MAAOhK,EAAAA,WAAWgK,MAAQC,gBAAgBvL,EAAAA,cAAgB,YAAWsB,EAAAA,U,yDAGtEA,EAAAA,W,WACrCF,EAAAA,EAAAA,IAAoFa,EAAAA,EAAAA,C,MAA7Ed,MAAM,0BAAiCgB,SAAA,I,mBAAS,IAAqB,mBAAlB4C,EAAAA,GAAG,eAAD,M,SADf,WAA7C3D,EAAAA,EAAAA,IAAkHa,EAAAA,EAAAA,C,MAA3Gd,MAAM,iBAAmCU,QAAK,iBAAE7B,EAAAA,S,mBAAQ,IAA2C,mBAAxCsB,EAAAA,WAAW3D,GAAK,SAAW,YAAd,M,8BAIhFyD,EAAAA,EAAAA,IA4BSI,EAAAA,EAAAA,C,MA5BMqC,OAAO,OAAO1C,MAAM,gC,mBAClC,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNmM,GAGM,EAFLnM,EAAAA,EAAAA,GAAoC,kBAA9BH,EAAAA,WAAW6F,cAAY,IAC7B1H,EAAAA,EAAAA,IAAuFmC,EAAAA,EAAAA,CAA9EC,QAAK,2BAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,QAAQZ,MAAM,YAExEM,EAAAA,EAAAA,GAMM,MANNoM,GAMM,EALLpM,EAAAA,EAAAA,GAA8B,mBAAvBH,EAAAA,WAAWK,MAAI,IACtBF,EAAAA,EAAAA,GAGM,MAHNmH,GAGM,CAFOtH,EAAAA,WAAWkG,a,iBAAW,WAAlClD,EAAAA,EAAAA,IAA8J,O,MAA1HnD,MAAM,OAAQyK,IAAKC,EAAQ,OAAwCC,IAAI,cAAejK,QAAK,2BAAOP,EAAAA,UAAYA,EAAAA,UAAQ,Y,aAC1JG,EAAAA,EAAAA,GAAkJ,OAA7IN,MAAM,aAAcyK,IAAKC,EAAQ,OAAqCC,IAAI,aAAcjK,QAAK,2BAAO7B,EAAAA,0BAA0BsB,EAAAA,aAAU,Y,gBAI/I7B,EAAAA,EAAAA,IAciBuC,EAAAA,EAAAA,CAdDb,MAAM,oCAAkC,C,kBACvD,IAYM,EAZNM,EAAAA,EAAAA,GAYM,MAZNwI,GAYM,EAXLxK,EAAAA,EAAAA,IAAqDuZ,EAAAA,CAA1BjJ,WAAYzO,EAAAA,YAAU,wBAEjDG,EAAAA,EAAAA,GAEM,MAFNgJ,GAEM,EADLhL,EAAAA,EAAAA,IAAsJwC,EAAAA,EAAAA,CAA/Id,MAAM,iBAAkBU,QAAK,iBAAE7B,EAAAA,iBAAiBsB,EAAAA,c,mBAAa,IAA0E,mBAAvEA,EAAAA,WAAWkG,YAAc,qBAAuB,sBAA1B,M,SAG9F/H,EAAAA,EAAAA,IAAiDwZ,EAAAA,CAAjChC,SAAU3V,EAAAA,WAAW2V,U,sBAErCxV,EAAAA,EAAAA,GAEM,MAFNuI,GAEM,EADLvK,EAAAA,EAAAA,IAAmHwC,EAAAA,EAAAA,CAA5Gd,MAAM,oBAAqBU,QAAK,iBAAE7B,EAAAA,Y,mBAAY,IAAuC,EAAvCP,EAAAA,EAAAA,IAAuCmC,EAAAA,EAAAA,CAA/BT,MAAM,OAAOW,KAAK,c,QAAa,sB,uGCvF1FX,MAAM,a,UAEeA,MAAM,Q,UAC5BA,MAAM,Q,IACNA,MAAM,uB,IACNA,MAAM,+D,IAGNA,MAAM,mB,UAGNA,MAAM,oB,eAGNA,MAAM,e,IACJA,MAAM,wB,+HAhBfC,EAAAA,EAAAA,IAyBU8X,GAAAA,EAAAA,CAzBD/X,MAAM,aAAW,C,kBACzB,IAuBQ,EAvBRM,EAAAA,EAAAA,GAuBQ,QAvBRC,GAuBQ,gBAtBP4C,EAAAA,EAAAA,IAqBKC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IArBiBvE,EAAAA,eAAXoH,K,WAAX9C,EAAAA,EAAAA,IAqBK,MArBiCK,IAAKyC,EAAQzJ,I,CACxCyJ,GAAS4B,QAAK,WAAxB1E,EAAAA,EAAAA,IAA+D,KAA/D+C,IAA+D,QAArBD,EAAQ4B,OAAK,iBACvD1E,EAAAA,EAAAA,IAAuD,KAAvDoE,IAAuD,QAA5BtB,GAASiP,aAAW,KAC/C5U,EAAAA,EAAAA,GAKK,KALLkH,GAKK,EAJJlH,EAAAA,EAAAA,GAEI,IAFJmM,IAEI,QADAxG,EAAQ+R,mBAAiB,IAE7B1X,EAAAA,EAAAA,GAA8D,IAA9DoM,IAA8D,QAAhCzG,EAAQgS,mBAAiB,MAExD3X,EAAAA,EAAAA,GAGK,WAF8B2F,EAAQI,cAAW,WAArDlD,EAAAA,EAAAA,IAAmE,IAAnEsE,GAAuD,cAAQ,eACrDxB,EAAQI,aAAuB,iBAAZ,WAA7BlD,EAAAA,EAAAA,IAA6C,OAAd,kBAEhC7C,EAAAA,EAAAA,GAOK,KAPLyR,GAOK,EANJzR,EAAAA,EAAAA,GAKM,MALNwI,GAKM,CAJM7C,EAAQI,cAAW,WAA9BlD,EAAAA,EAAAA,IAAuL,O,MAAvJnD,MAAM,0BAA2ByK,IAAKC,EAAQ,OAA2CC,IAAI,iBAAkBjK,SAAK,YAAO7B,EAAAA,kBAAkBoH,IAAO,W,4BACxKA,EAAQI,a,iBAAW,WAA/BlD,EAAAA,EAAAA,IAA4K,O,MAA3InD,MAAM,cAAeyK,IAAKC,EAAQ,OAA2CC,IAAI,iBAAkBjK,SAAK,YAAO7B,EAAAA,kBAAkBoH,IAAO,W,aACzK3F,EAAAA,EAAAA,GAAwI,OAAnIN,MAAM,mBAAoByK,IAAKC,EAAQ,OAAqCC,IAAI,cAAejK,SAAK,YAAO7B,EAAAA,cAAcoH,IAAO,W,YACrI3F,EAAAA,EAAAA,GAAuI,OAAlIN,MAAM,aAAcyK,IAAKC,EAAQ,OAAqCC,IAAI,aAAcjK,SAAK,YAAO7B,EAAAA,oBAAoBoH,IAAO,W,qCAW1I,QACC0F,MAAO,CACNmK,SAAU,CACT1N,KAAMwD,MACN9G,UAAU,IAIZR,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CAAC,sBAErB2T,gBACC,OAAO9W,KAAK0U,SAASnZ,KAAIsJ,IACxB,MAAM3C,EAAWlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAMyJ,EAAQoC,cAEhF,MAAO,IACHpC,EACH+R,kBAAmB1U,EAASoO,UAC5BuG,kBAAmB3U,EAASG,UAC5B,GAEH,GAIDnC,QAAS,CACRyU,oBAAoB9P,GACnB7E,KAAK+F,QAAQC,KAAK,yBAA0B,CAAEnB,WAC/C,EAEAkS,cAAclS,GACb7E,KAAK+F,QAAQC,KAAK,qBAAsB,CAAEnB,UAASwL,UAAU,GAC9D,EAEAxU,wBAAwBgJ,GACvB7E,KAAK+F,QAAQC,KAAK,2BAA4B,CAAEnB,WACjD,IC7DF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,U,8SCRC3H,EAAAA,EAAAA,IAAiD8Z,EAAAA,CAAlCC,OAAQ3M,EAAAA,WAAWrF,a,oBAClC/H,EAAAA,EAAAA,IAAiDga,EAAAA,CAAjC1R,SAAU8E,EAAAA,WAAW9E,U,sBACrCtI,EAAAA,EAAAA,IAAwDoS,EAAAA,CAAtC,cAAahF,EAAAA,WAAWiF,Y,yBAC1CrS,EAAAA,EAAAA,IAAoGia,EAAAA,CAAvFzW,KAAM4J,EAAAA,WAAW5J,KAAOuB,UAAWqI,EAAAA,WAAWgM,eAAiBhM,EAAAA,WAAWrI,W,8BACvF/E,EAAAA,EAAAA,IAAuDka,EAAAA,CAA9BrL,MAAOzB,EAAAA,WAAWhD,U,mBACxCpK,EAAAA,EAAAA,IAAgFma,EAAAA,CAAvDtL,MAAOzB,EAAAA,WAAWhD,SAAWgD,EAAAA,WAAWgN,a,mBACpEpa,EAAAA,EAAAA,IAAmHqa,EAAAA,CAA9FxL,MAAOzB,EAAAA,WAAWgN,YAAe,cAAahN,EAAAA,WAAWgN,YAAchN,EAAAA,WAAWhD,U,iCACvGpK,EAAAA,EAAAA,IAAyDsa,EAAAA,CAAvChP,YAAa8B,EAAAA,WAAW9B,a,yBAC1CtL,EAAAA,EAAAA,IAAwC8S,EAAAA,CAA3BjH,MAAOuB,EAAAA,WAAWvB,O,iCCLvBnK,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA4B,KAAzBN,MAAM,QAAO,YAAQ,G,2CAL5BC,EAAAA,EAAAA,IAcQoM,GAAAA,EAAAA,CAdD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAuDmC,EAAAA,EAAAA,CAA/CE,KAAK,oBAAoBC,KAAK,UACtCsF,Q,gBAIH5H,EAAAA,EAAAA,IAIQgO,GAAAA,EAAAA,CAJDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAA0H,EAA1HM,EAAAA,EAAAA,GAA0H,KAAtHN,OAAK,YAAKG,EAAAA,QAAQ2N,QAAQpC,EAAAA,UAAY,aAAe,wB,QAA0BvL,EAAAA,QAAQmG,eAAeoF,EAAAA,WAAQ,M,wBAStH,QACCC,MAAO,CACN/E,SAAU,CACTwB,KAAMmJ,OACNzM,UAAU,IAIZjD,OACC,MAAO,CACN2D,QAAOA,EAAAA,EAET,GC5BD,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,gBCNMxF,MAAM,2B,IACVM,EAAAA,EAAAA,GAAoB,SAAjB,iBAAa,G,2BAIZN,MAAM,2B,IACVM,EAAAA,EAAAA,GAAwB,SAArB,qBAAiB,G,+EANsBoL,EAAAA,cAAW,WAAtDvI,EAAAA,EAAAA,IAGM,MAHN5C,GAGM,CAFL2F,IACA5F,EAAAA,EAAAA,GAAwF,WAA/E2J,UAAQyB,EAAAA,YAAa1L,MAAM,mD,8BAGM0L,EAAAA,uBAAoB,WAA/DvI,EAAAA,EAAAA,IAGM,MAHNqE,GAGM,CAFLiF,IACAnM,EAAAA,EAAAA,GAAiG,WAAxF2J,UAAQyB,EAAAA,qBAAsB1L,MAAM,mD,mCAK/C,QACC2L,MAAO,CACN/B,YAAa,CACZxB,KAAMmJ,QAAU,KAChB1F,QAAS,IAAM,MAGhBgN,qBAAsB,CACrBzQ,KAAMmJ,QAAU,KAChB1F,QAAS,IAAM,QCjBlB,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS7L,MAAM,uB,IAEVM,EAAAA,EAAAA,GAAmC,KAAhCN,MAAM,QAAO,mBAAe,G,2CALnCC,EAAAA,EAAAA,IAcQoM,GAAAA,EAAAA,CAdD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAIH5H,EAAAA,EAAAA,IAIQgO,GAAAA,EAAAA,CAJDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAAoB,EAApBM,EAAAA,EAAAA,GAAoB,kBAAdoL,EAAAA,OAAQ,KAAE,M,wBAOpB,QACCC,MAAO,CACNwB,MAAO,CACN/E,KAAMyF,OACN/I,UAAU,KClBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS9E,MAAM,uB,IAEVM,EAAAA,EAAAA,GAAmC,KAAhCN,MAAM,QAAO,mBAAe,G,2CALnCC,EAAAA,EAAAA,IAeQoM,GAAAA,EAAAA,CAfD,gBAAWrM,MAAM,8B,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAKH5H,EAAAA,EAAAA,IAIQgO,GAAAA,EAAAA,CAJDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAAoB,EAApBM,EAAAA,EAAAA,GAAoB,kBAAdoL,EAAAA,OAAQ,KAAE,M,wBAOpB,QACCC,MAAO,CACNwB,MAAO,CACN/E,KAAMyF,OACN/I,UAAU,KCnBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS9E,MAAM,uB,IAEVM,EAAAA,EAAAA,GAAmC,KAAhCN,MAAM,QAAO,mBAAe,G,2CALnCC,EAAAA,EAAAA,IAeQoM,GAAAA,EAAAA,CAfD,iBAAU,C,kBAChB,IAOQ,EAPR/N,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAKH5H,EAAAA,EAAAA,IAIQgO,GAAAA,EAAAA,CAJDC,KAAK,KAAG,C,kBACd,IAEU,EAFVjO,EAAAA,EAAAA,IAEUkO,GAAAA,EAAAA,CAFDxM,MAAM,QAAM,C,kBACpB,IAA6E,EAA7EM,EAAAA,EAAAA,GAA6E,KAAzEN,OAAK,QAAE0L,EAAAA,WAAa,oBAAsB,gB,QAAiBA,EAAAA,OAAQ,KAAE,M,wBAO7E,QACCC,MAAO,CACNwB,MAAO,CACN/E,KAAMyF,OACN/I,UAAU,GAGXgU,WAAY,CACX1Q,KAAM2D,QACNjH,UAAU,KCxBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS9E,MAAM,uB,IAEVM,EAAAA,EAAAA,GAA0B,KAAvBN,MAAM,QAAO,UAAM,G,UAMDA,MAAM,uC,UACDA,MAAM,uC,2CAZpCC,EAAAA,EAAAA,IAeQoM,GAAAA,EAAAA,CAfD,gBAAWrM,MAAM,gB,mBACvB,IAOQ,EAPR1B,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAuDmC,EAAAA,EAAAA,CAA/CE,KAAK,oBAAoBC,KAAK,UACtCsF,Q,gBAIH5H,EAAAA,EAAAA,IAKQgO,GAAAA,EAAAA,CALDC,KAAK,KAAG,C,kBACd,IAGU,EAHVjO,EAAAA,EAAAA,IAGUkO,GAAAA,EAAAA,CAHDxM,MAAM,QAAM,C,kBACpB,IAA8E,CAA3D,GAAV0L,EAAAA,SAAM,WAAfvI,EAAAA,EAAAA,IAA8E,IAA9EoE,GAAkE,aAC1C,GAAVmE,EAAAA,SAAM,WAApBvI,EAAAA,EAAAA,IAAqF,IAArFqE,GAAuE,gBAAU,kB,wBAOrF,QACCmE,MAAO,CACN0M,OAAQ,CACPjQ,KAAMyF,OACN/I,UAAU,KCnBb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCHS9E,MAAM,uB,IAEVM,EAAAA,EAAAA,GAAuB,KAApBN,MAAM,QAAO,OAAG,G,IAQhBA,MAAM,mD,IAELA,MAAM,+D,IAGNA,MAAM,Q,IAEVM,EAAAA,EAAAA,GAAwB,OAAnBN,MAAM,QAAM,S,IAGlBM,EAAAA,EAAAA,GAA0E,KAAvEN,MAAM,mDAAkD,eAAW,G,IAElEA,MAAM,+D,IAGNA,MAAM,Q,2CA5BbC,EAAAA,EAAAA,IAgCQoM,GAAAA,EAAAA,CAhCD,iBAAU,C,kBAChB,IAOQ,EAPR/N,EAAAA,EAAAA,IAOQgO,GAAAA,EAAAA,CAPDC,KAAK,KAAG,C,kBACd,IAKU,EALVjO,EAAAA,EAAAA,IAKUkO,GAAAA,EAAAA,CALDxM,MAAM,QAAM,C,kBACpB,IAGM,EAHNM,EAAAA,EAAAA,GAGM,MAHNC,GAGM,EAFLjC,EAAAA,EAAAA,IAAkEmC,EAAAA,EAAAA,CAA1DE,KAAK,+BAA+BC,KAAK,UACjDsF,Q,gBAKH5H,EAAAA,EAAAA,IAqBQgO,GAAAA,EAAAA,CArBDC,KAAK,KAAG,C,kBACd,IAmBU,EAnBVjO,EAAAA,EAAAA,IAmBUkO,GAAAA,EAAAA,CAnBDxM,MAAM,qCAAmC,C,kBACjD,IASW,CATK0L,EAAAA,OAAI,WAApBvI,EAAAA,EAAAA,IASWC,EAAAA,GAAAA,CAAAI,IAAAA,GAAA,EARVlD,EAAAA,EAAAA,GAA8E,IAA9EiH,IAA8E,QAAhBmE,EAAAA,KAAKlL,MAAI,kBACvE2C,EAAAA,EAAAA,IAKMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IALmGvE,EAAAA,yBAAZyE,K,WAA7FH,EAAAA,EAAAA,IAKM,OALDnD,MAAM,2EAAwHwD,IAAKF,EAAS9G,I,EAChJ8D,EAAAA,EAAAA,GAEI,IAFJkH,IAEI,QADAlE,EAASoO,WAAS,IAEtBpR,EAAAA,EAAAA,GAA4C,IAA5CmM,IAA4C,QAAzBnJ,EAASG,WAAS,Q,MAEtCiJ,IAAwB,qBAGzBjF,KAA0E,aAC1EtE,EAAAA,EAAAA,IAKMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IALmGvE,EAAAA,8BAAZyE,K,WAA7FH,EAAAA,EAAAA,IAKM,OALDnD,MAAM,2EAA6HwD,IAAKF,EAAS9G,I,EACrJ8D,EAAAA,EAAAA,GAEI,IAFJoH,IAEI,QADApE,EAASoO,WAAS,IAEtBpR,EAAAA,EAAAA,GAA4C,IAA5CyR,IAA4C,QAAzBzO,EAASG,WAAS,Q,iCAW1C,QACCkI,MAAO,CACN7J,KAAM,CACLsG,KAAMpL,OACN8H,UAAU,GAGXzB,UAAW,CACV+E,KAAMwD,MACN9G,UAAU,IAIZR,SAAU,CACTyU,0BACC,OAAK3X,KAAKU,MAAMuB,UAGTmC,EAAAA,EAAAA,gBAAwBpE,KAAKU,KAAKuB,WAFjC,EAGT,EAEA2V,+BACC,IAAK5X,KAAKU,KACT,OAAO0D,EAAAA,EAAAA,gBAAwBpE,KAAKiC,WAErC,MAAM4V,EAAyB7X,KAAKiC,UAAUsB,QAAOrB,IAAalC,KAAKU,KAAKuB,UAAUsC,MAAKuT,GAAMA,EAAG1c,IAAM8G,EAAS9G,OACnH,OAAOgJ,EAAAA,EAAAA,gBAAwByT,EAChC,IC9DF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,UdgBA,IACCrM,WAAY,CACX4G,WAAU,GACV2F,UAAS,GACTC,aAAY,GACZhG,OAAM,GACNiG,aAAY,GACZC,eAAc,GACdC,WAAU,GACVC,QAAO,GACPC,MAAKA,IAGN9N,MAAO,CACNiD,WAAY,CACXxG,KAAMpL,OACN8H,UAAU,KelCb,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,YlBgHA,IAMClD,MAAO,CAAC,qBAAsB,SAC9BF,OAAQ,CAACyS,GAAsBC,GAAcnQ,EAAAA,EAAmBtC,GAEhEiL,WAAY,CACX8M,uBAAsB,GACtBC,YAAW,GACX9M,WAAU,KACV0H,aAAY,GAEZC,YAAWA,EAAAA,IAGZ3S,OACC,MAAO,CACN+E,SAAU,KACV6K,UAAU,EACVhQ,SAAS,EACT2C,WAAU,IACVF,IAAIC,EAAAA,EAAAA,MACJyK,WAAY,KACZ9C,UAAU,EACVgE,sBAAsB,EACtBvG,KAAM,KACNyF,kBAAmB,KAErB,EAEA1K,SAAU,KACNC,EAAAA,EAAAA,IAAW,KAAM,CACnB,QACA,WACA,sBAIDqV,mBACC,OAAKxY,KAAKwN,YAAYkH,SAGf1U,KAAKwN,WAAWkH,SAASnZ,KAAIsJ,IACnC,MAAM3C,EAAWlC,KAAKsD,kBAAkBiB,MAAKrC,GAAYA,EAAS9G,IAAMyJ,EAAQoC,cAEhF,MAAO,IACHpC,EACHyL,UAAWpO,EAAWA,EAAS9C,KAAKmR,OAAO,GAAKrO,EAASsO,QAAQD,OAAO,GAAK,IAC7ElO,UAAWH,EAAY,GAAEA,EAAS9C,QAAQ8C,EAASsO,UAAY,GAC/D,IATM,IAWT,GAGD/M,cACC,MAAMgV,EAAuB7V,MACvBA,GAAUA,EAAMjB,QAAWiB,EAAMkL,QAAQ,WAAY,IAAInM,QAM/D,MAAO,CACN6L,WAAY,CACXvL,UAAW,CAAEyB,SAAQ,KAAEgV,WAAWA,EAAAA,EAAAA,IAAU,GAAIC,MAAO,CAACrR,SAAU,CAAE5D,SAAQA,EAAAA,MAC5E2K,WAAY,CAAE3K,SAAQA,EAAAA,IACtBtE,KAAM,CAAEsE,SAAQA,EAAAA,IAChB8E,YAAa,CAAEiQ,uBACfjT,SAAU,CAAE9B,SAAQA,EAAAA,IACpBqD,eAAgB,CAAErD,SAAQA,EAAAA,KAG7B,EAEA7D,UACCG,KAAK+F,QAAQyN,GAAG,oBAAqBxT,KAAK4Y,iBAE1C5Y,KAAK+F,QAAQyN,GAAG,mCAAmC,EAAGqF,SAAQC,eACzD9Y,KAAKwN,WAAW6I,SAAWwC,IAG/B7Y,KAAKwN,WAAWvL,UAAYjC,KAAKwN,WAAWvL,UAAUsB,QAAOrB,GAAYA,EAAS9G,IAAM0d,IAAS,IAGlG9Y,KAAK+F,QAAQyN,GAAG,yBAA0BhG,IACrCA,GAAYpS,IAAM4E,KAAKwN,YAAYpS,IAAI4E,KAAKY,YAAW,IAG5DZ,KAAK+F,QAAQyN,GAAG,sBAAuBuF,IACjC/Y,KAAKwN,aACVxN,KAAKwN,WAAWkH,SAAW1U,KAAKwN,WAAWkH,SAASnR,QAAQsB,GAAYA,EAAQzJ,IAAM2d,EAAK3d,KAAG,IAG/F4E,KAAK+F,QAAQyN,GAAG,qBAAsBuF,IAChC/Y,KAAKwN,YAAYkH,WAElB1U,KAAKwN,WAAWkH,SAASnQ,MAAKM,GAAWA,EAAQzJ,IAAM2d,EAAK3d,KAC/D4E,KAAKwN,WAAWkH,SAAW1U,KAAKwN,WAAWkH,SAASnZ,KAAIsI,GAAKA,EAAEzI,IAAM2d,EAAK3d,GAAK2d,EAAOlV,IAEtF7D,KAAKwN,WAAWkH,SAASlQ,KAAKuU,GAC/B,GAEF,EAEAC,gBACChZ,KAAK+F,QAAQkT,IAAI,yBACjBjZ,KAAK+F,QAAQkT,IAAI,sBACjBjZ,KAAK+F,QAAQkT,IAAI,qBACjBjZ,KAAK+F,QAAQkT,IAAI,mCACjBjZ,KAAK+F,QAAQkT,IAAI,oBAAqBjZ,KAAK4Y,gBAC5C,EAEA1Y,QAAS,CACR0Y,kBACC5Y,KAAKe,MAAM,SACXf,KAAKK,SAAU,CAChB,EAEA6Y,gBAAe,GAAE9d,IAQhB4E,KAAKwN,WAAWvL,UAAYjC,KAAKwN,WAAWvL,UAAUsB,QAAOrB,GAAYA,EAAS9G,IAAMA,GACzF,EAEA+d,kBAAkBC,GACjB,MAAM1Y,EAAOV,KAAKwN,WAAW9M,KAC7BV,KAAK+F,QAAQC,KAAK,gCAAiC,CAAEoT,SAAQ1Y,QAC9D,EAEA7E,iBAAgB,WAAC2R,EAAU,SAAE6C,GAAW,IACvCrQ,KAAK0K,UAAY,EACjB1K,KAAKqQ,SAAY,KACjBrQ,KAAKK,SAAW,EAChBL,KAAKwN,WAAa,KAClBxN,KAAK2D,WAAU,KACd3D,KAAK6M,gBACL7M,KAAK8C,GAAGc,QAAO,IAGhB,IACC,GAAI4J,GAAYpS,GAAI,CACnB4E,KAAKwN,iBAAmBxN,KAAKa,OAAOiD,cAAe,kBAAiB0J,EAAWpS,MAG/E,MAAM4S,EAAUhO,KAAK+N,SAASxJ,MAAMyJ,GAAYA,EAAQ9S,MAAQ8E,KAAKwN,WAAW5I,eAChF5E,KAAKwN,WAAWa,WAAeL,GAAS5S,IAAM,KAC9C4E,KAAKwN,WAAW6I,QAAYrW,KAAKwN,WAAW9M,MAAMtF,IAAM,KAExD4E,KAAKwN,WAAW8I,cAAgBtW,KAAKwN,WAAWkH,SAASnZ,KAAI,EAAG0L,cAAaK,eAC5E,MAAMpF,EAAWlC,KAAKsD,kBAAkBiB,MAAK,EAAGnJ,QAASA,GAAM6L,IAG/D,OAFA/E,EAASoF,SAAWA,EAEbpF,CAAO,IAGfsM,GAAQC,IAAI,MAAOzO,KAAKwN,WAGzB,MACCxN,KAAKwN,WAAa,CAAEvL,UAAW,GAAIqF,SAAU,EAAGP,eAAgB,SAGjE/G,KAAKqQ,SAAWA,IAAarQ,KAAKwN,WAAWpS,EAG9C,CAFE,MAAO8F,GACRlB,KAAKmB,OAAOD,MAAMA,EAAM+E,SAAW/E,EACpC,CACD,EAEAmY,mBACCrZ,KAAK+F,QAAQC,KAAK,kCAAmC,CAAEwH,WAAYxN,KAAKwN,YACzE,EAEA3R,aACKmE,KAAKwN,WAAWpS,KACnB4E,KAAKwN,WAAWvL,UAAYjC,KAAKwN,WAAWvL,UAAU1G,KAAI2G,IACzD,MAAM,SAAEoF,GAAatH,KAAKwN,WAAWkH,SAASnQ,MAAK,EAAG0C,iBAAkBA,GAAe/E,EAAS9G,KAEhG,OADA8G,EAASoF,SAAWA,EACbpF,CAAO,KAIhB,MAAMoX,QAAuBtZ,KAAK8C,GAAGkB,YAC/BkQ,QAAuBlU,KAAKmU,qBAElC,GAAKmF,GAAmBpF,EAAxB,CAEIlU,KAAKyE,MAAM,iBACdzE,KAAKwN,WAAWhF,YAAcxI,KAAKyE,MAAM,eAAe6P,WAEzDtU,KAAKuU,yBAEL,IACCvU,KAAK0K,UAAW,EAChB1K,KAAKwN,WAAWhI,SAAWsG,KAAO9L,KAAKwN,WAAWhI,UAAUoB,OAAO,uBAC/D5G,KAAKwN,WAAWpS,SAAU4E,KAAKa,OAAO2T,gBAAiB,kBAAiBxU,KAAKwN,WAAWpS,KAAM4E,KAAKwN,kBAC5FxN,KAAKa,OAAO0Y,eAAe,iBAAkBvZ,KAAKwN,YAE7DxN,KAAKe,MAAM,qBAAsBf,KAAKwN,YACtCxN,KAAKY,YAKN,CAJE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CAAE,QACDlB,KAAK0K,UAAW,CACjB,CAnB8C,CAoB/C,EAEAmK,cAAc9L,GACb/I,KAAKwN,WAAWzE,MAAQA,CACzB,EAEAnI,aACCZ,KAAKK,SAAU,CAChB,EAEAmZ,0BAA0BhM,GACzBxN,KAAK+F,QAAQC,KAAK,gCAAiC,CAAEwH,cACtD,EAEAiM,UACCzZ,KAAK+F,QAAQC,KAAK,qBAAsB,CACvCnB,QAAS,CACR2B,eAAgBxG,KAAKwN,WAAWpS,GAChCwJ,aAAc5E,KAAKwN,WAAW5I,eAGjC,EAEA8U,qBACC1Z,KAAKwN,WAAWhF,YAAcxI,KAAKyE,MAAM,eAAe6P,SACzD,EAEAC,yBACC,MAAMpM,EAAO,IAAIxB,KAAK3G,KAAKwN,WAAWhI,UAChCuP,EAAY/U,KAAKwN,WAAWzG,eAAe6E,MAAM,KACvDzD,EAAK6M,SAAShJ,SAAS+I,EAAU,KACjC5M,EAAK8M,WAAWjJ,SAAS+I,EAAU,KAEnC/U,KAAKwN,WAAWhI,SAAW2C,CAC5B,EAEAgM,qBACC,IAAIwF,GAAU,EAWd,OATA3Z,KAAKwN,WAAWvL,UAAYjC,KAAKwN,WAAWvL,UAAU1G,KAAI2G,IACpDA,EAASoF,WACbpF,EAAS4M,SAAU,EACnB6K,GAAU,GAGJzX,KAGDyX,CACR,GAGDtV,MAAO,CACNgM,WACCrQ,KAAK2D,WAAU,KAGd,GAFA3D,KAAKyE,MAAM,gBAAgBgR,QAAQzV,KAAKwN,WAAWhF,aAAe,KAE7DxI,KAAKwN,YAAYpS,GAAI,OAE1B,MAAM+M,EAAO,IAAIxB,KAAK3G,KAAKwN,WAAWhI,UAChCuG,EAAQ5D,EAAKyR,WACb3N,EAAU9D,EAAK0R,aAErB7Z,KAAKwN,WAAWzG,eAAkB,GAAEgF,EAAM+N,WAAWC,SAAS,EAAG,QAAQ9N,EAAQ6N,WAAWC,SAAS,EAAG,MAAK,GAE/G,ImBrYF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,U,kCCNQ7a,EAAAA,EAAAA,GAEK,MAFDN,MAAM,WAAU,yCAEpB,G,2CAJPC,EAAAA,EAAAA,IAwBWC,EAAAA,EAAAA,C,WAxBQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAsBa,EAtBb9B,EAAAA,EAAAA,IAsBa+B,EAAAA,EAAAA,KAAAA,C,kBArBP,IAEK,CAFLE,IAGNjC,EAAAA,EAAAA,IAA8F8c,GAAAA,EAAAA,KAAAA,C,kBAAjF,IAAwC,mBAArCjb,EAAAA,OAAOK,KAAO,IAAML,EAAAA,OAAOyR,SAAU,8BAA2B,M,OAC1EtT,EAAAA,EAAAA,IAgBiBuC,EAAAA,EAAAA,KAAAA,C,kBAff,IAMQ,EANRvC,EAAAA,EAAAA,IAMQwC,EAAAA,EAAAA,CALNd,MAAM,mBACNe,QAAQ,OACPL,QAAK,eAAE7B,EAAAA,e,mBACT,IAED,UAFC,e,OAGDP,EAAAA,EAAAA,IAAqB+c,GAAAA,IACrB/c,EAAAA,EAAAA,IAMQwC,EAAAA,EAAAA,CALNd,MAAM,iBACNe,QAAQ,OACPL,QAAK,eAAE7B,EAAAA,iB,mBACT,IAED,UAFC,Y,kDAYX,QACC6C,OAAQ,CAAEC,GACVE,OACC,MAAO,CACNJ,SAAS,EACT+Y,OAAQ,KACR1Y,KAAM,KAER,EAEAR,QAAS,CACRrE,iBAAgB,OAAEud,EAAM,KAAE1Y,IACzBV,KAAKoZ,OAAUA,EACfpZ,KAAKU,KAASA,EACdV,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEAxE,qBACCmE,KAAKU,KAAKuB,UAAa,IAAIjC,KAAKU,KAAKuB,WAAWsB,QAAOrB,GAAYA,EAAS9G,KAAO4E,KAAKoZ,OAAOhe,KAE/F,IACC,GAAI4E,KAAKU,KAAKtF,GAAI,CACjB,MAAM,KAAEsF,SAAeV,KAAKa,OAAOoD,SAAU,YAAWjE,KAAKU,KAAKtF,KAAM4E,KAAKU,MAC7EV,KAAKgB,OAAOC,OAAO,iBAAkBP,EACtC,KAAO,CACN,MAAM,KAAEA,SAAeV,KAAKa,OAAOsD,UAAW,WAAWnE,KAAKU,MAC9DV,KAAKgB,OAAOC,OAAO,eAAgBP,EACpC,CAEAV,KAAK+F,QAAQC,KAAK,kCAAmC,CAAE6S,OAAQ7Y,KAAKU,KAAKtF,GAAI0d,SAAU9Y,KAAKoZ,OAAOhe,KACnG4E,KAAKY,YAGN,CAFE,MAAOM,GACRlB,KAAKmB,OAAOD,MAAMlB,KAAKoB,YAAYF,GACpC,CACD,EAEA6C,YAAYrD,GAEX,OADAA,EAAKuB,UAAYmC,EAAAA,EAAAA,gBAAwB1D,EAAKuB,WACvCvB,CACR,ICtEF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCJQ9B,MAAM,6C,IACVM,EAAAA,EAAAA,GAAiB,UAAb,YAAQ,G,2CAHfL,EAAAA,EAAAA,IAgBWC,EAAAA,EAAAA,C,WAhBQC,EAAAA,Q,qCAAAA,EAAAA,QAAO,GAAE,YAAU,MAAMC,WAAA,I,mBAC3C,IAcS,EAdT9B,EAAAA,EAAAA,IAcS+B,EAAAA,EAAAA,KAAAA,C,kBAbR,IAGM,EAHNC,EAAAA,EAAAA,GAGM,MAHNC,GAGM,CAFL2F,IACA5H,EAAAA,EAAAA,IAA0EmC,EAAAA,EAAAA,CAAjEC,QAAK,yBAAO7B,EAAAA,cAAU,WAAI8B,KAAK,YAAYC,KAAK,aAG1DtC,EAAAA,EAAAA,IAOiBuC,EAAAA,EAAAA,CAPDb,MAAM,uDAAqD,C,kBAC1E,IAEC,EAFD1B,EAAAA,EAAAA,IAECwC,EAAAA,EAAAA,CAFMd,MAAM,8BAA+BU,QAAK,yBAAO7B,EAAAA,cAAU,Y,mBAChE,IAAQ,UAAR,e,OAEFP,EAAAA,EAAAA,IAECwC,EAAAA,EAAAA,CAFMd,MAAM,8BAA+BU,QAAK,yBAAO7B,EAAAA,iBAAa,Y,mBACnE,IAAO,UAAP,c,kEAUN,IACC+C,MAAO,CAAC,SAAU,QAClB+J,MAAO,CAAC,QACRjK,OAAQ,CAAEC,GAEVE,OACC,MAAO,CACNJ,SAAS,EACT6Z,UAAW,KAEb,EAEAra,UACCG,KAAK+F,QAAQyN,GAAG,mBAAmB,KAClCxT,KAAKY,YAAW,IAGjBZ,KAAK+F,QAAQyN,GAAG,gBAAgB,KAC/BxT,KAAKY,YAAW,GAElB,EAEAV,QAAS,CACRrE,gBAAgB4E,GACfT,KAAKka,UAAYzZ,EACjBT,KAAKK,SAAU,CAChB,EAEAO,aACCZ,KAAKK,SAAU,CAChB,EAEA8Z,aACC3L,GAAQC,IAAIzO,KAAKka,UAAU/R,KAAMnI,KAAKka,UAAUzJ,KAAMzQ,KAAKka,UAAUjY,WACrEjC,KAAK+F,QAAQC,KAAK,qBAAsB,CACvCnB,QAAS,CACRW,SAAUxF,KAAKka,UAAU/R,KACzBpB,eAAgB/G,KAAKka,UAAUzJ,KAC/BxJ,YAAajH,KAAKka,UAAUhY,UAE7BkY,cAAe,KACdpa,KAAKY,YAAW,GAGnB,EAEAyZ,gBACCra,KAAK+F,QAAQC,KAAK,qBAAsB,CACvC0P,QAAS,CACRtN,eAAgBpI,KAAKka,UAAUzJ,KAC/BqF,WAAY9V,KAAKka,UAAU/R,KAC3BlB,YAAajH,KAAKka,UAAUhY,UAE7BoY,iBAAkB,KACjBta,KAAKY,YAAW,GAGnB,IC3EF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U7EkCA,IACC4K,WAAY,CACX+O,iBAAgB,EAChBC,WAAU,EACVC,iBAAgB,EAChBC,oBAAmB,GACnBC,WAAU,GACVC,iBAAgB,GAChBC,mBAAkB,GAClBC,kBAAiB,GACjBC,cAAa,GACbC,uBAAsB,GACtBC,uBAAsB,GACtBC,eAAc,GACdC,yBAAwB,GACxBC,sBAAqBA,IAGtBvb,UACCG,KAAK+F,QAAQyN,GAAG,mBAAoB/S,IACnCT,KAAKyE,MAAM,qBAAqBiH,UAAUjL,EAAK,IAGhDT,KAAK+F,QAAQyN,GAAG,0BAA0B,EAAE9S,WAC3CV,KAAKyE,MAAM,uBAAuBiH,UAAU,CAAEhL,QAAO,IAGtDV,KAAK+F,QAAQyN,GAAG,mBAAmB,EAAG9S,WACrCV,KAAKyE,MAAM,gBAAgBiH,UAAU,CAAEhL,QAAO,IAG/CV,KAAK+F,QAAQyN,GAAG,0BAA0B,EAAE3O,cAC3C7E,KAAKyE,MAAM,uBAAuBiH,UAAU,CAAC7G,WAAS,IAGvD7E,KAAK+F,QAAQyN,GAAG,+BAA+B,EAAE3O,cAChD7E,KAAKyE,MAAM,4BAA4BiH,UAAU,CAAC7G,WAAS,IAG5D7E,KAAK+F,QAAQyN,GAAG,6BAA6B,EAAEkC,cAC9C1V,KAAKyE,MAAM,0BAA0BiH,UAAU,CAACgK,WAAS,IAG1D1V,KAAK+F,QAAQyN,GAAG,iCAAiC,EAAEhG,iBAClDxN,KAAKyE,MAAM,8BAA8BiH,UAAU,CAAC8B,cAAY,IAGjExN,KAAK+F,QAAQyN,GAAG,iCAAiC,EAAE4F,SAAQ1Y,WAC1DV,KAAKyE,MAAM,8BAA8BiH,UAAU,CAAC0N,SAAQ1Y,QAAM,IAGnEV,KAAK+F,QAAQyN,GAAG,sBAAsB,EAAE3O,UAASwL,WAAU7C,iBAC1D,GAAG3I,GAAWA,EAAQzJ,GAAI,CACzB,MAAMA,EAAKyJ,EAAQzJ,GACnB4E,KAAKgU,QAAQxP,KAAK,CAAE6W,MAAO,CAAE,QAAWjgB,IACzC,CACA4E,KAAKyE,MAAM,gBAAgBiH,UAAU,CAAC7G,UAASwL,WAAU7C,cAAY,IAGtExN,KAAK+F,QAAQyN,GAAG,yBAAyB,EAAGhG,aAAY6C,eACvD,GAAI7C,GAAcA,EAAWpS,GAAI,CAChC,MAAMA,EAAKoS,EAAWpS,GACtB4E,KAAKgU,QAAQxP,KAAK,CAAE6W,MAAO,CAAE,WAAcjgB,IAC5C,CACA4E,KAAKyE,MAAM,uBAAuBiH,UAAU,CAAC8B,aAAY6C,YAAU,IAGpErQ,KAAK+F,QAAQyN,GAAG,4BAA4B,EAAG3O,cAC9C7E,KAAKyE,MAAM,yBAAyBiH,UAAU,CAAE7G,WAAU,IAG3D7E,KAAK+F,QAAQyN,GAAG,mCAAmC,EAAGhG,iBACrDxN,KAAKyE,MAAM,gCAAgCiH,UAAU,CAAE8B,cAAa,IAGrExN,KAAK+F,QAAQyN,GAAG,sBAAsB,EAAEkC,UAAU,CAAC,MAClD1V,KAAKyE,MAAM,mBAAmBiH,UAAU,CAACgK,WAAS,IAGnD1V,KAAK+F,QAAQyN,GAAG,4BAA4B,EAAE3O,cAC7C7E,KAAKyE,MAAM,yBAAyBiH,UAAU,CAAE7G,WAAU,IAG3D7E,KAAK+F,QAAQyN,GAAG,qBAAqB,KACpCxT,KAAKgB,OAAOsa,SAAS,oBAAoB,IAG1Ctb,KAAK+F,QAAQyN,GAAG,wBAAwB,KACvCxT,KAAKgB,OAAOsa,SAAS,uBAAuB,IAG7Ctb,KAAK+F,QAAQyN,GAAG,yBAAyB,KACxCxT,KAAKgB,OAAOsa,SAAS,uBAAuB,IAG7Ctb,KAAKub,gCACN,EAEArb,QAAS,CACRsb,aAAa9a,GACZV,KAAK+F,QAAQC,KAAK,iBAAkBtF,EACrC,EAEA+a,cAAc1C,GACb/Y,KAAK+F,QAAQC,KAAK,qBAAsB+S,EACzC,EAEA2C,iBAAiB3C,GAChB/Y,KAAK+F,QAAQC,KAAK,qBAAsB+S,EACzC,EAEA4C,aAAa5C,GACZ/Y,KAAK+F,QAAQC,KAAK,oBAAqB+S,EACxC,EAEA6C,oBAAoBpO,GACnBxN,KAAK+F,QAAQC,KAAK,wBAAyBwH,EAC5C,EAEAlP,mBAAmBkP,GAClBxN,KAAK+F,QAAQC,KAAK,uBAAwBwH,EAC3C,EAEA+N,+BAA+BM,EAAS,GACvCC,YAAW,IACND,EAAS,GACL7b,KAAKgU,QAAQxP,KAAK,CAACpF,KAAMY,KAAKiU,OAAO7U,OACnCY,KAAKgB,OAAO+a,QAAQ,oBAErB/b,KAAKiU,OAAOoH,MAAM,cACnBrb,KAAK+F,QAAQC,KAAK,wBAAyB,CAAEwH,WAAY,CAAEpS,GAAI4E,KAAKiU,OAAOoH,MAAM,eAAiBhL,UAAU,IAC3GrQ,KAAKiU,OAAOoH,MAAM,WACnBrb,KAAK+F,QAAQC,KAAK,qBAAsB,CAAEnB,QAAS,CAAEzJ,GAAI4E,KAAKiU,OAAOoH,MAAM,YAAchL,UAAU,SADtG,EAHGrQ,KAAKub,+BAA+BM,EAAS,IAKnD,IACJ,I8E1KF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAASG,KAEpE,U,YCLA,IAAeC,EAAAA,EAAAA,IAAY,CACzBC,MAAO,CAAC,EACRH,QAAS,CAAC,EACVI,UAAW,CAAC,EACZC,QAAS,CAAC,EACVC,QAAS,CAAC,ICJZ,MAAMC,GAAgC,CACrC,CACCzK,KAAM,GACN0K,SAAU,SAEX,CACC1K,KAAM,SACN2K,UAAW,IAAM,gCACjBC,SAAU,CACT,CACC5K,KAAM,GACN0K,SAAU,eAEX,CACC1K,KAAM,cACNzS,KAAM,QACNod,UAAW,IAAM,gCACjBE,KAAM,CAACC,cAAc,IAEtB,CACC9K,KAAM,wBACNzS,KAAM,kBACNod,UAAW,IAAM,gCACjBE,KAAM,CAACC,cAAc,IAEtB,CACC9K,KAAM,uBACNzS,KAAM,iBACNod,UAAW,IAAM,gCACjBE,KAAM,CAACC,cAAc,IAEtB,CACC9K,KAAM,uBACNzS,KAAM,iBACNod,UAAW,IAAM,gCACjBE,KAAM,CAACC,aAAc,SAIxB,CACC9K,KAAM,OACN2K,UAAW,IAAM,gCACjBC,SAAU,CACT,CACC5K,KAAM,GACN0K,SAAU,kBAEX,CACC1K,KAAM,iBACN0K,SAAU,uBACVE,SAAU,CACT,CACC5K,KAAM,uBACNzS,KAAM,oBACNsd,KAAM,CAAEjW,MAAO,YAAakW,cAAc,GAC1CH,UAAW,IAAM,yDAElB,CACC3K,KAAM,uBACNzS,KAAM,oBACNsd,KAAM,CAAEjW,MAAO,iBAAkBkW,cAAc,GAC/CH,UAAW,IAAM,0DAElB,CACC3K,KAAM,0BACNzS,KAAM,uBACNsd,KAAM,CAAEjW,MAAO,oBAAqBkW,cAAc,GAClDH,UAAW,IAAM,iCAGlB,CACC3K,KAAM,4BACNzS,KAAM,+BACNsd,KAAM,CAAEjW,MAAO,wBAAyBkW,cAAc,GACtDH,UAAW,IAAM,iCAElB,CACC3K,KAAM,wBACNzS,KAAM,2BACNsd,KAAM,CAAEjW,MAAO,oBAAqBkW,cAAc,GAClDH,UAAW,IAAM,iCAElB,CACC3K,KAAM,sBACNzS,KAAM,mBACNsd,KAAM,CAAEjW,MAAO,QAASkW,cAAc,GACtCH,UAAW,IAAM,iCAElB,CACC3K,KAAM,sBACNzS,KAAM,mBACNsd,KAAM,CAAEjW,MAAO,UAAWkW,cAAc,GACxCH,UAAW,IAAM,iCAElB,CACC3K,KAAM,cACNzS,KAAM,SACNsd,KAAM,CAAEjW,MAAO,iBAAkBkW,cAAc,GAC/CH,UAAW,IAAM,qCAMtB,CACC3K,KAAM,iBACNzS,KAAM,MACNod,UAAW,IAAM,+BACjBE,KAAM,CAACC,aAAc,QAIjBC,IAASC,EAAAA,GAAAA,IAAa,CAC3BC,SAASC,EAAAA,GAAAA,IAAqBC,KAC9BV,YAGDM,GAAOK,YAAW,CAACC,EAAIC,EAAMC,KAC5B,MAAMC,EAAaC,GAAMvB,QAAQ,mBAEjC,OAA6B,IAAzBmB,EAAGR,KAAKC,aACPU,EACID,IAEAA,EAAK,CAAChe,KAAM,WACe,IAAzB8d,EAAGR,KAAKC,cACbU,EAGGD,EAAK,CAAChe,KAAM,sBAEbge,G,IAIT,U,wBCvIAG,GAAAA,EAAAA,SAAAA,QAAyBP,2BAEzB,QACCnhB,UAAUY,EAAa+gB,GACtB,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,eAAeY,EAAa+gB,GAG3B,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,eAAeY,EAAa+gB,GAC3B,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,oBAAoBY,EAAa+gB,GAGhC,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAY9W,QAAQC,QAAQ6W,EAASlR,KAAKA,QAC/Cgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,WAAWY,EAAamhB,EAAS,KAAMJ,GAEtC,OAAOD,GAAAA,EAAAA,KAAW9gB,EAAKmhB,EAAQJ,GAC7BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,gBAAgBY,EAAamhB,EAAS,KAAMJ,GAG3C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,KAAW9gB,EAAKmhB,EAAQJ,GAC7BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,gBAAgBY,EAAamhB,EAAS,KAAMJ,GAE3C,OAAOD,GAAAA,EAAAA,KAAW9gB,EAAKmhB,EAAQJ,GAC7BziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,qBAAqBY,EAAamhB,EAAS,KAAMJ,GAGhD,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,KAAW9gB,EAAKmhB,EAAQJ,GAC7BziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,aAAaY,EAAa+gB,GACzB,OAAOD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,kBAAkBY,EAAa+gB,GAG9B,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,kBAAkBY,EAAa+gB,GAC9B,OAAOD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,uBAAuBY,EAAa+gB,GAGnC,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,YAAYY,EAAamhB,EAAS,KAAMJ,GACvC,OAAOD,GAAAA,EAAAA,MAAY9gB,EAAKmhB,EAAQJ,GAC9BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,iBAAiBY,EAAamhB,EAAS,KAAMJ,GAG5C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,MAAY9gB,EAAKmhB,EAAQJ,GAC9BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,iBAAiBY,EAAamhB,EAAS,KAAMJ,GAC5C,OAAOD,GAAAA,EAAAA,MAAY9gB,EAAKmhB,EAAQJ,GAC9BziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,sBAAsBY,EAAamhB,EAAS,KAAMJ,GAGjD,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,MAAY9gB,EAAKmhB,EAAQJ,GAC9BziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,UAAUY,EAAamhB,EAAS,KAAMJ,GACrC,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAKmhB,EAAQJ,GAC5BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,eAAeY,EAAamhB,EAAS,KAAMJ,GAG1C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAKmhB,EAAQJ,GAC5BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,IACjC,EAEArF,eAAeY,EAAamhB,EAAS,KAAMJ,GAC1C,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAKmhB,EAAQJ,GAC5BziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEArF,oBAAoBY,EAAamhB,EAAS,KAAMJ,GAG/C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAKmhB,EAAQJ,GAC5BziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAOxc,EAAMyQ,UAAYzQ,IACnD,EAEAyc,QAAQH,GAGP,OAFIA,GAAQhP,GAAQtN,MAAM,mBAErBoc,GAAMvB,QAAQ,cAIZ,CACN8B,QAAS,CACRC,cAAe,UAAUR,GAAMvB,QAAQ,kBALjC,CAAC8B,QAAS,CAAC,EAQpB,GC5JD,IACCE,QAAS,CAACC,EAAUC,KACfA,IAAgC,IAArBA,EAAQre,WAEvBoe,EAAIR,OAAOU,iBAAiBrd,OAAS0c,GAAK,G,YCRrC,MAAMY,GAAkBC,GAC9BxiB,OAAOyiB,QAAQD,GAAG7iB,KAAI+iB,GAAMA,EAAG/iB,IAAIgjB,oBAAoBC,KAAK,OAAMA,KAAK,KAElE,SAAUC,GAAWC,GAC1B,IAAIC,EAAKD,EAIT,OAHAC,EAAKA,EAAG7Q,QAAQ,MAAO,OACvB6Q,EAAKA,EAAG7Q,QAAQ,MAAO,OACvB6Q,EAAKA,EAAG7Q,QAAQ,aAAc,SACvB6Q,CACR,C,gBCNM,MAAOC,GAGZC,eAAA,sBAFS,CAAC,GAGTtB,GAAAA,EAAAA,aAAAA,QAAAA,IAA+Bvd,KAAK8e,uBAAuBC,KAAK/e,OAChEA,KAAKgf,OAAS,CAAC,CAChB,CAEAC,KAAKC,GACJ,IAAK,MAAMC,KAAKD,EAAQ,CACvB,IAAIE,EAAIF,EAAOC,IAEL,IAANC,IAEJA,EAAI,CAAC,EAELA,EAAEhgB,KAAO+f,EACTC,EAAE3iB,IAAM0iB,EAAEvT,MAAM,KAAK,GAEhBwT,EAAEC,QACND,EAAEC,MAAQZ,GAAYW,EAAE3iB,MAEpB2iB,EAAEE,cACNF,EAAEE,YAAcH,EAAEvT,MAAM,KAAK,GAAGsC,eAEjClO,KAAKgf,OAAOG,GAAKC,E,CAEnB,CAGAN,uBAAuBtB,GAKtB,MAAM/gB,EAAM+gB,EAAO/gB,IAAIqR,QAAQ,oBAAqB,IAEpD,IAAIyR,EAEJ,IAAK,MAAMJ,KAAKnf,KAAKgf,OAAQ,CAC5B,MAAMI,EAAIpf,KAAKgf,OAAOG,GAEtB,GAAI3B,EAAOgC,QAAUJ,EAAEE,aAAe7iB,EAAIgjB,MAAML,EAAEC,OAAQ,CACzDE,EAASH,EACT,K,EAIF,GAAIG,EAAQ,CACNA,EAAOG,QAGRH,EAAOG,MAFV1C,CAAAA,mBAAAA,2BAAAA,SAAAA,aAAAA,SAAAA,KAAY2C,iBACM,SAAS3C,CAAAA,mBAAAA,2BAAAA,SAAAA,aAAAA,SAAAA,KAAY2C,oBAAoBJ,EAAO9iB,OAAO+gB,EAAOgC,OAAOI,qBACrE,SAASL,EAAO9iB,OAAO+gB,EAAOgC,OAAOI,sBAGxDpR,GAAQC,IAAI8Q,EAAOG,MAAQ,SAASH,EAAO9iB,OAAO+gB,EAAOgC,OAAOI,sBAEhE,MAAMC,EAAI,CACTL,OAAQ,MACR/iB,IAAKqD,OAAOoR,SAAS4O,OAASP,EAAOG,MAAM,eAAevB,GAAgBX,EAAO/c,MAAM,CAAC,IAGzF+c,EAAS,IAAIA,KAAWqC,E,CAGzB,OAAOrC,CACR,ECjED,QACCO,QAAS,CAACC,EAAUC,KACnB,MAAM8B,EAAS,IAAInB,GAEdX,GAAYA,EAAQ3B,QAAW1gB,OAAOokB,OAAO/B,EAAQ3B,QAAQ3a,SAA+B,IAArBsc,EAAQre,UAEpFmgB,EAAOd,KAAKhB,EAAQ3B,OAAO,G,WCP7B,IACCyB,QAAS,CAACC,EAAKC,KACd,GAAIA,IAAgC,IAArBA,EAAQre,SAAmB,OAE1C,MAAMqgB,GAASC,EAAAA,GAAAA,KACflC,EAAIR,OAAOU,iBAAiBnY,QAAUka,CAAM,G,+CCDxC,MAAOE,GAQZtB,YAAYuB,IAAmB,gCAPS7iB,EAAAA,GAAAA,QAAK,8LAgHf,CAACsJ,EAAQzE,EAAKie,EAAWrZ,IAC/C5E,KACP,iCAE2Bke,GACpBA,IA7GPtgB,KAAKugB,mBAAqBH,EAAWI,WAAa,GAClDxgB,KAAKygB,gBAAkBL,EAAWI,UAAUjc,MAAKmc,GAAYA,EAAS9d,OAASwd,EAAWK,kBAC1FzgB,KAAK2gB,YAAcP,EAAWO,aAAe3D,CAAAA,mBAAAA,2BAAAA,SAAAA,aAAAA,SAAAA,KAAY2C,iBAAmB,aAAe,EAE3F3f,KAAK4gB,YAAaC,EAAAA,GAAAA,GAAW,CAC5BC,QAAQ,EACRC,eAAgB/gB,KAAKygB,gBAAgB7d,MACrCoe,SAAUhhB,KAAKihB,sBACfC,QAASlhB,KAAKmhB,oBACdC,gBAAiBphB,KAAKqhB,mBAGvBrhB,KAAKshB,eAAe,CAAE7a,MAAO,YAAa8a,KAAM,KAAM3e,MAAO,OAC7D5C,KAAKwhB,qBACN,CAEO3lB,4BACN,MAAM,MAAE+G,SAAgB6e,GAAAA,EAAAA,IAAgB,CAAErf,IAAKpC,KAAK2gB,cAEpD,GAAI/d,EACH5C,KAAK0hB,gBAAgB9e,MAAQyC,KAAKC,MAAM1C,QAClC,GAAI5C,KAAKygB,gBACfzgB,KAAK0hB,gBAAgB9e,MAAQ5C,KAAKygB,oBAC5B,KAAIzgB,KAAKugB,mBAAmB,GAGlC,OAAO/R,GAAQtN,MAAM,0CAFrBlB,KAAK0hB,gBAAgB9e,MAAQ5C,KAAKugB,mBAAmB,E,CAKtD,MAAMA,EAAqB,CAAC,EAE5BvgB,KAAKugB,mBAAmBvT,SAAQ0T,IAC/BH,EAAmBG,EAAS9d,OAAS8d,EAASja,KAAK,IAGpDzG,KAAKshB,eAAethB,KAAK0hB,gBAAgB9e,OAGzC5C,KAAK2hB,kBACN,CAEOL,eAAeZ,GACrB1gB,KAAK0hB,gBAAgB9e,MAAQ8d,EAC7B1gB,KAAK2hB,mBAELF,GAAAA,EAAAA,IAAgB,CACfrf,IAAKpC,KAAK2gB,YACV/d,MAAOyC,KAAKE,UAAUmb,KAGvB1gB,KAAK4gB,WAAWgB,OAAO/a,OAAS6Z,EAAS9d,KAC1C,CAGQ+e,mBACPpE,GAAAA,EAAAA,aAAAA,QAAAA,KAA+BC,IAC1Bxd,KAAK0hB,gBAAgB9e,OAAS5C,KAAK0hB,gBAAgB9e,MAAMA,QAC5D4a,EAAOK,QAAQ,mBAAqB7d,KAAK0hB,gBAAgB9e,MAAMA,OAGzD4a,KAGRD,GAAAA,EAAAA,aAAAA,SAAAA,KACE5L,GACOA,IAEPzQ,IACGA,EAAMyQ,UACR4L,GAAAA,EAAAA,KAAW,4CAA6C,CACvD9c,KAAM4E,KAAKE,UAAUrE,KAGhBrG,QAAQ6iB,OAAOxc,GAAOyQ,UAAYzQ,KAG5C,CAEO+f,oBAAoBpP,EAAO,aACjC,IAAIgQ,EACJ,IACCA,EAAUvY,EAAAA,K,CAKT,MAAOpI,GAER,OADAsN,GAAQsT,KAAK,yEACN,CAAC,C,CAGT,MAAMd,EAAyD,CAAC,EAUhE,OARAa,EAAQ1mB,OAAO6R,SAAS5K,IACvB,MAAM2f,EAAU3f,EAAIqd,MAAM,uBAC1B,GAAIsC,GAAWA,EAAQpgB,OAAS,EAAG,CAClC,MAAMkF,EAASkb,EAAQ,GAEvBf,EAASna,GAAUgb,EAAQzf,E,KAGtB4e,CACR,E,gBClHD,IACCjD,QAAS,CAACC,EAAKC,KACd,GAAIA,IAAgC,IAArBA,EAAQre,SACtB,OAED,IAAKqe,IAAYA,EAAQuC,YAAcvC,EAAQwC,gBAC9C,OAAOjS,GAAQsT,KAAK,2EAEhB9D,EAAIR,OAAOU,iBAAiBnY,SAChCiY,EAAIgE,IAAI/B,IAGT,MAAMgC,EAAO,IAAI9B,GAAKlC,GAEtBD,EAAIgE,IAAIC,EAAKrB,YACb5C,EAAIR,OAAOU,iBAAiBgE,MAAQD,CAAI,GCN1C,IACClE,QAAS,CAACC,EAAUC,KACfA,IAAgC,IAArBA,EAAQre,WAEvBoe,EAAIxB,UAAU,cAAe2F,EAAAA,IAC7BnE,EAAIxB,UAAU,WAAY4F,EAAAA,IAC1BpE,EAAIxB,UAAU,YAAa6F,EAAAA,IAC3BrE,EAAIxB,UAAU,kBAAmB8F,EAAAA,IACjCtE,EAAIxB,UAAU,eAAgB+F,EAAAA,IAC9BvE,EAAIxB,UAAU,WAAYgG,EAAAA,IAC1BxE,EAAIxB,UAAU,aAAciG,EAAAA,IAC5BzE,EAAIxB,UAAU,WAAYkG,EAAAA,IAC1B1E,EAAIxB,UAAU,iBAAkBmG,EAAAA,IAChC3E,EAAIxB,UAAU,mBAAoBoG,EAAAA,IAClC5E,EAAIxB,UAAU,kBAAmBqG,EAAAA,IACjC7E,EAAIxB,UAAU,mBAAoBsG,EAAAA,IAClC9E,EAAIxB,UAAU,cAAeuG,EAAAA,IAC7B/E,EAAIxB,UAAU,aAAcwG,EAAAA,IAC5BhF,EAAIxB,UAAU,aAAcyG,EAAAA,IAC5BjF,EAAIxB,UAAU,aAAc0G,EAAAA,IAC5BlF,EAAIxB,UAAU,YAAa2G,EAAAA,IAC3BnF,EAAIxB,UAAU,cAAe4G,EAAAA,IAC7BpF,EAAIxB,UAAU,UAAW6G,EAAAA,IACzBrF,EAAIxB,UAAU,UAAW8G,EAAAA,IACzBtF,EAAIxB,UAAU,WAAY+G,EAAAA,IAC1BvF,EAAIxB,UAAU,YAAagH,EAAAA,IAC3BxF,EAAIxB,UAAU,cAAeiH,EAAAA,IAC7BzF,EAAIxB,UAAU,WAAYkH,EAAAA,IAC1B1F,EAAIxB,UAAU,UAAWmH,EAAAA,IACzB3F,EAAIxB,UAAU,WAAYoH,EAAAA,IAC1B5F,EAAIxB,UAAU,oBAAqBqH,EAAAA,IACnC7F,EAAIxB,UAAU,YAAasH,EAAAA,IAC3B9F,EAAIxB,UAAU,WAAYuH,EAAAA,IAC1B/F,EAAIxB,UAAU,iBAAkBwH,EAAAA,IAChChG,EAAIxB,UAAU,kBAAmByH,EAAAA,IACjCjG,EAAIxB,UAAU,oBAAqB0H,EAAAA,IACnClG,EAAIxB,UAAU,cAAe2H,EAAAA,IAC7BnG,EAAIxB,UAAU,qBAAsB4H,EAAAA,IACpCpG,EAAIxB,UAAU,qBAAsB6H,EAAAA,IACpCrG,EAAIxB,UAAU,eAAgB8H,EAAAA,IAC9BtG,EAAIxB,UAAU,gBAAiB+H,EAAAA,IAC/BvG,EAAIxB,UAAU,wBAAyBgI,EAAAA,IACvCxG,EAAIxB,UAAU,gBAAiBiI,EAAAA,IAC/BzG,EAAIxB,UAAU,8BAA+BkI,EAAAA,IAC7C1G,EAAIxB,UAAU,sBAAuBmI,EAAAA,IACrC3G,EAAIxB,UAAU,aAAcoI,EAAAA,IAC5B5G,EAAIxB,UAAU,gBAAiBqI,EAAAA,IAC/B7G,EAAIxB,UAAU,YAAasI,EAAAA,IAC3B9G,EAAIxB,UAAU,kBAAmBuI,EAAAA,IACjC/G,EAAIxB,UAAU,YAAawI,EAAAA,IAC3BhH,EAAIxB,UAAU,WAAYyI,EAAAA,IAC1BjH,EAAIxB,UAAU,WAAY0I,EAAAA,IAC1BlH,EAAIxB,UAAU,mBAAoB2I,EAAAA,IAClCnH,EAAIxB,UAAU,cAAe4I,EAAAA,IAC7BpH,EAAIxB,UAAU,iBAAkB6I,EAAAA,IAChCrH,EAAIxB,UAAU,kBAAmB8I,EAAAA,IACjCtH,EAAIxB,UAAU,UAAW+I,EAAAA,IACzBvH,EAAIxB,UAAU,iBAAkBgJ,EAAAA,IAChCxH,EAAIxB,UAAU,eAAgBiJ,EAAAA,IAC9BzH,EAAIxB,UAAU,oBAAqBkJ,EAAAA,IACnC1H,EAAIxB,UAAU,cAAemJ,EAAAA,IAC7B3H,EAAIxB,UAAU,aAAcoJ,EAAAA,IAC5B5H,EAAIxB,UAAU,oBAAqBqJ,EAAAA,IACnC7H,EAAIxB,UAAU,aAAcsJ,EAAAA,IAC5B9H,EAAIxB,UAAU,YAAauJ,EAAAA,IAC3B/H,EAAIxB,UAAU,WAAYwJ,EAAAA,IAC1BhI,EAAIxB,UAAU,WAAYyJ,EAAAA,IAAQ,GC3EpCpqB,eAAeqqB,GAAchlB,GAC5B,MAAsC,oBAAlCA,GAAOyQ,UAAUlR,MAAMwF,QACnBqX,GAAMhC,SAAS,eAEhBzgB,QAAQ6iB,OAAOxc,EACvB,CAEAqc,GAAAA,EAAAA,aAAAA,SAAAA,KACE5L,GAAaA,IACbzQ,GAAUglB,GAAchlB,K,gBCV1B,IACCilB,YAAY,EACZjK,MAAO,CACNkK,MAAOC,aAAaC,QAAQ,uBAAyB,GACrDxV,KAAMzL,KAAKC,MAAM+gB,aAAaC,QAAQ,sBAAwB,OAE/DnK,UAAW,CACVoK,aAAarK,EAAYzb,GACpBA,EAAK2lB,QACRlK,EAAMkK,MAAQ3lB,EAAK2lB,MACnBC,aAAaG,QAAQ,qBAAsB/lB,EAAK2lB,QAG7C3lB,EAAKqQ,OACRoL,EAAMpL,KAAOrQ,EAAKqQ,KAClBuV,aAAaG,QAAQ,oBAAqBnhB,KAAKE,UAAU9E,EAAKqQ,OAEhE,EACA2V,WAAWvK,GACVA,EAAMkK,MAAQ,GACdC,aAAaK,WAAW,sBACxBL,aAAaK,WAAW,oBACzB,EACAC,OAAOzK,GACNA,EAAMkK,MAAQ,GACdlK,EAAMpL,KAAO,KACbuV,aAAaK,WAAW,sBACxBL,aAAaK,WAAW,qBACxB5mB,OAAO8mB,KAAK1V,SAAS4O,OAAQ,QAC9B,GAED1D,QAAS,CACRyK,OAAM,OAAC5lB,GAAwB6lB,GAC9B,OAAO,IAAIjsB,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,KAAW,mBAAoB,CAAC9c,KAAMqmB,IACpC/rB,MAAM4W,IACN,MAAMyU,EAAQzU,EAASyU,MACjBtV,EAAOa,EAASb,KAEtB7P,EAAO,eAAgB,CACtBmlB,MAAOA,EACPtV,KAAMA,IAGPhW,EAAQ6W,EAAS,IACf8L,OAAMvc,IACRD,EAAO,cACPyc,EAAOxc,EAAM,GACZ,GAEL,EACA6lB,QAAO,OAAC9lB,GAAyB6lB,GAChC,OAAO,IAAIjsB,SAAQ,CAACC,EAAS4iB,KAC5Bzc,EAAO,gBAEPsc,GAAAA,UAAgB,iBAAkBuJ,GAChC/rB,MAAM4W,IACN,MAAMyU,EAAQzU,EAASyU,MACjBtV,EAAOa,EAASb,KAEtB7P,EAAO,eAAgB,CACtBmlB,MAAOA,EACPtV,KAAMA,IAGPhW,EAAQ6W,EAAS,IACf8L,OAAMvc,IACRD,EAAO,cACPyc,EAAOxc,EAAM,GACZ,GAEL,EAEAylB,QAAO,OAAC1lB,IACP,OAAO,IAAIpG,SAASC,IACnByiB,GAAAA,eAAqB,sBACnByJ,SAAQ,KACR/lB,EAAO,UACPnG,EAAQ,KAAK,GACZ,GAEL,EAEAmsB,gBAAe,OAAChmB,GAAwB6lB,GACvC,OAAO,IAAIjsB,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,KAAW,kBAAmB,CAAC9c,KAAMqmB,IACnC/rB,MAAK4W,GAAY7W,EAAQ6W,KACzB8L,OAAMvc,GAASwc,EAAOxc,IAAO,GAEjC,EAEAgmB,eAAc,OAACjmB,GAAwB6lB,GAGtC,OAFA7lB,EAAO,eAAgB,CAACmlB,MAAOU,EAAYV,QAEpC,IAAIvrB,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,eAAqB,iBAAkB,CAAC9c,KAAMqmB,IAC5C/rB,MAAK4W,IACL1Q,EAAO,UACPnG,EAAQ6W,EAAS,IAEjB8L,OAAMvc,GAASwc,EAAOxc,IAAO,GAEjC,EACArF,oBAAmB,OAACoF,IACnB,IACC,MAAM0Q,QAAsB4L,GAAAA,eAAqB,mBAE3C6I,EAAQzU,EAASyU,MACjBtV,EAAOa,EAASb,KAOtB,OALA7P,EAAO,eAAgB,CACtBmlB,MAAOA,EACPtV,KAAMA,IAGAsV,C,CACN,MAAOllB,GACRD,EAAO,cACPuN,GAAQtN,MAAMA,E,CAEhB,EACArF,gBAAe,OAACoF,IACf,OAAO,IAAIpG,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,cAAoB,gBAClBxiB,MAAM4W,IACN,MAAMb,EAAOa,EAASb,KAEtB7P,EAAO,eAAgB,CACtB6P,KAAMA,IAGPhW,EAAQgW,EAAK,IACX2M,OAAMvc,IACRwc,EAAOxc,EAAM,GACZ,GAEL,EACAimB,gBAAe,OAAClmB,GAAwBR,GACvC,OAAO,IAAI5F,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,SAAe,YAAY9c,EAAKrF,KAAM,CAACqF,KAAMA,IAC3C1F,MAAM4W,IACN,MAAMb,EAAOa,EAASb,KAEtB7P,EAAO,eAAgB,CACtB6P,KAAMA,IAGPhW,EAAQgW,EAAK,IACX2M,OAAMvc,IACRwc,EAAOxc,EAAM,GACZ,GAEL,GAED6a,QAAS,CACRsB,WAAanB,KACHA,EAAMkK,MAEhBtV,KAAOoL,GACCA,EAAMpL,KAEdsV,MAAQlK,GACCA,EAAMkK,YAAwBhZ,GAAf8O,EAAMkK,MAAsBlK,EAAMkK,MAAQ,O,YCjKpE,IACCrI,QAAS,CAACC,EAAUC,KACnB,IAAIA,GAA+B,GAApBA,EAAQre,SAEvB,OAAKoe,EAAIR,OAAOU,iBAAiBld,YAGjCgd,EAAIR,OAAOU,iBAAiBld,OAAOomB,eAAe,OAAQC,IAFlD7Y,GAAQsT,KAAK,qEAE0C,G,uBCNjE,IACC/D,QAAS,CAACC,EAAKC,KACVA,IAAgC,IAArBA,EAAQre,WAEvBoe,EAAIgE,IAAIsF,MAGRtJ,EAAIR,OAAOU,iBAAiB9c,YAAeF,GAAUA,GAAOT,MAAMwF,SAAW/E,GAAOyQ,UAAUlR,MAAMwF,SAAW/E,GAAO+E,SAAW/E,EAAK,G,UCXlI3D,IAAI,oB,4EAATwE,EAAAA,EAAAA,IAKM,MALN5C,GAKM,CAJOmL,EAAAA,QACIA,EAAAA,QAAQpJ,QAAK,WAA7Ba,EAAAA,EAAAA,IAAwD,kBAAtBuI,EAAAA,QAAQpJ,OAAK,IACZ,gBAAXoJ,EAAAA,UAAuB9H,EAAAA,MAAMb,QAA8B,iBAAX2I,EAAAA,UAAwB1O,OAAOokB,OAAO1V,EAAAA,SAAS3I,SAAM,WAA7HI,EAAAA,EAAAA,IAAwJ,kBAArBuI,EAAAA,cAAY,KAC/Iid,EAAAA,EAAAA,IAAoB/kB,EAAAA,OAAAA,UAAAA,CAAAJ,IAAAA,QAAA,QAHD,WAAnBL,EAAAA,EAAAA,IAA2B,YAGP,I,CAKtB,QACCwI,MAAO,CACN/I,QAAS,CACRwF,KAAM,CAACpL,OAAQ4O,MAAOG,SACtBF,QAAS,IAAM,MAGhB+G,aAAc,CACbxK,KAAMmJ,OACN1F,QAAS,aAGXhK,OACC,MAAO,CACN+mB,OAAQ,KAEV,EAEA3rB,gBACKmE,KAAKwB,eACHxB,KAAKynB,eACZ,EAEAvnB,QAAS,CACRrE,sBACC,EAGD6rB,eACC,GAIFrjB,MAAO,CAON,GC3CF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,IAAQ,CAAC,YAAY,qBAEzF,UCLA,IACC0Z,QAAS,CAACC,EAAUC,KACfA,IAAgC,IAArBA,EAAQre,UAEvBoe,EAAIxB,UAAU,aAAcmL,GAAU,GCIxC,IACC5J,QAAS,CAACC,EAAUC,EAAmB,CAAC,KACvCgC,GAAOlC,QAAQC,EAAKC,EAAQgC,QAC5B1C,GAAAA,QAAcS,EAAKC,EAAQV,OAC3B0E,GAAKlE,QAAQC,EAAKC,EAAQgE,MAC1BlC,GAAOhC,QAAQC,EAAKC,EAAQ8B,QAC5B6H,GAAM7J,QAAQC,EAAKC,EAAQ2J,OAC3BP,GAAKtJ,QAAQC,EAAKC,EAAQoJ,MAC1BQ,GAAM9J,QAAQC,EAAKC,EAAQ4J,OAC3BC,GAAS/J,QAAQC,EAAKC,EAAQ6J,SAAS,GCnBzC,IACCC,kBAAkBtnB,GACjB,MAAMunB,EAAchoB,KAAKioB,uBAAuBxnB,GAChD,OAAOunB,EAAYxJ,KAAK,KACzB,EAEAyJ,uBAAuBxnB,GACtB,OAAIA,GAAMA,MAAMwF,QACR,CAACiiB,GAAGznB,EAAKA,KAAKwF,UAGH,iBAARxF,EACH,CAACynB,GAAGznB,IAGRA,GAAMkR,UAAUlR,KACZ7E,OAAOokB,OAAOvf,GAAMkR,UAAUlR,MAElCA,GAAQA,EAAKS,OAA8B,iBAAdT,EAAKS,MAC9B,CAACgnB,GAAGznB,EAAKS,QAGbT,GAAQA,EAAKS,OAA8B,iBAAdT,EAAKS,MAC9BtF,OAAOokB,OAAOkI,GAAGznB,EAAKS,QAG1BT,EAAKA,MAAQA,EAAKA,KAAKS,OAAmC,iBAAnBT,EAAKA,KAAKS,MAC7C,CAACgnB,GAAGznB,EAAKA,KAAKS,QAGlBT,GAAQA,EAAKA,MAAQA,EAAKA,KAAKS,OAAmC,iBAAnBT,EAAKA,KAAKS,MACrDtF,OAAOokB,OAAOvf,EAAKA,KAAKS,OAAO3F,KAAI2F,GAASgnB,GAAGhnB,EAAM,IAAM,MAG/DT,EAAK0nB,WACD,CAACD,GAAGznB,EAAK0nB,aAGV,CAAC1nB,EACT,G,YCrCD8c,GAAAA,EAAAA,SAAAA,QAAyBP,2BAEzB,QACCnhB,UAAUY,EAAa+gB,GACtB,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,eAAeY,EAAa+gB,GAG3B,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,eAAeY,EAAa+gB,GAC3B,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,oBAAoBY,EAAa+gB,GAGhC,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAK+gB,GACpBziB,MAAK4W,GAAY9W,QAAQC,QAAQ6W,EAASlR,KAAKA,QAC/Cgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,WAAWY,EAAamhB,EAAS,KAAMJ,GAEtC,OAAOD,GAAAA,EAAAA,KAAW9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACrDziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,gBAAgBY,EAAamhB,EAAS,KAAMJ,GAG3C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,KAAW9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACrDziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,gBAAgBY,EAAamhB,EAAS,KAAMJ,GAE3C,OAAOD,GAAAA,EAAAA,KAAW9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACrDziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,qBAAqBY,EAAamhB,EAAS,KAAMJ,GAGhD,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,KAAW9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACrDziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,aAAaY,EAAa+gB,GACzB,OAAOD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,kBAAkBY,EAAa+gB,GAE9B,OADAA,EAASxd,KAAK2d,QAAQH,GACfD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,kBAAkBY,EAAa+gB,GAC9B,OAAOD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,uBAAuBY,EAAa+gB,GAGnC,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,UAAa9gB,EAAK+gB,GACvBziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,YAAYY,EAAamhB,EAAS,KAAMJ,GACvC,OAAOD,GAAAA,EAAAA,MAAY9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACtDziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,iBAAiBY,EAAamhB,EAAS,KAAMJ,GAG5C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,MAAY9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACtDziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,sBAAsBY,EAAamhB,EAAS,KAAMJ,GACjDA,EAASxd,KAAK2d,QAAQH,GACtBA,EAAOK,QAAQ,gBAAkB,sBACjC,MAAMyK,EAAWtoB,KAAKqoB,kBAAkBzK,GAIxC,OAHA0K,EAASpJ,OAAO,UAAW,OAC3B1B,EAAO+K,iBAAmBD,GAAYA,EAE/B/K,GAAAA,EAAAA,KAAW9gB,EAAK6rB,EAAU9K,GAC/BziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,iBAAiBY,EAAamhB,EAAS,KAAMJ,GAC5C,OAAOD,GAAAA,EAAAA,MAAY9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACtDziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,sBAAsBY,EAAamhB,EAAS,KAAMJ,GAGjD,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,MAAY9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACtDziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,UAAUY,EAAamhB,EAAS,KAAMJ,GACrC,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACpDziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,eAAeY,EAAamhB,EAAS,KAAMJ,GAG1C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAK,CAACgE,KAAMmd,GAASJ,GACpCziB,MAAK4W,GAAYA,EAASlR,OAC1Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,KAC9D,EAEArF,eAAeY,EAAamhB,EAAS,KAAMJ,GAC1C,OAAOD,GAAAA,EAAAA,IAAU9gB,EAAKuD,KAAKqoB,kBAAkBzK,GAASJ,GACpDziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEArF,oBAAoBY,EAAamhB,EAAS,KAAMJ,GAG/C,OAFAA,EAASxd,KAAK2d,QAAQH,GAEfD,GAAAA,EAAAA,IAAU9gB,EAAK,CAACgE,KAAMmd,GAASJ,GACpCziB,MAAK4W,GAAYA,EAASlR,KAAKA,OAC/Bgd,OAAMvc,GAASrG,QAAQ6iB,OAAO0K,GAAAA,kBAA6BlnB,EAAMyQ,UAAYzQ,KAChF,EAEAyc,QAAQH,GAGP,OAFIA,GAAQhP,GAAQtN,MAAM,mBAErBoc,GAAMvB,QAAQ,cAIZ,CACN8B,QAAS,CACRC,cAAe,UAAUR,GAAMvB,QAAQ,kBALjC,CAAC8B,QAAS,CAAC,EAQpB,EAEA2K,eAAeF,EAAU7nB,EAAMgoB,IAC1BhoB,GAAwB,kBAATA,GAAuBA,aAAgBkG,MAAWlG,aAAgBioB,KAGpFJ,EAASpJ,OAAOuJ,EAAmB,MAARhoB,EAAe,GAAKA,GAF/C7E,OAAOT,KAAKsF,GAAMuM,SAAQ5K,GAAOpC,KAAKwoB,eAAeF,EAAU7nB,EAAK2B,GAAMqmB,EAAY,GAAGA,KAAarmB,KAASA,IAGjH,EAEAimB,kBAAkB5nB,GACjB,MAAM6nB,EAAW,IAAIK,SAGrB,OAFA3oB,KAAKwoB,eAAeF,EAAU,CAAC7nB,KAAMA,IAE9B6nB,CACR,GCtLD,IACCvK,QAAS,CAACC,EAAUC,KACfA,IAAgC,IAArBA,EAAQre,WAEvBoe,EAAIR,OAAOU,iBAAiBrd,OAAS0c,GAAK,GCL5C,IACC4I,YAAY,EAEZjK,MAAO,CACN9G,YAAa,KACbnT,UAAW,KACX8M,MAAO,KACPhB,SAAU,KACV6a,oBAAqB,KACrBC,gBAAiB,KACjBC,aAAa,GAGd3M,UAAW,CACV4M,gBAAgB7M,EAAY9G,GAC3B8G,EAAM9G,YAAcA,CACrB,EAEA4T,cAAc9M,EAAYja,GACzBia,EAAMja,UAAYA,CAOnB,EAEAgnB,UAAU/M,EAAYnN,GACrBmN,EAAMnN,MAAQA,CACf,EAEAma,aAAahN,EAAYnO,GACxBmO,EAAMnO,SAAWA,CAClB,EAEAob,yBAAyBjN,EAAYxH,GACpCwH,EAAM0M,oBAAsBlU,CAC7B,EAEA0U,qBAAqBlN,EAAYxH,GAChCwH,EAAM2M,gBAAkBnU,CACzB,EAEA2U,YAAYnN,EAAYxb,GACvBwb,EAAMnN,MAAQmN,EAAMnN,MAAMxT,KAAIsI,GACzBA,EAAEzI,IAAMsF,EAAKtF,GACTsF,EAEDmD,GAET,EAEAylB,UAAUpN,EAAYxb,GACrBwb,EAAMnN,MAAMvK,KAAK9D,EAClB,EAEA6oB,YAAYrN,EAAYxb,GACvBwb,EAAMnN,MAAQmN,EAAMnN,MAAMxL,QAAOM,GAAKA,EAAEzI,IAAMsF,EAAKtF,IACpD,EAEAouB,eAAetN,EAAYrX,GAC1BqX,EAAM0M,oBAAuB1M,EAAM0M,oBAAoBrtB,KAAIkuB,GAAQA,EAAGruB,IAAMyJ,EAAQzJ,GAAKyJ,EAAU4kB,IACnGvN,EAAM2M,gBAAoB3M,EAAM2M,gBAAgBttB,KAAIkuB,GAASA,EAAGruB,IAAMyJ,EAAQzJ,GAAKyJ,EAAU4kB,GAM9F,EAEAC,eAAexN,EAAYrX,GAC1BqX,EAAM0M,oBAAuB1M,EAAM0M,oBAAoBrlB,QAAOkmB,GAAOA,EAAGruB,IAAMyJ,EAAQzJ,KACtF8gB,EAAM2M,gBAAoB3M,EAAM2M,gBAAgBtlB,QAAOkmB,GAAQA,EAAGruB,IAAMyJ,EAAQzJ,IAMjF,EAEA0tB,YAAY5M,GACXA,EAAM4M,aAAc,CACrB,GAGD1M,QAAS,CACRuN,YAAW,SAACrO,EAAQ,OAAEra,IACrB,OAAOpG,QAAQ+uB,IAAI,CAClBtO,EAAS,mBACTA,EAAS,iBACTA,EAAS,aACTA,EAAS,gBACTA,EAAS,2BACTA,EAAS,yBACPvgB,MAAK,IAAMkG,EAAO,gBACtB,EAEA4oB,gBAAe,SAACvO,IACf,OAAOzgB,QAAQ+uB,IAAI,CAClBtO,EAAS,mBACTA,EAAS,gBACTA,EAAS,2BACTA,EAAS,wBAEX,EAEAwO,mBAAkB,SAACxO,IAClB,OAAOzgB,QAAQ+uB,IAAI,CAClBtO,EAAS,oBAEX,EAEAyO,iBAAgB,OAAC9oB,IAChB,OAAO,IAAIpG,SAAQ,CAACC,EAAS4iB,KAE5BH,GAAAA,SAAe,+BACbxiB,MAAK,EAAGqa,kBACRnU,EAAO,kBAAmBmU,GAC1Bta,EAAQsa,EAAY,IAEpBqI,OAAMvc,IACND,EAAO,kBAAmB,CAACC,MAAOA,IAClCwc,EAAOxc,EAAM,GACZ,GAEL,EAEA8oB,eAAc,OAAC/oB,IACd,OAAO,IAAIpG,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,cAAoB,gBAClBxiB,MAAKkH,IACLhB,EAAO,gBAAiBgB,GACxBnH,EAAQmH,EAAU,IAElBwb,OAAMvc,IACND,EAAO,gBAAiB,CAACC,MAAOA,IAChCwc,EAAOxc,EAAM,GACZ,GAGL,EAEA+oB,WAAU,OAAChpB,IACV,OAAO,IAAIpG,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,cAAoB,YAClBxiB,MAAKgU,IACL9N,EAAO,YAAa8N,GACpBjU,EAAQiU,EAAM,IAEd0O,OAAMvc,IACND,EAAO,YAAa,CAACC,MAAOA,IAC5Bwc,EAAOxc,EAAM,GACZ,GAEL,EAEAgpB,cAAa,OAACjpB,IACb,OAAO,IAAIpG,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,cAAoB,eAClBxiB,MAAKiT,IACL/M,EAAO,eAAgB+M,GACvBlT,EAAQkT,EAAQ,IAEhByP,OAAMvc,IACND,EAAO,eAAgB,CAACC,MAAOA,IAC/Bwc,EAAOxc,EAAM,GACZ,GAGL,EAEAipB,yBAAwB,OAAClpB,GAAwBqD,EAAagZ,GAAMvB,QAAQ,cAAc3gB,IACzF,OAAO,IAAIP,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,SAAe,4CAA4CjZ,KACzDvJ,MAAK,EAAE2Z,eACPzT,EAAO,2BAA4ByT,GACnC5Z,EAAQ4Z,EAAS,IAEjB+I,OAAMvc,IACND,EAAO,2BAA4B,CAACC,MAAOA,IAC3Cwc,EAAOxc,EAAM,GACZ,GAEL,EAEAkpB,qBAAoB,OAACnpB,GAAwBqD,EAAagZ,GAAMvB,QAAQ,cAAc3gB,IACrF,OAAO,IAAIP,SAAQ,CAACC,EAAS4iB,KAC5BH,GAAAA,SAAe,wCAAwCjZ,KACrDvJ,MAAK,EAAE2Z,eACPzT,EAAO,uBAAwByT,GAC/B5Z,EAAQ4Z,EAAS,IAEjB+I,OAAMvc,IACND,EAAO,uBAAwB,CAACC,MAAOA,IACvCwc,EAAOxc,EAAM,GACZ,GAEL,GAID6a,QAAS,CACR3G,YAAc8G,GACNA,EAAM9G,YAGdnT,UAAYia,GACJA,EAAMja,UAGdqB,kBAAoB4Y,GACdA,EAAMja,UAEJia,EAAMja,UAAU1G,KAAI2G,IAAY,IACnCA,EACHG,UAAW,GAAIH,EAAS9C,QAAU8C,EAASsO,UAC3CF,UAAWpO,EAAS9C,KAAKmR,OAAO,GAAKrO,EAASsO,QAAQD,OAAO,OAC1D8Z,MAAK,CAACC,EAAGC,IAAMD,EAAElrB,KAAOmrB,EAAEnrB,MAAQ,EAAI,IANb,GAS9B2P,MAAQmN,GACAA,EAAMnN,MAGdhB,SAAWmO,GACHA,EAAMnO,SAGd6a,oBAAsB1M,GACdA,EAAM0M,oBAGdC,gBAAkB3M,GACVA,EAAM2M,gBAGd2B,cAAgBtO,GACRA,EAAM4M,cC9OhB,IACC/K,QAAUC,IACTA,EAAIR,OAAOU,iBAAiBld,OAAOomB,eAAe,KAAMqD,GAAQ,G,4BCiB3D7rB,MAAM,4BAA6C8rB,KAAK,Q,gEAapD9rB,MAAM,eAAe+rB,IAAI,MAAMD,KAAK,Q,UACnC9rB,MAAM,uB,IAMPM,EAAAA,EAAAA,GAA4C,QAAtCN,MAAM,0BAAwB,S,IAAcA,MAAM,2B,UAIvDA,MAAM,oCAAkFgsB,OAAO,U,yIAoC1FhsB,MAAM,6B,UAGNA,MAAM,oB,qDASNA,MAAM,sB,qBAEFA,MAAM,e,2BAenBA,MAAM,2B,IACVM,EAAAA,EAAAA,GAAW,oB,IAAX2rB,I,iKA/GH9oB,EAAAA,EAAAA,IAkHM,OAlHDnD,OAAK,SAAC,sBAA8CnB,EAAAA,aAAxBmtB,OAAO,SAA6BrtB,IAAI,SAAUutB,KAAMxgB,EAAAA,Q,EACxFpN,EAAAA,EAAAA,IAmBgB6tB,EAAAA,CAnBA9M,QAASzb,EAAAA,OAAS,cAAa/E,EAAAA,WAAa,aAAU,CAAAutB,MAAIvtB,EAAAA,MAAKwtB,iBAAExtB,EAAAA,kBAAqB,YAAWA,EAAAA,SAAW,aAAYA,EAAAA,UAAY,aAAYA,EAAAA,UAAY,0BAAyBA,EAAAA,uB,eAa/I+E,EAAAA,OAAO,mBAAD,C,KAAhD,kB,aACV,EAD6B0oB,UAASC,UAAI,EAC1C5D,EAAAA,EAAAA,IAAoE/kB,EAAAA,OAAAA,kBAAAA,CAAtC0oB,QAASA,EAAUC,KAAMA,O,gBAET3oB,EAAAA,OAAO,eAAD,C,KAA1C,c,aACV,EADyBoJ,QAAOuf,UAAI,EACpC5D,EAAAA,EAAAA,IAA+D/kB,EAAAA,OAAAA,cAAAA,CAArCoJ,MAAOA,EAAQuf,KAAMA,EAAK/vB,Q,+HAGRkP,EAAAA,UA2FvC,iBA3F+C,WAAtDvI,EAAAA,EAAAA,IA4FM,MA5FN+C,GA4FM,EA3FL5H,EAAAA,EAAAA,IAuFakuB,EAAAA,GAAAA,CAvFAhsB,KAAI,eAAiBL,EAAAA,sBAAwBssB,OAAQ/gB,EAAAA,a,mBACjE,IAqFM,cArFNvI,EAAAA,EAAAA,IAqFM,OArFDnD,MAAM,eAAeqR,MAAA,qBAAyB7N,MAAKkI,EAAAA,aAAcvL,EAAAA,KAAK3D,GAAYwvB,OAAO,U,CAC1EtgB,EAAAA,kBAAoB7M,EAAAA,iBAAmBA,EAAAA,qBAAwBA,EAAAA,YAAc6M,EAAAA,iBAAa,WAA7GzL,EAAAA,EAAAA,IAQcysB,GAAAA,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAAA,CAAAlpB,IAAAA,GARmI3E,EAAAA,YAAS,CAC9I0C,OAAK,SACf,EADmBA,QAAOgrB,UAAI,EAC9B5D,EAAAA,EAAAA,IAIO/kB,EAAAA,OAAAA,QAAAA,CAJa2oB,KAAMA,EAAOhrB,MAAOA,IAAxC,IAIO,CAH2D1C,EAAAA,WAAWgJ,OAAStG,EAAMorB,gBAAa,WAAxGxpB,EAAAA,EAAAA,IAAuN,O,MAAlNnD,MAAM,gDAAuG4sB,gBAAgB,kBAAmBC,OAAI,GAAEhuB,EAAAA,iBAAiBkL,EAAQxI,GAAQ0I,UAAQ1I,EAAMsG,O,aAC9JtG,EAAMsG,QAAK,WAAvD1E,EAAAA,EAAAA,IAAoF,O,MAA/EnD,MAAM,sBAA8CiK,UAAQ1I,EAAMsG,O,6BAC9BtG,EAAMqB,SAAY/D,EAAAA,gBAAmBA,EAAAA,kB,iBAAgB,WAA9FsE,EAAAA,EAAAA,IAA6I,O,MAAxInD,MAAM,wBAAqGiK,UAAQ1I,EAAMqB,S,6CAIjItC,EAAAA,EAAAA,GA0EM,OA1EDN,OAAK,SAAC,aAAY,CAAA8sB,cAA0BjuB,EAAAA,iBAAiBmtB,OAAO,SAASrtB,IAAI,iB,EACrF2B,EAAAA,EAAAA,GAwEM,MAxENoM,GAwEM,CAvEkC7N,EAAAA,gBAAa,WAApDsE,EAAAA,EAAAA,IASM,MATNsE,GASM,CARmCiE,EAAAA,kBAAoB7M,EAAAA,uBAAyBA,EAAAA,WAAc6M,EAAAA,iBAAa,WAAhHvI,EAAAA,EAAAA,IAEM,O,MAFDnD,MAAM,uBAAiIqR,OAAK,SAAA3O,OAAY7D,EAAAA,UAAU6D,U,EACtKpC,EAAAA,EAAAA,GAA+B,qBAAtBH,EAAAA,MAAM4sB,QAAM,uCAEtB5pB,EAAAA,EAAAA,IAIMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAJ6CvE,EAAAA,WAAS,CAArBmuB,EAAMjmB,M,WAA7C5D,EAAAA,EAAAA,IAIM,OAJDnD,MAAM,oBAAoDwD,IAAKuD,EAAIsK,OAAK,mBAAa3F,EAAAA,qB,EACzFid,EAAAA,EAAAA,IAEC/kB,EAAAA,OAAAA,YAAAA,CAFuBuJ,MAAO6f,EAAK7f,MAAQE,QAAS2f,EAAK3f,UAA1D,IAEC,CADC3F,IAA4C,OAA6D,OAA7DqK,IAA6D,QAApBib,EAAKhqB,OAAK,a,yBAI9C0I,EAAAA,iBAAmB7M,EAAAA,cAAW,WAAnFsE,EAAAA,EAAAA,IAIM,MAJN2F,GAIM,cAHL3F,EAAAA,EAAAA,IAEMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAFyD,GAAL2D,IAA1DzG,EAAAA,EAAAA,GAEM,OAFDN,MAAM,wCAAwDwD,IAAKuD,EAAG+kB,KAAK,Q,EAC/EnD,EAAAA,EAAAA,IAA4F/kB,EAAAA,OAAAA,mBAAAA,CAA7DqpB,KAAMpuB,EAAAA,cAAckI,EAAI,KAAvD,IAA4F,mBAA9BlI,EAAAA,cAAckI,EAAI,IAAH,U,yBAG/EzG,EAAAA,EAAAA,GAuDM,OAvDDN,OAAK,SAAC,qDAAoD,GAAYG,EAAAA,KAAK3D,YAAWsvB,KAAK,OAAQoB,MAAOruB,EAAAA,sBAAwBA,EAAAA,WAAamtB,SAAUntB,EAAAA,qB,CACpIA,EAAAA,qBAAuBA,EAAAA,aAAU,WAA1DoB,EAAAA,EAAAA,IAOoBktB,EAAAA,C,MAPiD,uBAAsBhtB,EAAAA,oBAAsB,YAAWtB,EAAAA,SAAW,0BAAyBA,EAAAA,qBAAuBwS,OAAK,QAAExS,EAAAA,oBAAsB,cAAcA,EAAAA,wBAA0B,IAAKuuB,gBAAiB1hB,EAAAA,gBAAiB/M,IAAI,2B,eACjPiF,EAAAA,OAAO,mBAAD,C,KAAhD,kB,aACV,EAD6B0oB,UAASC,UAAI,EAC1C5D,EAAAA,EAAAA,IAAoE/kB,EAAAA,OAAAA,kBAAAA,CAAtC0oB,QAASA,EAAUC,KAAMA,O,gBAEf3oB,EAAAA,OAAO,eAAD,C,KAApC,c,aACV,EADyBoJ,WAAK,EAC9B2b,EAAAA,EAAAA,IAA+D/kB,EAAAA,OAAAA,cAAAA,CAArCoJ,MAAOA,EAAQuf,KAAMpsB,EAAAA,KAAK3D,Q,kHAGsCqC,EAAAA,WAAa6M,EAAAA,mBAAqBA,EAAAA,gBAAa,WAA3IvI,EAAAA,EAAAA,IAIM,O,MAJDnD,MAAM,0CAA0CrB,IAAI,wBAAqG0S,OAAK,QAAExS,EAAAA,oBAAsB,cAAcA,EAAAA,wBAA0B,K,gBAClOsE,EAAAA,EAAAA,IAEMC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IAF6CvE,EAAAA,WAAS,CAAtBmO,EAAOjG,M,WAA7C5D,EAAAA,EAAAA,IAEM,OAFDnD,OAAK,SAAC,mBAAoEgN,EAAMhN,QAAS,IAA/BwD,IAAKuD,G,EACnE4hB,EAAAA,EAAAA,IAAgF/kB,EAAAA,OAAAA,cAAAA,CAAtDoJ,MAAOA,EAAQuf,KAAMpsB,EAAAA,KAAK3D,KAApD,IAAgF,mBAArBwQ,EAAMhK,OAAK,a,2BAGrD0I,EAAAA,kBAAoB7M,EAAAA,gBAAmBA,EAAAA,YAAcA,EAAAA,qBAAyBA,EAAAA,WAAaA,EAAAA,WAAa6M,EAAAA,iBAAa,WAAxIzL,EAAAA,EAAAA,IAQcysB,GAAAA,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAAA,CAAAlpB,IAAAA,GAR8K3E,EAAAA,YAAS,CACzL0C,OAAK,SACf,EADmBA,QAAOgrB,UAAI,EAC9B5D,EAAAA,EAAAA,IAIO/kB,EAAAA,OAAAA,QAAAA,CAJa2oB,KAAMA,EAAOhrB,MAAOA,IAAxC,IAIO,CAH2D1C,EAAAA,WAAWgJ,OAAStG,EAAMorB,gBAAa,WAAxGxpB,EAAAA,EAAAA,IAAuN,O,MAAlNnD,MAAM,gDAAuG4sB,gBAAgB,kBAAmBC,OAAI,GAAEhuB,EAAAA,iBAAiBkL,EAAQxI,GAAQ0I,UAAQ1I,EAAMsG,O,aAC9JtG,EAAMsG,QAAK,WAAvD1E,EAAAA,EAAAA,IAAoF,O,MAA/EnD,MAAM,sBAA8CiK,UAAQ1I,EAAMsG,O,6BAC9BtG,EAAMqB,SAAY/D,EAAAA,gBAAmBA,EAAAA,kB,iBAAgB,WAA9FsE,EAAAA,EAAAA,IAA6I,O,MAAxInD,MAAM,wBAAqGiK,UAAQ1I,EAAMqB,S,6CAKjItC,EAAAA,EAAAA,GA8BM,OA9BDN,MAAM,kCAAmCrB,IAAK0uB,GAAMltB,EAAAA,QAAUktB,EAAOvB,KAAK,OAAQoB,MAAOruB,EAAAA,sBAAwBA,EAAAA,WAAawS,OAAK,QAAExS,EAAAA,oBAAsB,cAAcA,EAAAA,wBAA0B,K,gBAEvMsE,EAAAA,EAAAA,IA2BcC,EAAAA,GAAAA,MAAAA,EAAAA,EAAAA,IA3BmBvE,EAAAA,WAAS,CAArBmuB,EAAMjmB,M,WAA3B9G,EAAAA,EAAAA,IA2BcqtB,EAAAA,CA3B+B9pB,IAAKuD,EAAIsY,QAASzb,EAAAA,OAAS,cAAa/E,EAAAA,WAAagD,KAAMmrB,EAAO,aAAYthB,EAAAA,aAAa3I,SAAWlE,EAAAA,YAAcA,EAAAA,cAAgBA,EAAAA,UAA4B,gBAAeA,EAAAA,aAAe,gBAAeA,EAAAA,aAAe,cAAaA,EAAAA,WAAaA,EAAAA,WAAS,I,CAChS,gBAAY,SACtB,EAD0BwiB,SAAQrU,QAAOugB,gBAAU,EACnD5E,EAAAA,EAAAA,IASO/kB,EAAAA,OAAAA,eAAAA,CAToBopB,KAAMA,EAAOT,KAAMpsB,EAAAA,KAAOqtB,WAAaD,EAAalM,OAAQA,IAAvF,IASO,CARyBrU,IAAUtB,EAAAA,oBAAiB,WAA1DvI,EAAAA,EAAAA,IAA+F,O,MAA1FnD,MAAM,cAAyDiK,UAAQ+C,EAAMhK,O,4BAC7CgqB,EAAKpqB,UAAO,WAAjDO,EAAAA,EAAAA,IAA+E,O,MAA1EnD,MAAM,oBAAwCiK,UAAQ+iB,EAAKpqB,S,6BACjB/D,EAAAA,cAAgB6M,EAAAA,mBAAuB7M,EAAAA,mBAAqB6M,EAAAA,wBAA2B2V,EAAOte,SAAM,WAAnJI,EAAAA,EAAAA,IAEM,MAFNsqB,GAEM,EADL9E,EAAAA,EAAAA,IAAkF/kB,EAAAA,OAAAA,eAAAA,CAAvD2oB,KAAMpsB,EAAAA,KAAOkhB,OAAQA,IAAhD,IAAkF,mBAAvBA,EAAOte,QAAM,0BAEpClE,EAAAA,qBAAqBwiB,EAAQrU,IAAUnO,EAAAA,kBAAe,WAA3FsE,EAAAA,EAAAA,IAEM,MAFNyH,GAEM,EADL+d,EAAAA,EAAAA,IAAgD/kB,EAAAA,OAAAA,WAAAA,CAAAA,GAAhD,IAAgD,mBAAvBzD,EAAAA,MAAMutB,SAAO,+BAI9BnsB,OAAK,SACf,EADmBA,QAAOgrB,UAAI,EAC9B5D,EAAAA,EAAAA,IAQO/kB,EAAAA,OAAAA,QAAAA,CARa2oB,KAAMA,EAAOhrB,MAAOA,IAAxC,IAQO,CAP2D1C,EAAAA,WAAWgJ,OAAStG,EAAMorB,gBAAa,WAAxGxpB,EAAAA,EAAAA,IAAuN,O,MAAlNnD,MAAM,gDAAuG4sB,gBAAgB,kBAAmBC,OAAI,GAAEhuB,EAAAA,iBAAiBkL,EAAQxI,GAAQ0I,UAAQ1I,EAAMsG,O,aAC9JtG,EAAMsG,QAAK,WAAvD1E,EAAAA,EAAAA,IAAoF,O,MAA/EnD,MAAM,sBAA8CiK,UAAQ1I,EAAMsG,O,6BACjC6D,EAAAA,MAASnK,EAAMwrB,QAAYluB,EAAAA,cAAgB0C,EAAMwrB,QAA0B,UAAhBrhB,EAAAA,mBAAmC7M,EAAAA,kBAE2D,iBAF3C,WAApJsE,EAAAA,EAAAA,IAGM,MAHNwqB,GAGM,mBAFFxtB,EAAAA,MAAMoJ,KAAKqkB,WAAWrsB,EAAMgF,MAAO1H,EAAAA,aAAU,GAAgB0C,EAAMssB,iBAAc,WAAhC1qB,EAAAA,EAAAA,IACnD,UADqF,OAAQ,QAAGhD,EAAAA,MAAMoJ,KAAKqkB,WAAWrsB,EAAMiF,IAAK3H,EAAAA,WAAY,MAAM,IAAR,oBAC1G0C,EAAMusB,UAAS,IAASvsB,EAAMwsB,SAASf,EAAKgB,gBAAa,IAASC,aAAU,WAA7G9qB,EAAAA,EAAAA,IAA0M,QAA1M+qB,GAA0H,MAAO,QAAG3sB,EAAMusB,UAAY,IAAH,SAAW3tB,EAAAA,MAAMguB,IAAI,IAAM,IAAI7e,eAAW,wBAEtJ/N,EAAMqB,SAAa/D,EAAAA,aAAe0C,EAAMwrB,QAA0B,UAAhBrhB,EAAAA,kBAAkC7M,EAAAA,kB,iBAAgB,WAA7IsE,EAAAA,EAAAA,IAA4M,O,MAAvMnD,MAAM,wBAAoKiK,UAAQ1I,EAAMqB,S,wLAa1JzC,EAAAA,OAEtC,iBAF2C,WAAjDgD,EAAAA,EAAAA,IAEM,MAFNirB,GAEM,e,UCzGT,IAAIC,GAAKC,GAAWC,GAAQC,GACxBC,GAAc,CAAC,EACfC,GAAc,CAAC,EAEJ,MAAMC,GAGnB1O,YAAa2O,EAAOC,GAAe,IAAO,qBAFlC,CAAC,IAAC,8BAiJMtlB,GAA0B,GAAlBA,EAAKyR,WAAkBzR,EAAK0R,eA9IlDuT,GAAOptB,KACPA,KAAK0tB,OAASF,EAGTC,IAAgB9mB,MAASA,KAAKgnB,UAAUC,SAAS5tB,KAAK6tB,qBAK7D,CAEAA,sBAEElnB,KAAKgnB,UAAUC,QAAU,SAAUE,GAAQ,OAAOV,GAAKQ,QAAQ5tB,KAAM8tB,EAAM,EAC3EnnB,KAAKgnB,UAAUI,aAAe,SAAUD,GAAQ,OAAOV,GAAKW,aAAa/tB,KAAM8tB,EAAM,EACrFnnB,KAAKgnB,UAAUK,SAAW,SAAUjiB,GAAS,OAAOqhB,GAAKY,SAAShuB,KAAM+L,EAAO,EAC/EpF,KAAKgnB,UAAUM,cAAgB,SAAUliB,GAAS,OAAOqhB,GAAKa,cAAcjuB,KAAM+L,EAAO,EACzFpF,KAAKgnB,UAAUO,WAAa,SAAUjiB,GAAW,OAAOmhB,GAAKc,WAAWluB,KAAMiM,EAAS,EACvFtF,KAAKgnB,UAAUQ,gBAAkB,SAAUliB,GAAW,OAAOmhB,GAAKe,gBAAgBnuB,KAAMiM,EAAS,EACjGtF,KAAKgnB,UAAUS,QAAU,WAAc,OAAOhB,GAAKgB,QAAQpuB,KAAM,EACjE2G,KAAKgnB,UAAUU,QAAU,WAAc,OAAOjB,GAAKiB,QAAQruB,KAAM,EACjE2G,KAAKgnB,UAAUW,WAAa,WAAc,OAAOlB,GAAKkB,WAAWtuB,KAAM,EACvE2G,KAAKgnB,UAAU/mB,OAAS,SAAUA,EAAS,cAAgB,OAAOwmB,GAAKrc,WAAW/Q,KAAM4G,EAAQ,EAChGD,KAAKgnB,UAAUnB,WAAa,SAAU5lB,EAAS,SAAW,OAAOwmB,GAAKZ,WAAWxsB,KAAM4G,EAAQ,CAEjG,CAEA2nB,0BACS5nB,KAAKgnB,UAAUC,eACfjnB,KAAKgnB,UAAUI,oBACfpnB,KAAKgnB,UAAUK,gBACfrnB,KAAKgnB,UAAUM,qBACftnB,KAAKgnB,UAAUO,kBACfvnB,KAAKgnB,UAAUQ,uBACfxnB,KAAKgnB,UAAUS,eACfznB,KAAKgnB,UAAUU,eACf1nB,KAAKgnB,UAAUW,kBACf3nB,KAAKgnB,UAAU/mB,cACfD,KAAKgnB,UAAUnB,UACxB,CAEAgC,YAAahB,GACXxtB,KAAK0tB,OAASF,CAChB,CAIAiB,kBAOE,OANIvB,MAAe,IAAIvmB,MAAQ+nB,YAC7BzB,GAAM,IAAItmB,KACVumB,GAAYD,GAAIyB,UAChBvB,GAAU,GAAEF,GAAI0B,iBAAiB1B,GAAI2B,cAAc3B,GAAIyB,aAGlDvB,EACT,CAIAS,QAASzlB,EAAM2lB,GACb,MAAM5nB,EAAI,IAAIS,KAAKwB,EAAK0mB,WAExB,OADA3oB,EAAE4oB,QAAQ5oB,EAAEwoB,UAAYZ,GACjB5nB,CACT,CAEA6nB,aAAc5lB,EAAM2lB,GAClB,MAAM5nB,EAAI,IAAIS,KAAKwB,EAAK0mB,WAExB,OADA3oB,EAAE4oB,QAAQ5oB,EAAEwoB,UAAYZ,GACjB5nB,CACT,CAEA8nB,SAAU7lB,EAAM4D,GACd,MAAM7F,EAAI,IAAIS,KAAKwB,EAAK0mB,WAExB,OADA3oB,EAAE8O,SAAS9O,EAAE0T,WAAa7N,GACnB7F,CACT,CAEA+nB,cAAe9lB,EAAM4D,GACnB,MAAM7F,EAAI,IAAIS,KAAKwB,EAAK0mB,WAExB,OADA3oB,EAAE8O,SAAS9O,EAAE0T,WAAa7N,GACnB7F,CACT,CAEAgoB,WAAY/lB,EAAM8D,GAChB,MAAM/F,EAAI,IAAIS,KAAKwB,EAAK0mB,WAExB,OADA3oB,EAAE+O,WAAW/O,EAAE2T,aAAe5N,GACvB/F,CACT,CAEAioB,gBAAiBhmB,EAAM8D,GACrB,MAAM/F,EAAI,IAAIS,KAAKwB,EAAK0mB,WAExB,OADA3oB,EAAE+O,WAAW/O,EAAE2T,aAAe5N,GACvB/F,CACT,CAEAkoB,QAASjmB,GACP,MAAMjC,EAAI,IAAIS,KAAKA,KAAKooB,IAAI5mB,EAAKwmB,cAAexmB,EAAKymB,WAAYzmB,EAAKumB,YAChEM,EAAS9oB,EAAE+oB,aAAe,EAChC/oB,EAAEgpB,WAAWhpB,EAAEipB,aAAe,EAAIH,GAClC,MAAMI,EAAY,IAAIzoB,KAAKA,KAAKooB,IAAI7oB,EAAEmpB,iBAAkB,EAAG,IAC3D,OAAOC,KAAKC,OAAQrpB,EAAIkpB,GAAa,MAAY,GAAK,EACxD,CAEAf,QAASlmB,GACP,MAAQ,GAAEA,EAAKwmB,iBAAiBxmB,EAAKymB,cAAczmB,EAAKumB,cAAgB1uB,KAAKyuB,iBAC/E,CAEAH,WAAYnmB,GACV,MAAMqnB,EAAOrnB,EAAKwmB,cAClB,QAASa,EAAO,MAASA,EAAO,OAASA,EAAO,EAClD,CAGAC,0BAA2BtnB,EAAO,KAAMunB,GACtC,MAAMC,EAAsBxnB,GAAQ,IAAIxB,KAAKwB,EAAK0mB,YAAe,IAAIloB,KAC/DipB,EAAcF,EAAqB,EAAI,EAE7C,OADAC,EAAmBb,QAAQa,EAAmBjB,WAAaiB,EAAmBE,SAAWD,GAAe,GACjGD,CACT,CAQAG,aAAc3nB,GACZ,OAAIA,aAAgBxB,KAAawB,GAKb,KAAhBA,EAAKxG,SAAewG,GAAQ,UACzB,IAAIxB,KAAKwB,EAAK2F,QAAQ,KAAM,MACrC,CAkBAiiB,UAAW5qB,EAAOC,GAEK,kBAAVD,IAAoBA,EAAQA,EAAM2I,QAAQ,KAAM,MACxC,kBAAR1I,IAAkBA,EAAMA,EAAI0I,QAAQ,KAAM,MAGrD3I,EAAS,IAAIwB,KAAKxB,GAAQ6P,SAAS,EAAG,EAAG,EAAG,GAE5C5P,EAAO,IAAIuB,KAAKvB,GAAM4P,SAAS,EAAG,EAAG,EAAG,GAGxC,MAAMgb,EAA6F,IAA3E,IAAIrpB,KAAKvB,GAAK6qB,oBAAsB,IAAItpB,KAAKxB,GAAO8qB,qBAA4B,IACxG,OAAOX,KAAKC,MAAMnqB,EAAMD,EAAQ6qB,GAAkB,MACpD,CAQAE,oBAAqBC,EAAOC,EAAOC,GACjC,OAAOf,KAAKgB,IAAIH,EAAMI,UAAYH,EAAMG,YAAyB,GAAXF,EAAgB,GACxE,CAeAtf,WAAY5I,EAAMvB,EAAS,aAAc4mB,EAAQ,MAG/C,GAFKA,IAAOA,EAAQxtB,KAAK0tB,QACpB9mB,IAAQA,EAAS,cACP,eAAXA,EAAyB,OAAO5G,KAAKwwB,eAAeroB,GAGxDklB,GAAc,CAAC,EACfC,GAAc,CAAC,EAGf,MAAMmD,EAAU,CACdC,KAAM,IAAM1wB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOkD,KACjDE,GAAI,IAAM5wB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOoD,KAC/CC,EAAG,IAAM7wB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOqD,EAC9CC,GAAI,IAAM9wB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOsD,KAC/CC,IAAK,IAAM/wB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOuD,MAChDC,KAAM,IAAMhxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOwD,OACjDC,MAAO,IAAMjxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOyD,QAClDC,EAAG,IAAMlxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAO0D,EAC9CC,GAAI,IAAMnxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAO2D,KAC/CC,EAAG,IAAMpxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAO4D,IAC9ClrB,EAAG,IAAMlG,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAOtnB,EAC9CmrB,GAAI,IAAMrxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAO6D,KAC/CC,IAAK,IAAMtxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAO8D,MAChDC,KAAM,IAAMvxB,KAAK2wB,mBAAmBxoB,EAAMqlB,GAAO+D,OACjDC,GAAI,IAAMxxB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOgE,GAC/CE,EAAG,IAAM1xB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOkE,EAC9CC,GAAI,IAAM3xB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOmE,GAC/CC,EAAG,IAAM5xB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOoE,EAC9CC,GAAI,IAAM7xB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOqE,GAC/CC,GAAI,IAAM9xB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOsE,GAC/CC,GAAI,IAAM/xB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOuE,GAC/C3S,EAAG,IAAMpf,KAAKyxB,mBAAmBtpB,EAAMqlB,GAAOpO,GAGhD,OAAOxY,EAAOkH,QAAQ,8BAA8B,CAACsR,EAAG4S,KACtD,MAAMC,EAASxB,EAAQuB,EAASlkB,QAAQ,SAAU,KAClD,YAAkBV,IAAX6kB,EAAuBA,IAAWD,CAAQ,GAErD,CAGAxB,eAAgBroB,GACd,MAAMiX,EAAIjX,EAAKymB,WAAa,EACtB1oB,EAAIiC,EAAKumB,UACf,MAAQ,GAAEvmB,EAAKwmB,iBAAiBvP,EAAI,GAAK,IAAM,KAAKA,KAAKlZ,EAAI,GAAK,IAAM,KAAKA,GAC/E,CAaAsmB,WAAYrkB,EAAMvB,EAAS,QAAS4mB,EAAQ,KAAM0E,GAAQ,GACxD,IAAIC,GAAc,EAClB,GAAID,EAAO,CACT,MAAON,EAAGxS,EAAGV,GAAK,CAACvW,EAAKyR,WAAYzR,EAAK0R,aAAc1R,EAAKiqB,cACvDR,EAAIxS,EAAIV,IAAQ,MAAeyT,GAAc,EACpD,CAEA,GAAIhqB,aAAgBxB,MAAmB,UAAXC,EAAoB,OAAOurB,EAAc,QAAUnyB,KAAKqyB,eAAelqB,GAEnGmlB,GAAc,CAAC,EACVE,IAAOA,EAAQxtB,KAAK0tB,QACzB,MAAM4E,EAAUtyB,KAAKyxB,mBAAmBtpB,EAAMqlB,GAExC+E,EAAY3rB,EAAOkH,QAAQ,8BAA8B,CAACsR,EAAG4S,KACjE,MAAMC,EAASK,EAAQN,EAASlkB,QAAQ,SAAU,KAClD,YAAkBV,IAAX6kB,EAAuBA,EAASD,CAAQ,IAKjD,OAAOG,EAAcI,EAAUzkB,QAAQ,QAAS,SAAWykB,CAC7D,CAQAF,eAAgBlqB,GACd,MAAMypB,EAAIzpB,EAAKyR,WACTwF,EAAIjX,EAAK0R,aACf,MAAQ,IAAG+X,EAAI,GAAK,IAAM,IAAMA,MAAMxS,EAAI,GAAK,IAAM,IAAMA,GAC7D,CAEAoT,KAAMtsB,GACJ,GAAIA,EAAI,GAAKA,EAAI,GAAI,MAAO,KAC5B,OAAQA,EAAI,IACV,KAAK,EAAG,MAAO,KACf,KAAK,EAAG,MAAO,KACf,KAAK,EAAG,MAAO,KACf,QAAS,MAAO,KAEpB,CAEAyqB,mBAAoBxoB,EAAMqlB,GACxB,GAAIH,GAAY6D,EAAG,OAAO7D,GAE1B,MAAMqD,EAAOvoB,EAAKwmB,cACZkC,EAAI1oB,EAAKymB,WAAa,EACtBsC,EAAI/oB,EAAKumB,UACT3B,EAAM5kB,EAAK0nB,SACX4C,GAAa1F,EAAM,EAAI,GAAK,EA0BlC,OAxBAM,GAAc,CAEZqD,OACAE,GAAI,IAAMF,EAAK5W,WAAWvS,UAAU,GAGpCspB,IACAC,GAAI,KAAOD,EAAI,GAAK,IAAM,IAAMA,EAChCE,IAAK,IAAMvD,EAAMkF,OAAO7B,EAAI,GAAGtpB,UAAU,EAAG,GAC5CypB,KAAM,IAAMxD,EAAMkF,OAAO7B,EAAI,GAC7BI,MAAO,KAAOzD,EAAMmF,gBAAkBnF,EAAMkF,QAAQ7B,EAAI,GAGxDK,IACAC,GAAI,KAAOD,EAAI,GAAK,IAAM,IAAMA,EAChCE,EAAG,IAAMpxB,KAAKwyB,KAAKtB,GAGnBhrB,EAAGusB,EAAY,EACfpB,GAAI,IAAM7D,EAAMoF,SAASH,GAAW,GACpCnB,IAAK,IAAM9D,EAAMoF,SAASH,GAAWI,OAAO,EAAG,GAC/CtB,KAAM,IAAM/D,EAAMoF,SAASH,IAGtBpF,EACT,CAEAoE,mBAAoBtpB,EAAMqlB,GACxB,GAAIF,GAAYuE,GAAI,OAAOvE,GAE3B,IAAIoE,EAAGtS,EACHjX,aAAgBxB,MAClB+qB,EAAIvpB,EAAKyR,WACTwF,EAAIjX,EAAK0R,eAGT6X,EAAIpC,KAAKwD,MAAM3qB,EAAO,IACtBiX,EAAIkQ,KAAKwD,MAAM3qB,EAAO,KAGxB,MAAMypB,EAAIF,EAAI,GAAKA,EAAI,GAAK,GACtBG,GAAMrE,GAAS,CAAEqE,GAAI,KAAMkB,GAAI,OAAc,KAANrB,GAAYA,EAAI,GAAK,KAAO,MAYzE,OAXApE,GAAc,CACZoE,IACAE,IACAJ,IAAKE,EAAI,GAAK,IAAM,IAAMA,EAC1BC,IAAKC,EAAI,GAAK,IAAM,IAAMA,EAC1BC,KACAC,GAAID,EAAGjS,cACPR,IACA2S,IAAK3S,EAAI,GAAK,IAAM,IAAMA,GAGrBkO,EACT,EC7WF,MAAM0F,GAAgB,KAEP,MAAMC,GAGnBpU,YAAaqU,IAAQ,uBAFX,OAAI,2BAaD,CAACC,GAAQ,EAAOhrB,EAAMyD,KAEjC5L,KAAKozB,QAAQryB,MAAM,aAAc6K,EAAQ,CAAEzD,OAAMyD,SAAUzD,GAGvDnI,KAAKozB,QAAQC,iBAAmBF,EAAOnzB,KAAKozB,QAAQE,uBAG/CtzB,KAAKozB,QAAQG,oBAAsB,iBAAkBzzB,SAC5DE,KAAKozB,QAAQI,UAAUC,YAAYC,OAEnC5X,YAAW,IAAO9b,KAAKozB,QAAQI,UAAUC,YAAYC,KAAO,GAAI1zB,KAAKozB,QAAQI,UAAUC,YAAYE,SAE/F3zB,KAAKozB,QAAQI,UAAUC,YAAYC,MAAQ,IAC7C1zB,KAAKozB,QAAQI,UAAUC,YAAYC,KAAO,EAC1C1zB,KAAKozB,QAAQE,uBACbtzB,KAAKozB,QAAQryB,MAAM,gBAAiB6K,EAAQ,CAAEzD,OAAMyD,SAAUzD,IAElE,KACD,kCASmB,CAACA,EAAMyD,KAEzB5L,KAAKozB,QAAQryB,MAAM,sBAAuB6K,EAAQ,CAAEzD,OAAMyD,SAAUzD,GAGpEnI,KAAKozB,QAAQE,sBAAsB,KACpC,4BASat4B,IACZ,MAAM,KAAE44B,EAAI,IAAEC,GAAQ7zB,KAAKozB,QAAQU,QAAQC,yBACrC,QAAEC,EAAO,QAAEC,GAAY,iBAAkBn0B,QAAU9E,EAAEk5B,QAAUl5B,EAAEk5B,QAAQ,GAAKl5B,EACpF,MAAO,CAAEm5B,EAAGH,EAAUJ,EAAMQ,EAAGH,EAAUJ,EAAK,KAC/C,gCASiB74B,IAChB,IAAIiR,EAAU,EACVooB,EAAe,CAAEF,EAAG,EAAGC,EAAG,GAC9B,MAAM,SAAE/D,EAAQ,eAAEiE,EAAc,SAAEC,GAAav0B,KAAKozB,QAAQ9oB,OAQ5D,MANiB,kBAANtP,EAAgBiR,EAAUjR,EACf,kBAANA,IACdq5B,EAAer0B,KAAKw0B,YAAYx5B,GAChCiR,EAAUqjB,KAAK4C,MAAMmC,EAAaD,EAAI/D,EAAWrkB,SAASsoB,GAAkBC,IAGvE,CAAEtoB,QAASqjB,KAAKmF,IAAInF,KAAK/Y,IAAItK,EAAS+mB,IAAgB,GAAIqB,eAAc,IA7E/Er0B,KAAKozB,QAAUF,CACjB,ECPF,MAAMwB,GAAuB,EACvB1B,GAAgB,KAEtB,IAAI2B,GAGAC,GAAeC,GAOJ,MAAMC,GA4BnBjW,YAAaqU,EAAQ6B,IAAW,uBA3BtB,OAAI,6BAEE,CACdC,KAAM,KACN7vB,MAAO,GACP8vB,iBAAkB,EAClB7vB,IAAK,GACLqnB,eAAgB,EAChBhmB,MAAO,GACPjF,QAAS,GACT0zB,YAAY,EACZvJ,QAAQ,EACRgB,SAAU,KACV9Q,OAAQ,KACR6Q,UAAW,EACX1kB,WAAW,EACXmtB,UAAU,EACV5J,eAAe,EACf6J,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVC,gBAAgB,EAChBC,SAAS,EACT72B,MAAO,KAIPoB,KAAKozB,QAAUF,EACfyB,GAAKI,CACP,CAUAW,cAAeC,EAAUruB,EAAUsuB,GAEjC,GADwB,kBAAbD,IAAuBA,EAAWhB,GAAG7E,aAAa6F,MACvDA,aAAoBhvB,MAAO,OAAO,EAExC,MAAMsuB,EAAmBN,GAAGkB,cAAcF,GAC1CruB,EAAsB,EAAXA,GAAuC,GAAvBotB,GAC3B,MAAMjI,EAAiBwI,EAAmB3tB,EACpClC,EAAMuvB,GAAGzG,WAAW,IAAIvnB,KAAKgvB,GAAWruB,GAG1CsuB,EAAaxwB,MACiB,kBAArBwwB,EAAaxwB,MAAkBwwB,EAAaxwB,IAAMuvB,GAAG7E,aAAa8F,EAAaxwB,MAC1FwwB,EAAanJ,eAAiBkI,GAAGkB,cAAcD,EAAaxwB,MAG9D,MAAMjF,EAAQ,IACTH,KAAK81B,cACRd,KAAO,GAAEh1B,KAAKozB,QAAQ2C,EAAEC,OAAOh2B,KAAKozB,QAAQ6C,qBAC5C9wB,MAAOwwB,EACPV,mBACA7vB,MACAqnB,iBACAE,SAAU,QACPiJ,GAML,MAA0C,oBAA/B51B,KAAKozB,QAAQ8C,eACjBl2B,KAAKozB,QAAQ8C,cAAc/1B,GAAO,IAAMH,KAAKm2B,cAAch2B,MAI9DA,EAAMi2B,aAAej2B,EAAMk2B,WAC7Bl2B,EAAMusB,UAAYiI,GAAG5E,UAAU5vB,EAAMgF,MAAOhF,EAAMiF,MAIpDpF,KAAKozB,QAAQkD,cAAc9xB,KAAKrE,GAKhCH,KAAKozB,QAAQmD,gBAAgB,CAACp2B,IAE9BH,KAAKozB,QAAQoD,cAAc,eAAgBr2B,GAC3CH,KAAKozB,QAAQryB,MAAM,eAAgB,CAAEZ,MAAOH,KAAKozB,QAAQqD,aAAat2B,GAAQu2B,cAAe,OAEtFv2B,QApBP,CAqBF,CAOAw2B,gBAAiB37B,GAGVA,EAAE2xB,WACL3xB,EAAE2xB,SAAW,CAAC,EACd3xB,EAAE2xB,SAASgI,GAAGnE,eAAex1B,EAAEmK,QAAU,CACvCA,MAAOnK,EAAEmK,MACT8vB,iBAAkBj6B,EAAEi6B,iBACpBxI,eAAgBuG,GAChBnG,YAAY,EACZ+J,WAAW,IAKf,MAAMC,EAAkB77B,EAAE2xB,SAASgI,GAAGnE,eAAex1B,EAAEoK,MAEnDyxB,IACFA,EAAgBD,WAAY,EAC5BC,EAAgBpK,eAAiBuG,IAQnC,MAAM7tB,EAAQwvB,GAAG/G,QAAQ5yB,EAAEoK,IAAK,GAC1BwnB,EAAgB+H,GAAGnE,eAAerrB,GAaxC,OAZAA,EAAM6P,SAAS,EAAG,EAAG,EAAG,GACxBha,EAAE2xB,SAASC,GAAiB,CAC1BznB,QACA8vB,iBAAkB,EAClBxI,eAAgBzxB,EAAEyxB,eAClBI,YAAY,EACZ+J,WAAW,GAGb57B,EAAEoK,IAAMuvB,GAAGzG,WAAW/oB,EAAOnK,EAAEyxB,gBAC/BzxB,EAAE0xB,UAAY9wB,OAAOT,KAAKH,EAAE2xB,UAAUhrB,OAE/BirB,CACT,CAOAkK,mBAAoB97B,GAClB,IAAI+7B,EAAgBn7B,OAAOT,KAAKH,EAAE2xB,UAAUhrB,OAC5C,GAAIo1B,GAAiB,EAAG,OAAOpC,GAAGnE,eAAex1B,EAAEoK,YAG5CpK,EAAE2xB,SAASgI,GAAGnE,eAAex1B,EAAEoK,MACtC2xB,IAEA,MAAM3xB,EAAMuvB,GAAG5G,aAAa/yB,EAAEoK,IAAK,GAC7BwnB,EAAgB+H,GAAGnE,eAAeprB,GAClCyxB,EAAkB77B,EAAE2xB,SAASC,GAmBnC,OAhBKmK,EAGIF,IAEPA,EAAgBD,WAAY,EAC5BC,EAAgBpK,eAAiBzxB,EAAEyxB,gBANjBzxB,EAAE2xB,SAAW,KAajC3xB,EAAE0xB,UAAYqK,GAAiB,EAC/B/7B,EAAEoK,IAAMA,EAEDwnB,CACT,CAYAoK,oBAAqBh8B,EAAGi8B,EAAeC,GACrC,MAAMC,EAAqBF,EAAc1G,UACnC6G,EAAmBF,EAAY3G,UACrC,IAGI7f,EAAWtL,EAAKiyB,EAHhBC,EAAat8B,EAAEmK,MAAMorB,UACrBgH,EAAWv8B,EAAEoK,IAAImrB,UACjBiH,GAA0B,EAKzBx8B,EAAEoK,IAAIwU,YAAe5e,EAAEoK,IAAIyU,eAAc0d,GAAY,KAE1Dv8B,EAAE2xB,SAAW,CAAC,EAGT3xB,EAAE6gB,QASLnL,EAAYymB,EACZ/xB,EAAMkqB,KAAK/Y,IACT6gB,EACAp8B,EAAE6gB,OAAO4b,MAAQ9C,GAAG7E,aAAa90B,EAAE6gB,OAAO4b,OAAOlH,UAAY6G,KAX/D1mB,EAAY4e,KAAKmF,IAAI0C,EAAoBG,GACzClyB,EAAMkqB,KAAK/Y,IAAI6gB,EAAkBG,IAcnC,MAAO7mB,GAAatL,EAAK,CACvB,IAAIsyB,GAAgB,EAIpB,MAAMC,EAAehD,GAAG/G,QAAQ,IAAIjnB,KAAK+J,GAAY,GAAGsE,SAAS,EAAG,EAAG,EAAG,GAC1E,IAAI6X,EAAY+J,EAAWzxB,EAAOynB,EAElC,GAAI5xB,EAAE6gB,OAAQ,CACZ,MAAM+b,EAAU,IAAIjxB,KAAK+J,GACnBmnB,EAAmBlD,GAAGnE,eAAeoH,IAIvCJ,GAA4Bx8B,EAAE88B,aAAe98B,EAAE88B,YAAYD,MACxDL,IACHF,EAAat8B,EAAE88B,YAAYD,GAAkB1yB,MAC7CkyB,EAAuB,IAAI1wB,KAAK2wB,GAAYtiB,SAAS,EAAG,EAAG,EAAG,GAC9DuiB,EAAWv8B,EAAE88B,YAAYD,GAAkBzyB,KAE7CoyB,GAA0B,EAC1BE,GAAgB,GAGlB7K,EAAanc,IAAc2mB,EAC3BT,EAAYiB,IAAqBlD,GAAGnE,eAAe,IAAI7pB,KAAK4wB,IAC5DpyB,EAAQ,IAAIwB,KAAKkmB,EAAayK,EAAa5mB,GAC3Ckc,EAAgB+H,GAAGnE,eAAerrB,GAE9ByxB,IAAWY,GAA0B,EAC3C,MAEEE,GAAgB,EAChB7K,EAAanc,IAAc4mB,EAC3BV,EAAYxxB,IAAQmyB,GAAYI,EAAevyB,EAC/CD,EAAQ0nB,EAAa7xB,EAAEmK,MAAQ,IAAIwB,KAAK+J,GACxCkc,EAAgB+H,GAAGnE,eAAe3D,EAAa7xB,EAAEmK,MAAQA,GAGvDuyB,IACF18B,EAAE2xB,SAASC,GAAiB,CAC1BznB,QACA8vB,iBAAkBpI,EAAa7xB,EAAEi6B,iBAAmB,EACpDxI,eAAgBmK,EAAY57B,EAAEyxB,eAAiBuG,GAC/CnG,aACA+J,cAIJlmB,EAAYinB,CACd,CAEA,OAAO38B,CACT,CAOAm7B,cAAeh2B,GACbH,KAAKozB,QAAQoD,cAAc,eAAgBr2B,GAG3CH,KAAKozB,QAAQkD,cAAgBt2B,KAAKozB,QAAQkD,cAAc/yB,QAAOvI,GAAKA,EAAEg6B,OAAS70B,EAAM60B,OAGrFh1B,KAAKozB,QAAQjI,KAAKlL,OAASjgB,KAAKozB,QAAQjI,KAAKlL,OAAO1c,QAAOvI,GAAKA,EAAEg6B,OAAS70B,EAAM60B,MACnF,CAMA+C,2BAA4BC,EAAY/Z,GACtC4W,GAAmBmD,EAAW5pB,MAAM,GACpCwmB,GAAgB,CAAC,EAIjBoD,EAAWhrB,SAAQhS,IAGjB65B,GAAiBoD,QAEZrD,GAAc55B,EAAEg6B,QAAOJ,GAAc55B,EAAEg6B,MAAQ,CAAEkD,SAAU,GAAI/yB,MAAOnK,EAAEmK,MAAOgzB,SAAU,EAAGC,aAAc,KAC/GxD,GAAc55B,EAAEg6B,MAAMmD,SAAW,EAEjCtD,GAAiB7nB,SAAQqrB,IAClBzD,GAAcyD,EAAGrD,QAAOJ,GAAcyD,EAAGrD,MAAQ,CAAEkD,SAAU,GAAI/yB,MAAOkzB,EAAGlzB,MAAOgzB,SAAU,EAAGC,aAAc,KAElH,MAAME,EAAiBt4B,KAAKu4B,aAAaF,EAAIr9B,EAAEmK,MAAOnK,EAAEoK,KAClDozB,EAAmBx4B,KAAKy4B,eAAeJ,EAAIr9B,GAC3C09B,EAAuBza,EAAQ0a,oBAAsBhE,GAAGzE,oBAAoBl1B,EAAEmK,MAAOkzB,EAAGlzB,MAAO8Y,EAAQoS,UAAY,EAEzH,GAAKr1B,EAAEk6B,YAAel6B,EAAE2wB,QAAW0M,EAAGnD,YAAemD,EAAG1M,SAAU2M,IAAkBI,EAiB/E,CACH,IAAIE,EAAMC,GACLD,GAAQhE,GAAc55B,EAAEg6B,OAAS,CAAEkD,SAAU,KAAMA,SAAS7tB,QAAQguB,EAAGrD,QAAU,GAAGJ,GAAc55B,EAAEg6B,MAAMkD,SAAS51B,OAAOs2B,EAAM,IAChIC,GAAQjE,GAAcyD,EAAGrD,OAAS,CAAEkD,SAAU,KAAMA,SAAS7tB,QAAQrP,EAAEg6B,QAAU,GAAGJ,GAAcyD,EAAGrD,MAAMkD,SAAS51B,OAAOu2B,EAAM,GACtIjE,GAAcyD,EAAGrD,MAAMmD,UACzB,MArBEvD,GAAc55B,EAAEg6B,MAAMkD,SAAS1zB,KAAK6zB,EAAGrD,MACvCJ,GAAc55B,EAAEg6B,MAAMkD,SAAW,IAAI,IAAIY,IAAIlE,GAAc55B,EAAEg6B,MAAMkD,WAEnEtD,GAAcyD,EAAGrD,MAAMkD,SAAS1zB,KAAKxJ,EAAEg6B,MACvCJ,GAAcyD,EAAGrD,MAAMkD,SAAW,IAAI,IAAIY,IAAIlE,GAAcyD,EAAGrD,MAAMkD,WACrEtD,GAAcyD,EAAGrD,MAAMmD,WAEnBK,IACF5D,GAAc55B,EAAEg6B,MAAMoD,aAAa5zB,KAAK6zB,EAAGrD,MAC3CJ,GAAc55B,EAAEg6B,MAAMoD,aAAe,IAAI,IAAIU,IAAIlE,GAAc55B,EAAEg6B,MAAMoD,eAEvExD,GAAcyD,EAAGrD,MAAMoD,aAAa5zB,KAAKxJ,EAAEg6B,MAC3CJ,GAAcyD,EAAGrD,MAAMoD,aAAe,IAAI,IAAIU,IAAIlE,GAAcyD,EAAGrD,MAAMoD,eAS7E,GACA,IAUJ,IAAIW,EAAgB,EACpB,IAAK,MAAM39B,KAAMw5B,GAAe,CAC9B,MAAMoE,EAAOpE,GAAcx5B,GAGrB69B,EAAcD,EAAKd,SAAS38B,KAAI29B,IAAO,CAAG99B,GAAI89B,EAAK/zB,MAAOyvB,GAAcsE,GAAK/zB,UACnF8zB,EAAYz0B,KAAK,CAAEpJ,KAAI+J,MAAO6zB,EAAK7zB,QACnC8zB,EAAY5O,MAAK,CAACC,EAAGC,IAAMD,EAAEnlB,MAAQolB,EAAEplB,OAAS,EAAKmlB,EAAEnlB,MAAQolB,EAAEplB,MAAQ,EAAKmlB,EAAElvB,GAAKmvB,EAAEnvB,IAAM,EAAI,IACjG49B,EAAKb,SAAWc,EAAYE,WAAUn+B,GAAKA,EAAEI,KAAOA,IAEpD29B,EAAgBzJ,KAAKmF,IAAIz0B,KAAKo5B,kBAAkBJ,EAAMpE,IAAgBmE,EACxE,CAIA,MAAO,CAACnE,GAAemE,EACzB,CAYAK,kBAAmBj5B,EAAOk5B,EAAe,CAAC,GACxC,IAAIC,EAASn5B,EAAM+3B,SAASv2B,OAAS,EACjC43B,EAAmB,GAYvB,OAXAp5B,EAAM+3B,SAASlrB,SAAQ5R,IACrB,IAAKm+B,EAAiB/1B,SAASpI,GAAK,CAClC,MAAMo+B,EAAsBr5B,EAAM+3B,SAAS30B,QAAO21B,GAAOA,IAAQ99B,IACjEo+B,EAAoBxsB,SAAQysB,IACrBJ,EAAaI,GAAKvB,SAAS10B,SAASpI,IAAKm+B,EAAiB/0B,KAAKi1B,EAAI,GAE5E,KAGFF,EAAmB,IAAI,IAAIT,IAAIS,IAC/BD,GAAUC,EAAiB53B,OACpB23B,CACT,CAUAf,aAAcp4B,EAAOgF,EAAOC,GAE1B,GAAIjF,EAAMwrB,SAAW3rB,KAAKozB,QAAQ3iB,KAAM,CAEtC,MAAMipB,EAAiB,IAAI/yB,KAAKxG,EAAMgF,OAAO6P,SAAS,EAAG,EAAG,EAAG,GACzD2kB,EAAe,IAAIhzB,KAAKxG,EAAMiF,KAAK4P,SAAS,GAAI,GAAI,EAAG,GAC7D,OAAQ2kB,GAAgB,IAAIhzB,KAAKxB,GAAO6P,SAAS,EAAG,EAAG,EAAG,IAC1D0kB,GAAkB,IAAI/yB,KAAKvB,GAAK4P,SAAS,EAAG,EAAG,EAAG,EACpD,CAEA,MAAM0kB,EAAiBv5B,EAAMgF,MAAMorB,UAC7BoJ,EAAex5B,EAAMiF,IAAImrB,UAC/B,OAAOmJ,EAAiBt0B,EAAImrB,WAAaoJ,EAAex0B,EAAMorB,SAChE,CAEAkI,eAAemB,EAAQC,GACrB,MAAMC,EAAcF,EAAOz0B,MAAMorB,WAAasJ,EAAO10B,MAAMorB,UACrDwJ,EAAYH,EAAOx0B,IAAImrB,WAAasJ,EAAOz0B,IAAImrB,UACrD,OAAOuJ,GAAeC,CACxB,E,UCzbGn7B,MAAM,kB,IAAXwD,IAAAA,EAAiCxD,MAAM,4BAA6Do7B,KAAK,UAAU,aAAW,6B,GAA9H,qD,IAAA53B,IAAAA,EAA6rBxD,MAAM,qB,GAAnsB,e,IAA4rCA,MAAM,6BAA6B8rB,KAAA,I,GAA/tC,e,IAAAtoB,IAAAA,EAAsgGxD,MAAM,2C,iFAA5gGmD,EAAAA,EAAAA,IAA+xG,MAA/xG5C,GAA+xG,CAArtGmL,EAAAA,QAAQ2vB,kBAAlFC,EAAAA,EAAAA,IAAAA,IAAAA,KAAkG,WAAtEn4B,EAAAA,EAAAA,IAA4pB,MAA5pB+C,GAA4pB,gBAA9hB/C,EAAAA,EAAAA,IAAwhBC,EAAAA,GAAAA,MAAlrBm4B,EAAAA,EAAAA,IAAsL7vB,EAAAA,UAAU0gB,OAAhM,CAA4KoP,EAAGh/B,M,WAA/K2G,EAAAA,EAAAA,IAAAA,EAAAA,GAAAA,CAAAK,IAA6MhH,GAAE,CAAyCg/B,EAAEC,UAAO,WAAhDt4B,EAAAA,EAAAA,IAAsd,UAAvqBK,IAAAA,EAAyNxD,OAAzN07B,EAAAA,EAAAA,IAAAA,CAA+N,mBAAkB,4BAAsE78B,EAAAA,KAAKrC,KAAOA,EAAE,gCAAmCm/B,EAAAA,qBAAuBn/B,KAA5H4L,KAAK,SAA8HwzB,YAAS,GAAElwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIi9B,sBAAsB/xB,EAAQvN,EAAI2D,EAAAA,OAAyB47B,YAAS,GAAErwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIm9B,sBAAsBjyB,EAAQvN,EAAI2D,EAAAA,OAAyBO,QAAK,GAAE7B,EAAAA,WAAWrC,EAAI,MAAM,GAAQ,aAAU,GAAKg/B,EAAEx4B,e,QAAiBw4B,EAAEx4B,OAAK,GAA3pBuE,MAAAA,EAAAA,EAAAA,IAAAA,IAAAA,IAAAA,O,SAA8tBmE,EAAAA,QAAQuwB,cAAtuBx0B,EAAAA,EAAAA,IAAAA,IAAAA,KAAkvB,WAA1DtE,EAAAA,EAAAA,IAA+yD,MAA/yDqE,GAA+yD,EAAnvDlH,EAAAA,EAAAA,GAAmc,UAA3bN,OAA5vB07B,EAAAA,EAAAA,IAAAA,CAAkwB,oCAAmC,8BAA8E,aAAvBC,EAAAA,sBAAtDvzB,KAAK,SAAuF1H,QAAK,oBAAE7B,EAAAA,UAAAA,EAAAA,YAAAA,IAAW+8B,YAAS,eAAElwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIi9B,sBAAsB/xB,EAAM,WAAc5J,EAAAA,QAAyB47B,YAAS,eAAErwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIm9B,sBAAsBjyB,EAAM,WAAc5J,EAAAA,QAAyB,aAAU,YAActB,EAAAA,KAAKrC,M,EAAMmsB,EAAAA,EAAAA,IAA+B/kB,EAAAA,OAAAA,eAAAA,GAA9qC6I,KAAurCnM,EAAAA,EAAAA,GAAgc,MAAhcoM,GAAgc,EAAnZpO,EAAAA,EAAAA,IAA6YkuB,EAAAA,GAAAA,CAAhYhsB,KAAMkL,EAAAA,QAAQwwB,YAAc,eAAer9B,EAAAA,sBAAwB,I,CAApzCgN,SAAAA,EAAAA,EAAAA,KAAwzC,IAA4S,cAA5S5L,EAAAA,EAAAA,KAA4Sk8B,EAAAA,EAAAA,IAAlPt9B,EAAAA,YAAc,SAAW,QAAd,CAAzDuJ,OAAQvJ,EAAAA,aAAW,SAA6D2E,IAAG,GAAK3E,EAAAA,KAAKrC,KAAKqC,EAAAA,KAAKu9B,UAAUlhB,aAAexa,QAAK,iBAAI7B,EAAAA,aAAeA,EAAAA,uBAAgC,eAAcA,EAAAA,aAAW,SAAaA,EAAAA,oB,CAAliDgN,SAAAA,EAAAA,EAAAA,KAA8jD,IAA0B,EAA1B8c,EAAAA,EAAAA,IAA0B/kB,EAAAA,OAAAA,YAAxlDuzB,EAAAA,G,6BAAAA,EAAAA,G,cAA+pDzrB,EAAAA,QAAQ2wB,cAAW,WAA3Dl5B,EAAAA,EAAAA,IAA2b,UAAljEK,IAAAA,EAA+nDxD,OAA/nD07B,EAAAA,EAAAA,IAAAA,CAAqoD,oBAAmB,kCAA6G,UAAvBC,EAAAA,sBAA1DvzB,KAAK,SAAwF1H,QAAK,oBAAE7B,EAAAA,WAAAA,EAAAA,aAAAA,IAAY+8B,YAAS,eAAElwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIi9B,sBAAsB/xB,EAAM,QAAW5J,EAAAA,QAAyB47B,YAAS,eAAErwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIm9B,sBAAsBjyB,EAAM,QAAW5J,EAAAA,QAAwB,aAAW,S,EAAQwoB,EAAAA,EAAAA,IAAiC/kB,EAAAA,OAAAA,iBAAAA,MAAziE03B,EAAAA,EAAAA,IAAAA,IAAAA,IAAkjEh7B,EAAAA,EAAAA,GAA+a,UAAvaN,OAA1jE07B,EAAAA,EAAAA,IAAAA,CAAgkE,oCAAmC,8BAA8E,SAAvBC,EAAAA,sBAAtDvzB,KAAK,SAAmF1H,QAAK,oBAAE7B,EAAAA,MAAAA,EAAAA,QAAAA,IAAO+8B,YAAS,eAAElwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIi9B,sBAAsB/xB,EAAM,OAAU5J,EAAAA,QAAyB47B,YAAS,eAAErwB,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIm9B,sBAAsBjyB,EAAM,OAAU5J,EAAAA,QAAyB,aAAU,QAAUtB,EAAAA,KAAKrC,M,EAAMmsB,EAAAA,EAAAA,IAA+B/kB,EAAAA,OAAAA,eAAAA,GAAx9E6D,OAAggFiE,EAAAA,UAAU2gB,mBAAgB,WAAnDpsB,EAAAA,EAAAA,IAAiektB,EAAAA,CAAx8F3pB,IAAAA,EAA6hF,YAAWkI,EAAAA,SAAW,uBAAsB7M,EAAAA,oBAAsB,0BAAyB6M,EAAAA,uBAAxnF4wB,EAAAA,EAAAA,IAAAA,CAAAnF,EAAAA,GAAA,CAAmsFoF,EAAAA,OAAO,mBAAD,CAAzsF/7B,KAAypF,kBAAzpFg8B,IAAAA,EAAAA,EAAAA,KAA8tF,EAAlDlQ,UAASC,UAAI,EAAqC5D,EAAAA,EAAAA,IAAoE/kB,EAAAA,OAAAA,kBAAAA,CAAtC0oB,QAASA,EAAUC,KAAMA,OAArxF/oB,IAAAA,UAAAgL,EAAs1F+tB,EAAAA,OAAO,eAAD,CAA51F/7B,KAAwzF,cAAxzFg8B,IAAAA,EAAAA,EAAAA,KAA62F,EAAtCxvB,WAAK,EAAiC2b,EAAAA,EAAAA,IAA4D/kB,EAAAA,OAAAA,cAAAA,CAAlCoJ,MAAOA,EAAQuf,KAAM1tB,EAAAA,UAA55F2E,IAAAA,UAAAgL,IAAAA,KAAAA,CAAAA,YAAAA,uBAAAA,8BAAAA,EAAAA,EAAAA,IAAAA,IAAAA,IAAw8FlQ,EAAAA,EAAAA,IAAiVkuB,EAAAA,GAAAA,CAApUhsB,KAAI,eAAiB3B,EAAAA,uB,CAA1+FgN,SAAAA,EAAAA,EAAAA,KAAigG,IAA2Q,CAAhNhN,EAAAA,gBAAa,WAAxEsE,EAAAA,EAAAA,IAA2Q,MAA3QuE,GAA2Q,gBAAjMvE,EAAAA,EAAAA,IAA2LC,EAAAA,GAAAA,MAAtwGm4B,EAAAA,EAAAA,IAA8nG7vB,EAAAA,WAA9nG,CAAinGsB,EAAOjG,M,WAA7C5D,EAAAA,EAAAA,IAA2L,OAAtLnD,OAAhlG07B,EAAAA,EAAAA,IAAAA,CAAslG,mBAAoE1uB,EAAMhN,QAAS,IAA/BwD,IAAKuD,G,EAAiC4hB,EAAAA,EAAAA,IAAgF/kB,EAAAA,OAAAA,cAAAA,CAAtDoJ,MAAOA,EAAQuf,KAAM1tB,EAAAA,KAAKrC,KAApD,IAAgF,EAAhwGigC,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAA2uGzvB,EAAMhK,OAAK,a,UAAtvGs4B,EAAAA,EAAAA,IAAAA,IAAAA,MAAAnE,EAAAA,G,wBCAKn3B,MAAM,yCAAyCrB,IAAI,0B,GAAxD,Y,IAAy0BqB,MAAM,6BAA6B8rB,KAAA,I,IAAwF9rB,MAAM,Q,IAAsCA,MAAM,S,IAAwCA,MAAM,U,IAApiCwD,IAAAA,G,IAAAA,IAAAA,EAA+pCxD,MAAM,0CAAsG8rB,KAAA,I,2CAA3wC3oB,EAAAA,EAAAA,IAA+/C,MAA//C5C,GAA+/C,gBAA96C4C,EAAAA,EAAAA,IAAw6CC,EAAAA,GAAAA,MAAz/Cm4B,EAAAA,EAAAA,IAAkH18B,EAAAA,UAAlH,CAAmGytB,EAASvlB,M,WAA5G5D,EAAAA,EAAAA,IAAAA,EAAAA,GAAAA,CAAAK,IAAkIuD,GAAC,CAAmDulB,EAAQoQ,MAA9Lx2B,EAAAA,EAAAA,IAAAA,IAAAA,KAAkM,WAA7D/C,EAAAA,EAAAA,IAAy2C,OAA9+CK,IAAAA,EAA0IxD,OAA1I07B,EAAAA,EAAAA,IAAAA,CAAgJ,+BAA8B,CAAAiB,MAAuCrQ,EAAQqQ,MAAK,aAAiBrQ,EAAQqQ,MAAKC,UAAa/9B,EAAAA,sBAAqB,qBAAyBkJ,KAAKukB,EAAQ/iB,MAAMszB,mBAAmB,UAAY,IAAI90B,MAAK,IAAIA,MAAOmoB,SAAQ,IAAInoB,MAAO+nB,UAAY,IAAI+M,mBAAmB,YAAaxrB,OAApcyrB,EAAAA,EAAAA,IAA2cj+B,EAAAA,mBAAoB6B,QAAK,GAAc,SAAZ7B,EAAAA,KAAKrC,IAAiBqC,EAAAA,WAAWytB,EAAQ/iB,KAAMQ,GAAkBgzB,WAAQ,eAAc,SAAZl+B,EAAAA,KAAKrC,IAAiBqC,EAAAA,OAAO81B,oBAAsBjpB,EAAAA,yB,EAAwCpN,EAAAA,EAAAA,IAA41BkuB,EAAAA,GAAAA,CAA/0BhsB,KAAI,eAAiBkL,EAAAA,sBAAwB+gB,OAAQ5tB,EAAAA,OAAOq9B,a,CAArtBrwB,SAAAA,EAAAA,EAAAA,KAAkuB,IAAyvB,cAAzvB1I,EAAAA,EAAAA,IAAyvB,OAApvBnD,MAAM,eAAegsB,OAAA,GAAQxoB,MAAK3E,EAAAA,OAAOq9B,aAAc,GAAGn1B,KAAKulB,EAAQ0Q,c,EAAsB18B,EAAAA,EAAAA,GAAsV,MAAtViH,GAAsV,EAAzSohB,EAAAA,EAAAA,IAAmS/kB,EAAAA,OAAAA,kBAAAA,CAArQ0oB,QAASztB,EAAAA,eAAeytB,GAAWC,KAAM1tB,EAAAA,OAAvE,IAAmS,EAAtNyB,EAAAA,EAAAA,GAA4C,OAA5CkH,IAA4C,QAAtB8kB,EAAQ2Q,MAAI,IAAU38B,EAAAA,EAAAA,GAA8C,OAA9CmM,IAA8C,QAAvB6f,EAAQ4Q,OAAK,IAAU58B,EAAAA,EAAAA,GAAgD,OAAhDoM,IAAgD,QAAxB4f,EAAQ6Q,QAAM,GAAsB7Q,EAAQ0Q,aAAU,WAA9B75B,EAAAA,EAAAA,IAAqE,OAA7oCsE,GAAwmC,KAAM,QAAG6kB,EAAQ0Q,YAAU,KAAnoC1B,EAAAA,EAAAA,IAAAA,IAAAA,QAAqtCz8B,EAAAA,OAAOu+B,WAAav+B,EAAAA,OAAOw+B,oBAAiB,WAAvGl6B,EAAAA,EAAAA,IAA2T,MAA3TuE,GAA2T,gBAArMvE,EAAAA,EAAAA,IAA+LC,EAAAA,GAAAA,MAA/8Cm4B,EAAAA,EAAAA,IAAm0C18B,EAAAA,OAAOy+B,WAA10C,CAAszCtwB,EAAOjG,M,WAA7C5D,EAAAA,EAAAA,IAA+L,OAA1LnD,OAArxC07B,EAAAA,EAAAA,IAAAA,CAA2xC,mBAA2E1uB,EAAMhN,QAAS,IAA/BwD,IAAKuD,G,EAAiC4hB,EAAAA,EAAAA,IAA6E/kB,EAAAA,OAAAA,cAAAA,CAAnDoJ,MAAOA,EAAQuf,KAAM1tB,EAAAA,OAA/C,IAA6E,EAAz8C49B,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAo7CzvB,EAAMhK,OAAK,a,UAA/7Cs4B,EAAAA,EAAAA,IAAAA,IAAAA,SAAAnE,EAAAA,G,4BAAAjxB,MAAAA,O,YA4BA,QACEq3B,OAAQ,CAAC,SAAU,QAAS,QAC5B5xB,MAAO,CACL6xB,oBAAqB,CAAEp1B,KAAMmJ,OAAQ1F,QAAS,SAC9CmoB,SAAU,CAAE5rB,KAAMwD,MAAOC,QAAS,IAAM,IACxC6oB,qBAAsB,CAAEtsB,KAAMq1B,SAAU5xB,QAAS,QACjDuhB,gBAAiB,CAAEhlB,KAAMwD,MAAOC,QAAS,KAI3CvK,QAAS,CACPisB,WAAYhkB,EAAMm0B,GACZn0B,EAAKooB,YAAc,KAAKpF,KAAKoR,aAAahM,YAC5C,KAAKpF,KAAKoR,aAAep0B,GAE3B,KAAKq0B,MAAM5Q,KAAKO,YAAW,EAAOhkB,EAAMm0B,EAC1C,EACAG,eAAgBvR,IAAM,CACpBtpB,MAAOspB,EAAQ2Q,KACf1zB,KAAM+iB,EAAQ/iB,KACd6jB,gBAAiBd,EAAQc,gBACzB5sB,KAAM8rB,EAAQ9rB,KACds9B,SAAUxR,EAAQwR,YACdxR,EAAQqQ,MAAQ,CAAEA,MAAOrQ,EAAQqQ,OAAU,CAAC,IAElDoB,iBAAiBC,GACf,KAAKn4B,MAAM,0BAA0BwL,MAAM4jB,IAAO,GAAE+I,KACtD,GAGF15B,SAAU,CACR25B,WACE,IAAK,CAAC,QAAS,QAAQr5B,SAAS,KAAK2nB,KAAK/vB,IAAK,MAAO,GAEtD,IAAI0hC,GAAa,EACjB,MAAMD,EAAW,KAAKjK,SAASr3B,KAAI,CAACqwB,EAAMjmB,KACxC,MAAMwC,EAAO,KAAKq0B,MAAMr0B,KAAKylB,QAAQ,KAAKzC,KAAK6P,UAAW,KAAK9H,OAAO6J,kBAAoBp3B,EAAI,EAAIA,GAClG,IAAIqmB,EAAkB,KAClB5sB,EAAO,KACPs9B,EAAW,KASf,OARI,KAAK1Q,gBAAgBrmB,IAAI8K,OAC3Bub,EAAkBsD,KAAKwD,MAAM,KAAK9G,gBAAgBrmB,GAAG8K,KAAO,IAAM,IAAMN,OAAO,KAAK6b,gBAAgBrmB,GAAG8K,KAAO,IAAI,IAEhH,KAAKub,gBAAgBrmB,IAAIvG,MAAQ,KAAK4sB,gBAAgBrmB,IAAIvG,OAC5DA,EAAO,KAAK4sB,gBAAgBrmB,GAAGvG,KAAO,IAAM,KAAK4sB,gBAAgBrmB,GAAG6K,QACpEksB,EAAW,KAAK1Q,gBAAgBrmB,GAAGvG,KAAKmR,OAAO,GAAGqP,cAAgB,KAAKoM,gBAAgBrmB,GAAG6K,QAAQD,OAAO,GAAGqP,eAGvG,CACL0b,KAAM1P,EAAK0P,KACXO,KAAMjQ,EAAKhqB,MAGXk6B,MAAOlQ,EAAKoR,OAASpR,EAAKhqB,MAAMixB,OAAO,EAAG,GAC1CkJ,OAAQnQ,EAAKoR,OAASpR,EAAKhqB,MAAMixB,OAAO,EAAG,GAC3C7G,gBAAiBA,EACjB5sB,KAAMA,EACNs9B,SAAUA,KAGW,SAAjB,KAAKvR,KAAK/vB,GAAgB,CAC5BwgC,WAAYzzB,EAAKumB,UACjBvmB,OACAozB,OAAQuB,GAAc,KAAKN,MAAMr0B,KAAKkmB,QAAQlmB,KAAU20B,KACtD,CAAC,EACP,IAEF,OAAOD,CACT,EACAI,YACE,OAAO,KAAO,EAAI,KAAKrK,SAASsK,QAAO,CAACC,EAAOpQ,IAAQoQ,EAAQpQ,EAAIuO,MAAM,GAC3E,EACA8B,oBACE,MAAO,IACD,KAAKlK,OAAOmK,aAAa17B,OAAS,CAAEyF,MAAQ,GAAE,KAAK61B,cAAiB,CAAC,EAE7E,EACAK,wBACE,MAAwB,SAAjB,KAAKnS,KAAK/vB,KAAkB,KAAK83B,OAAOG,iBAAmB,KAAKH,OAAOK,mBAChF,ICpGJ,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,UF6DA,IACE4I,OAAQ,CAAC,SAAU,WAAY,OAAQ,aAAc,qBAAsB,UAAW,QACtF3wB,WAAY,CAAE+xB,iBAAgBA,IAC9BhzB,MAAO,CAEL0T,QAAS,CAAEjX,KAAMpL,OAAQ6O,QAAS,MAAS,IAC3C+yB,WAAY,CAAEx2B,KAAMpL,OAAQ8H,UAAU,GACtCs4B,UAAW,CAAEh1B,KAAM,CAAC2D,QAAS8B,QAAShC,SAAS,GAC/CyxB,UAAW,CAAEl1B,KAAMwD,MAAOC,QAAS,IAAM,IACzCgzB,UAAW,CAAEz2B,KAAMpL,OAAQ6O,QAAS,MAAS,IAC7CmoB,SAAU,CAAE5rB,KAAMwD,MAAOC,QAAS,IAAM,IACxC6oB,qBAAsB,CAAEtsB,KAAMq1B,SAAU5xB,QAAS,SAGnDhK,KAAM,MACJ85B,mBAAoB,OAGtBr6B,QAAS,CACPw9B,YAEE,KAAKC,mBAAmB,IAAIh3B,MAAK,IAAIA,MAAOqO,SAAS,EAAG,EAAG,EAAG,IAChE,EAEA4oB,sBACE,KAAKxB,oBAAsB,OAEvB,KAAKyB,aAAa,KAAKC,WAAW,KAAKD,YAC7C,GAGF36B,SAAU,CACRk5B,oBAAqB,CACnB2B,MACE,OAAO,KAAK7K,OAAOkJ,mBACrB,EACAjmB,IAAK6nB,GACH,KAAK9K,OAAOkJ,oBAAsB4B,CACpC,GAEFH,cACE,MAAM,aAAEI,GAAiB,KAAK/K,OAC9B,OAAO+K,EAAaA,EAAa5zB,QAAQ,KAAK8gB,KAAK/vB,IAAM,EAC3D,EACA8iC,gBACE,MAAwB,QAAjB,KAAK/S,KAAK/vB,IAAgB,KAAK4gC,WAAa,KAAK/d,QAAQge,oBAAsB,KAAKhe,QAAQkgB,aACrG,EAEAC,MACE,OAAO,KAAK/hB,QAAQ+hB,GACtB,IGjHJ,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,UCTAh8B,IAAAA,EAAkGxD,MAAM,uBAAmDqR,MAAA,e,2EAA3JlO,EAAAA,EAAAA,IAAuzB,OAAlzBnD,MAAM,+BAAgCqR,OAA3CyrB,EAAAA,EAAAA,IAAkDpxB,EAAAA,qBAAmB,CAAAhJ,OAAMgJ,EAAAA,U,CAA2DA,EAAAA,qBAAtI4vB,EAAAA,EAAAA,IAAAA,IAAAA,KAAyJ,WAA5Dn4B,EAAAA,EAAAA,IAA+G,MAA/G5C,GAA+G,EAA9BD,EAAAA,EAAAA,GAAwB,qBAAfoL,EAAAA,OAAK,OAAgBpL,EAAAA,EAAAA,GAAqmB,OAAhmBN,OAAjN07B,EAAAA,EAAAA,IAAAA,CAAuN,6BAA4B,GAAY78B,EAAAA,KAAKrC,YAAWsvB,KAAA,GAAMza,OAArRyrB,EAAAA,EAAAA,IAA4RpxB,EAAAA,oBAAsB,cAAcA,EAAAA,wBAA0B,K,gBAAIvI,EAAAA,EAAAA,IAA6cC,EAAAA,GAAAA,MAA3yBm4B,EAAAA,EAAAA,IAA+X7vB,EAAAA,OAA/X,CAAmXshB,EAAMjmB,M,WAA3B9G,EAAAA,EAAAA,IAA6cqtB,EAAAA,CAApa9pB,IAAKuD,EAAIsY,QAAS3T,EAAAA,QAAU,cAAa7M,EAAAA,WAAagD,KAAMmrB,EAAO,WAAS,EAAO,aAAYthB,EAAAA,QAAQ+yB,aAAa17B,SAAWlE,EAAAA,OAAO4gC,YAAc5gC,EAAAA,OAAO6gC,cAAgB7gC,EAAAA,OAAOw/B,UAA4B,gBAAe3yB,EAAAA,QAAQi0B,aAAe,gBAAej0B,EAAAA,QAAQk0B,aAAe,cAAal0B,EAAAA,W,CAAsBnK,OAAK,SAAmB,EAAfA,QAAOgrB,UAAI,EAAI5D,EAAAA,EAAAA,IAAsD/kB,EAAAA,OAAAA,QAAAA,CAAlC2oB,KAAMA,EAAOhrB,MAAOA,OAApwB41B,EAAAA,G,4HCAA,yF,IAAA3zB,IAAAA,EAA0+CxD,MAAM,oB,GAAh/C,c,IAAAwD,IAAAA,EACihBxD,MAAM,uB,GADvhB,U,qEAAAC,EAAAA,EAAAA,IACqhD4/B,EAAAA,GAAAA,CADngD7/B,OAAlB07B,EAAAA,EAAAA,IAAAA,CAAwB,eAAuB78B,EAAAA,cAAc2B,KAAI,eAAiB3B,EAAAA,sBAAuBihC,IAAI,MAAOrT,OAAQ/gB,EAAAA,QAAQwwB,YAAc7qB,OAAlJyrB,EAAAA,EAAAA,IAAyJj+B,EAAAA,a,CAAzJgN,SAAAA,EAAAA,EAAAA,KAAoN,IAAgD,gBAA/F1I,EAAAA,EAAAA,IAC+oCC,EAAAA,GAAAA,MADpzCm4B,EAAAA,EAAAA,IAA0O18B,EAAAA,YAAcA,EAAAA,OAAS,GAAjQ,CAA4NmO,EAAOjG,M,WAA9D5D,EAAAA,EAAAA,IAC+oC,OAD1oCnD,OAA1K07B,EAAAA,EAAAA,IAAAA,CAAgL,oCAAgK78B,EAAAA,aAAeA,EAAAA,aAAamO,KAAtGxJ,IAAKkI,EAAAA,QAAQwwB,YAAc,GAAGr9B,EAAAA,KAAKrC,MAAMkP,EAAAA,KAAK9I,WAAWmE,IAAMA,EAAwD,eAAYlI,EAAAA,aAAcmO,EAAMxQ,GAAYwvB,OAAA,GAAO+T,SAAS,IAAK,aAAYr0B,EAAAA,KAAK9I,QAAU+E,QAAK,eAAE9I,EAAAA,YAAYkL,IAAUi2B,WAAQ,aAA9fC,EAAAA,EAAAA,KAAAA,GAAsgBphC,EAAAA,oBAAoBkL,IAAM,YAAIm2B,aAAU,IAAGrhC,EAAAA,YAAcA,EAAAA,iBAAiBkL,EAAQlL,EAAAA,YAAcmO,EAAMxQ,GAAE,MAAmB2jC,YAAS,IAAGthC,EAAAA,YAAcA,EAAAA,gBAAgBkL,EAAQlL,EAAAA,YAAcmO,EAAMxQ,GAAE,MAAmBkE,QAAK,IAAG7B,EAAAA,YAAcA,EAAAA,YAAYkL,EAAQiD,GAAiB+vB,WAAQ,gBAAGl+B,EAAAA,YAAcA,EAAAA,eAAekL,IAAkBq2B,cAAW,gBAAGvhC,EAAAA,YAAc6M,EAAAA,QAAQ20B,iBAAmBxhC,EAAAA,kBAAkBkL,IAA0B6xB,YAAS,gBAAG/8B,EAAAA,YAAc6M,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAIyhC,cAAcv2B,EAAQ5J,EAAAA,MAAOuL,EAAAA,KAAK0wB,YAAqCmE,WAAQ,IAAG1hC,EAAAA,YAAc6M,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAI2hC,aAAaz2B,EAAQ5J,EAAAA,MAAOuL,EAAAA,KAAK0wB,UAAWv9B,EAAAA,YAAcmO,EAAMxQ,GAAE,MAAmCu/B,YAAS,gBAAGl9B,EAAAA,YAAc6M,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAI4hC,cAAc12B,EAAQ5J,EAAAA,MAAOuL,EAAAA,KAAK0wB,YAAqCsE,OAAI,IAAG7hC,EAAAA,YAAc6M,EAAAA,WAAWmwB,MAAQh9B,EAAAA,KAAOA,EAAAA,IAAI8hC,aAAa52B,EAAQ5J,EAAAA,MAAOuL,EAAAA,KAAK0wB,UAAWv9B,EAAAA,YAAcmO,EAAMxQ,GAAE,O,CAAsEkP,EAAAA,QAAQk1B,iBAAmBl1B,EAAAA,QAAQmG,MAAQhT,EAAAA,kBAAoB6M,EAAAA,SAAM,WAAzGvI,EAAAA,EAAAA,IACx9C,MADw9C+C,GACx9C,gBAD2lD/C,EAAAA,EAAAA,IACjmDC,EAAAA,GAAAA,MADPm4B,EAAAA,EAAAA,IAA0pD18B,EAAAA,OAAOgiC,WAAjqD,CAA8oD7T,EAAMjmB,M,WAA5C5D,EAAAA,EAAAA,IACjmD,QADumDnD,MAAM,kBAAyDwD,IAAKuD,I,QAAMimB,EAAKhqB,OAAK,M,UAAlsDs4B,EAAAA,EAAAA,IAAAA,IAAAA,GAC6Bz8B,EAAAA,kBAAoB6M,EAAAA,QAAU7M,EAAAA,aAAakE,SAAM,aAAkBI,EAAAA,EAAAA,IAAqRC,EAAAA,GAAAA,CADrXI,IAAAA,IAAA,QACwJ3E,EAAAA,cADxJ,CAC2IiiC,EAAO/5B,M,WAAlD5D,EAAAA,EAAAA,IAAqR,OAAhRnD,OADrG07B,EAAAA,EAAAA,IAAAA,CAC2G,wBAAuB,6BAAyEoF,EAAM3S,OAAO2S,EAAM9gC,UAAUqR,OADxOyrB,EAAAA,EAAAA,IAAAA,WAC0PgE,EAAMp+B,iBAAiBo+B,EAAM7L,U,CAAgD6L,EAAM99B,QAAK,WAAlDG,EAAAA,EAAAA,IAA+E,OAD/WK,IAAAA,EACqSxD,MAAM,sBAAyCiK,UAAQ62B,EAAM99B,O,OADlWuE,MAAAA,EAAAA,EAAAA,IAAAA,IAAAA,IAAAA,M,OAAA+zB,EAAAA,EAAAA,IAAAA,IAAAA,IACgY3S,EAAAA,EAAAA,IAA4I/kB,EAAAA,OAAAA,eAAAA,CAAjHyd,OAAQxiB,EAAAA,OAAS0uB,WAAaxjB,GAAUlL,EAAAA,WAAWkL,GAAM,GAAaiD,QAAOnO,EAAAA,aAAcmO,IAA6DnO,EAAAA,cAAgBA,EAAAA,iBAA2B,UAAPA,EAAAA,KAAKrC,IAAkBkP,EAAAA,QAAQq1B,qBAAiB,WAA3H59B,EAAAA,EAAAA,IAAkyB,MAAlyBqE,GAAkyB,gBAAnpBrE,EAAAA,EAAAA,IAA6oBC,EAAAA,GAAAA,MADxyCm4B,EAAAA,EAAAA,IACwrB18B,EAAAA,YAAcmO,EAAMqU,OAASxiB,EAAAA,QADrtB,CAC0qB0C,EAAOy/B,M,WAAtB/gC,EAAAA,EAAAA,IAA6oBghC,EAAAA,CAAzkBz9B,IAAKw9B,EAAI,sBAAqBt1B,EAAAA,KAAKsiB,cAAgBzsB,MAAOA,EAAQ,UAASmK,EAAAA,OAAS,cAAa7M,EAAAA,YAAcmO,EAAMqU,OAASxiB,EAAAA,OAAS47B,cAAgB57B,EAAAA,YAAcmO,EAAMssB,SAAS/3B,EAAM60B,MAAQqE,EAAAA,aAAal5B,EAAM60B,QAAU,GAAM8K,aAAeriC,EAAAA,YAAcmO,EAAMssB,SAAWmB,EAAAA,eAAiB,GAAM,mBAAkB57B,EAAAA,YAAcmO,EAAMssB,SAAS/3B,EAAM60B,MAAQqE,EAAAA,aAAal5B,EAAM60B,QAAU,IAAImD,SAAW,kBAAiB16B,EAAAA,YAAcmO,EAAMm0B,eAAiBC,EAAAA,oB,CAA+B7/B,OAAK,SAAmB,EAAfA,QAAOgrB,UAAI,EAAI5D,EAAAA,EAAAA,IAAsD/kB,EAAAA,OAAAA,QAAAA,CAAlC2oB,KAAMA,EAAOhrB,MAAOA,OADvwC41B,EAAAA,G,2IAAAmE,EAAAA,EAAAA,IAAAA,IAAAA,IAAAA,GAAAA,O,MACw1Cz8B,EAAAA,kBAAe,WAAnDsE,EAAAA,EAAAA,IAA8M,OAAzMnD,MAAM,mBAA2CqR,OAD12CyrB,EAAAA,EAAAA,IAAAA,QACy3Cj+B,EAAAA,wBAAyB2E,IAAKkI,EAAAA,QAAQwwB,YAAc,GAAGr9B,EAAAA,KAAKrC,cAAgB,WAAaqL,MAAOhJ,EAAAA,MAAM0K,KAAKqkB,WAAW/uB,EAAAA,OAAOwvB,M,QADt/C5hB,MAAAA,EAAAA,EAAAA,IAAAA,IAAAA,MAAA0qB,EAAAA,G,8CCAA,wB,2CAAAh0B,EAAAA,EAAAA,IAAo/B,OAA/+BnD,OAAL07B,EAAAA,EAAAA,IAAAA,CAAW,gBAAwB78B,EAAAA,eAAewS,OAAlDyrB,EAAAA,EAAAA,IAAyDj+B,EAAAA,aAAcwiC,QAAO,YAAc31B,EAAAA,MAAMlP,KAAMujC,SAAS,IAAKp4B,QAAK,oBAAE9I,EAAAA,YAAAA,EAAAA,cAAAA,IAAamhC,WAAQ,aAAlJC,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,KAAAA,IAAAA,IAA+JphC,EAAAA,iBAAAA,EAAAA,mBAAAA,IAAe,sBAAGyiC,aAAU,oBAAEziC,EAAAA,cAAAA,EAAAA,gBAAAA,IAAe0iC,aAAU,oBAAE1iC,EAAAA,cAAAA,EAAAA,gBAAAA,IAAeqhC,aAAU,aAAjPsB,EAAAA,EAAAA,KAAAA,IAAAA,IAAwP3iC,EAAAA,cAAAA,EAAAA,gBAAAA,IAAY,WAAGshC,YAAS,eAAEthC,EAAAA,YAAYkL,IAAwE03B,UAAO,sBAAE5iC,EAAAA,WAAAA,EAAAA,aAAAA,IAAY6iC,WAAQ,sBAAE7iC,EAAAA,WAAAA,EAAAA,aAAAA,IAAY8iC,YAAS,sBAAE9iC,EAAAA,aAAAA,EAAAA,eAAAA,IAAck+B,WAAQ,sBAAEl+B,EAAAA,YAAAA,EAAAA,cAAAA,IAAa63B,UAAW73B,EAAAA,UAAY+iC,YAAS,iBAAE/iC,EAAAA,WAAaA,EAAAA,YAAYkL,IAAkB83B,UAAO,iBAAEhjC,EAAAA,WAAaA,EAAAA,c,CAA6DA,EAAAA,OAAO+/B,WAAWkD,QAAUp2B,EAAAA,MAAMtC,YAAS,WAAnFjG,EAAAA,EAAAA,IAA+L,OAAxvBK,IAAAA,EAA8jBxD,MAAM,uBAAmFU,QAAK,aAA5pB8gC,EAAAA,EAAAA,KAAAA,IAAAA,IAAmqB3iC,EAAAA,aAAAA,EAAAA,eAAAA,IAAW,WAAGqhC,aAAU,aAA3rBsB,EAAAA,EAAAA,KAAAA,IAAAA,IAAksB3iC,EAAAA,kBAAAA,EAAAA,oBAAAA,IAAgB,a,QAAKA,EAAAA,OAAO+vB,MAAMmT,aAAW,MAA/uBzG,EAAAA,EAAAA,IAAAA,IAAAA,IAAwvB3S,EAAAA,EAAAA,IAAyD/kB,EAAAA,OAAAA,QAAAA,CAArCrC,MAAOmK,EAAAA,MAAQ6gB,KAAM1tB,EAAAA,KAAKrC,KAA0DqC,EAAAA,YAAS,WAAxDsE,EAAAA,EAAAA,IAA6L,OAA9+BK,IAAAA,EAAszBxD,MAAM,8BAA+C4sB,gBAAgB,QAASuT,YAAS,aAA74BqB,EAAAA,EAAAA,KAAAA,IAAAA,IAA45B3iC,EAAAA,yBAAAA,EAAAA,2BAAAA,IAAuB,qBAAGqhC,aAAU,aAAh8BsB,EAAAA,EAAAA,KAAAA,IAAAA,IAA+8B3iC,EAAAA,yBAAAA,EAAAA,2BAAAA,IAAuB,sB,WAAt+By8B,EAAAA,EAAAA,IAAAA,IAAAA,IAAAA,GAAAA,G,CAoCA,QACCiC,OAAQ,CAAC,SAAU,QAAS,UAAW,OAAQ,YAAa,cAC5D5xB,MAAO,CACNq2B,kBAAmB,CAAE55B,KAAMmJ,OAAQ1F,QAAS,IAC5CtK,MAAO,CAAE6G,KAAMpL,OAAQ6O,QAAS,MAAS,IACzCutB,WAAY,CAAEhxB,KAAMwD,MAAOC,QAAS,IAAM,IAC1C4uB,aAAc,CAAEryB,KAAMpL,OAAQ6O,QAAS,MAAS,IAChDq1B,YAAa,CAAE94B,KAAMpL,OAAQ6O,QAAS,MAAS,IAG/Co2B,cAAe,CAAE75B,KAAMyF,OAAQhC,QAAS,GACxCs1B,eAAgB,CAAE/4B,KAAMyF,OAAQhC,QAAS,GACzCkhB,OAAQ,CAAE3kB,KAAM2D,QAASF,SAAS,IAGnChK,KAAM,MAELqgC,MAAO,CACNC,cAAe,GACfC,OAAQ,EACRC,OAAQ,EAGRC,SAAS,KAIXhhC,QAAS,CAKRihC,YAAYnmC,EAAG8lC,GAAQ,GAEtB,GAAI,iBAAkBhhC,SAAWghC,EAAO,OAAO,EAC/C,MAAM,iBAAEM,EAAgB,aAAEC,EAAY,cAAEC,EAAa,YAAEC,GACtD,KAAK/N,UAIN,GACC6N,EAAarM,OAAS,KAAK70B,MAAM60B,MACjCoM,EAAiBpM,OAAS,KAAK70B,MAAM60B,KAErC,OAAO,EAIR,KAAKwM,aAELJ,EAAiBpM,KAAO,KAGpB,KAAK9B,OAAOsK,WAAWkD,QAAU,KAAKvgC,MAAM6H,YAC/Co5B,EAAiBK,UAAY3lB,YAAW,KAClCwlB,EAActM,MAASuM,EAAYvM,OACvCoM,EAAiBpM,KAAO,KAAK70B,MAAM60B,KACnC,KAAK70B,MAAMg1B,UAAW,EACvB,GACEiM,EAAiBzN,SAEtB,EAQA+N,UAAU1mC,GAGR,KAAKw4B,UAAU6N,aAAarM,OAAS,KAAK70B,MAAM60B,MAC/C,KAAK8L,MAAMI,UAGZ,KAAK1N,UAAU6N,aAAaM,UAAW,GAExC,KAAKb,MAAMI,SAAU,CACtB,EAEAU,aAAa5mC,GACZA,EAAE6mC,iBACF,KAAK3O,OAAOsD,cAAc,oBAAqB,KAAKr2B,MACrD,EAEA2hC,aAAa9mC,GACZA,EAAE6mC,iBACF,KAAK3O,OAAOsD,cAAc,oBAAqB,KAAKr2B,MACrD,EAGA4hC,YAAY/mC,GAEX,GAAwC,oBAA7B,KAAKk4B,OAAO8O,aAA6B,OAEpD,MAAM,QAAEhO,EAAO,QAAEC,GAAYj5B,EAAEk5B,QAAQ,IACjC,OAAE8M,EAAM,OAAEC,EAAM,cAAEF,GAAkB,KAAKD,OAE9CxR,KAAKgB,IAAI0D,EAAUgN,GAAUD,GAC7BzR,KAAKgB,IAAI2D,EAAUgN,GAAUF,KAE7B,KAAKD,MAAMI,SAAU,EAEvB,EAEAe,aAAajnC,GACZ,KAAK8lC,MAAME,OAAShmC,EAAEk5B,QAAQ,GAAGF,QACjC,KAAK8M,MAAMG,OAASjmC,EAAEk5B,QAAQ,GAAGD,QACjC,KAAKkN,YAAYnmC,GAAG,EACrB,EAEAknC,gBAAgBlnC,GACf,GAAwC,oBAA7B,KAAKk4B,OAAO8O,aACtB,OAAO,KAAK9O,OAAO8O,aAAa,KAAK7hC,MAAOnF,EAC9C,EAEAmnC,WAAWnnC,GACV,GAA2C,oBAAhC,KAAKk4B,OAAOkP,gBACtB,OAAO,KAAKlP,OAAOkP,gBAAgB,KAAKjiC,MAAOnF,EACjD,EAEAqnC,YAAYrnC,GACY,WAAnB,KAAKmF,MAAM6G,MAAwC,qBAAnB,KAAK7G,MAAM6G,OAC/C,KAAK7G,MAAMq1B,gBAAiB,EAC5B,KAAK4I,KAAO,KAAKA,IAAIkE,eAAetnC,EAAG,KAAKmF,OAC7C,EAEAoiC,YACC,KAAKnE,KAAO,KAAKA,IAAIoE,aAAa,KAAKriC,MACxC,EAEAsiC,0BACC,KAAKjB,aAEL,KAAKhO,UAAU+N,YAAYvM,KAAO,KAClC,KAAKxB,UAAU8N,cAAgB1lC,OAAO8mC,OACrC,KAAKlP,UAAU8N,cACf,CACCtM,KAAM,KAAK70B,MAAM60B,KACjB7vB,OAAQ,KAAKw9B,SAAW,KAAKxiC,OAAOgF,MACpCyG,MAAO,KAAKzL,MAAMyL,OAAS,KAC3B+2B,UACG,KAAKA,SACP,KAAKnG,MAAMr0B,KAAKqoB,eAAe,KAAKmS,QAAQx9B,OAC7Cy9B,YAAa,IAAIj8B,MAAM,KAAKg8B,SAAW,KAAKxiC,OAAOiF,KACnDy9B,uBAAwB,KAAK1iC,MAAMssB,iBAIrC,KAAKtsB,MAAMk1B,UAAW,CACvB,EAEAsL,YAAYG,GAAQ,GAEnB,GAAI,iBAAkBhhC,SAAWghC,EAAO,OAAO,EAE/C,KAAKtE,MAAMr8B,MAAMg2B,cAAc,KAAKh2B,MACrC,EAEA2iC,iBAAiB3iC,GAChB,KAAKwgC,aAAY,EAClB,EAEAoC,oBACC,KAAK5iC,MAAMg1B,UAAW,CACvB,EAEAqM,aACC,MAAM,aAAEH,GAAiB,KAAK7N,UACxBwP,EAAe3B,EAAarM,KAGlC,GAAIgO,IAAiB,KAAK7iC,MAAM60B,KAAhC,CAEK,GAAIgO,EAAc,CACtB,MAAM7iC,EAAQ,KAAKgrB,KAAKlL,OAAO1b,MAAMvJ,GAAMA,EAAEg6B,OAASgO,IAClD7iC,IAAOA,EAAMs1B,SAAU,EAC5B,CAGA,KAAKvC,OAAO+P,eAEZ,KAAK/P,OAAOsD,cAAc,cAAe,KAAKr2B,OAE9CkhC,EAAarM,KAAO,KAAK70B,MAAM60B,KAC/B,KAAK70B,MAAMs1B,SAAU,CARrB,CASD,GAGDvyB,SAAU,CACTggC,kBACC,MAAM,iBAAEjO,EAAgB,eAAExI,GAAmB,KAAKkW,SAAW,KAAKxiC,MAGlE,IAAIgjC,EAAiBlO,EAAmB,KAAK/B,OAAOqB,SACpD,MAAMV,EAAMvE,KAAKmF,IAChBnF,KAAK4C,MACHiR,EAAiB,KAAKjQ,OAAOoB,eAAkB,KAAKpB,OAAO7C,UAE7D,GAID8S,EACC7T,KAAK/Y,IAAIkW,EAAgB,KAAKyG,OAAOkQ,QAAU,KAAKlQ,OAAOqB,SAC5D,MAAM8O,EAAS/T,KAAK4C,MAClBiR,EAAiB,KAAKjQ,OAAOoB,eAAkB,KAAKpB,OAAO7C,UAGvD/uB,EAASguB,KAAKmF,IAAI4O,EAASxP,EAAK,GACtC,MAAO,CAAEA,MAAKvyB,SACf,EAEAgiC,cACC,GACC,KAAKnjC,MAAMwrB,SACV,KAAKuH,OAAOziB,OACZ,KAAKtQ,MAAMssB,gBACK,UAAjB,KAAKtB,KAAK/vB,IACV,KAAKuwB,OAEL,MAAO,CAAC,EAIT,IAAIvkB,EAAQ,IAA2B,GAArB,KAAKy5B,cACnBjN,EAAO,EAAI,KAAKiN,cAChB0C,EAAoC,IAA1B,KAAK1C,cAAgB,GAC/B3L,EAAa,KAAK/0B,MAAMqjC,kBAE5B,GAAIh5B,MAAMi5B,QAAQ,KAAKpK,aAAajB,eAAiB,KAAKiB,aAAajB,aAAaz2B,OAAQ,CAC3F,MAAM+hC,EAAqB,KAAKrK,aAAajB,aAAaz2B,OAAS,EAC7DgiC,EAAwB,KAAKtK,aAAanB,SAAS30B,QAAO4wB,IAC/D,IAAK,KAAKkF,aAAajB,aAAa50B,SAAS2wB,IAAM,KAAK2L,YAAY,KAAK3/B,MAAM60B,MAAMmD,SAAW,KAAK2H,YAAY3L,GAAGgE,SACnH,OAAOhE,CAAAA,IAET/sB,EAAU,IAAMs8B,EAAsB,EACtC9P,EAAQ,IAAM8P,GAAsB,KAAK7C,cAAgB8C,EAAsBhiC,QAAY,GAAK,KAAKk/B,cAAgB8C,EAAsBhiC,QAAU+hC,EACjJC,EAAsBhiC,SACzByF,GAAiBu8B,EAAsBhiC,QAAU,GAAK+hC,GACtD9P,GAAe,EAAI+P,EAAsBhiC,OAAW,GAAKgiC,EAAsBhiC,OAAS+hC,GAAuB,KAAK7C,cAAgB8C,EAAsBhiC,QAE5J,CAEI,KAAKuxB,OAAO0Q,eAAiBx8B,EAAQ,KAAK8rB,OAAO0Q,gBACpDx8B,EAAQ,KAAK8rB,OAAO0Q,cACpBhQ,GACG,IAAM,KAAKV,OAAO0Q,eAAiB,KAAKvK,aAAanB,SAASv2B,OAChE,KAAKk/B,eAGP,MAAM,IAAEhN,EAAG,OAAEvyB,GAAW,KAAK4hC,gBAE7B,MAAO,CACNhO,WAAYA,EACZ,UAAY,GAAEqO,IACd1P,IAAM,GAAEA,MACRvyB,OAAS,GAAEA,MACX8F,MAAQ,GAAEA,KACVwsB,KAAO,KAAKzzB,MAAMyzB,MAAS,GAAE,KAAKzzB,MAAMyzB,UAAc,GAAEA,KAE1D,EAGAiQ,eACC,MAAM,WAAEhX,EAAU,UAAE+J,GAAc,KAAK+L,SAAW,CAAC,EAEnD,MAAO,CACN,CAAC,KAAKxiC,MAAMvB,SAAU,KAAKuB,MAAMvB,MACjC,gBAAiB,KAAKuB,MAAM2jC,WAC5B,uBAAwB,KAAK3jC,MAAMs1B,QACnC,0BAA2B,KAAKt1B,MAAMk1B,SACtC,4BAA6B,KAAKl1B,MAAM+0B,WACxC,2BAA4B,KAAK/0B,MAAMg1B,SACvC,yBAA0B,KAAKh1B,MAAMwrB,OAErC,2BACE,KAAKxrB,MAAMq1B,gBAAkB,KAAKr1B,MAAMo1B,SAI1C,wBACC,KAAKp1B,MAAMo1B,UAAY,KAAKp1B,MAAMq1B,eAEnC,iCAAkC,KAAKmN,QACvC,cAAe,KAAKA,SAAW9V,IAAe+J,EAC9C,eAAgB,KAAK+L,UAAY9V,IAAe+J,EAChD,YAAa,KAAK+L,SAAW/L,IAAc/J,EAE7C,EAEA8V,UACC,OACE,KAAKxiC,MAAMwsB,UAAY,KAAKxsB,MAAMwsB,SAAS,KAAKiU,oBACjD,IAEF,EACAtL,YACC,MAAM,UAAEA,EAAS,WAAEJ,EAAU,UAAExI,GAAc,KAAKvsB,MAClD,OACC,KAAK+yB,OAAOsK,WAAW/C,MACvBnF,IACCJ,GACa,IAAdxI,CAEF,EACA0I,YACC,MAAM,WAAEoI,EAAU,KAAE/sB,GAAS,KAAKyiB,OAClC,OACCsK,EAAWuG,QACX,KAAK5jC,MAAMi1B,WACX3kB,IACC,KAAKkb,UACJ,KAAKgX,SAAY,KAAKA,SAAW,KAAKA,QAAQ/L,YAC/B,UAAjB,KAAKzL,KAAK/vB,EAEZ,EAEAgjC,MACC,OAAO,KAAK/hB,QAAQ+hB,GACrB,IC9VF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,UF4DA,IACEjC,OAAQ,CAAC,SAAU,QAAS,UAAW,OAAQ,aAC/C3wB,WAAY,CAAEw4B,MAAKA,IACnBz5B,MAAO,CAEL0T,QAAS,CAAEjX,KAAMpL,OAAQ6O,QAAS,MAAS,IAC3C+yB,WAAY,CAAEx2B,KAAMpL,OAAQ8H,UAAU,GACtCjD,KAAM,CAAEuG,KAAMpL,OAAQ8H,UAAU,GAChCugC,WAAY,CAAEj9B,KAAMwD,MAAOC,QAAS,IAAM,IAC1C8zB,aAAc,CAAEv3B,KAAM,CAACyF,OAAQ,MAAOhC,QAAS,MAC/C+zB,aAAc,CAAEx3B,KAAM,CAACyF,OAAQ,MAAOhC,QAAS,MAC/CwyB,UAAW,CAAEj2B,KAAM,CAACyF,OAAQ9B,SAAUF,SAAS,GAC/CkhB,OAAQ,CAAE3kB,KAAM2D,QAASF,SAAS,IAGpChK,KAAM,MACN2D,QAAO,IACLi1B,aAAc,CAAC,EACf2G,mBAAoB,EAGpBkE,aAAc,KACdC,aAAa,EACbC,iBAAkB,OAGpBlkC,QAAS,CACPmkC,kBAAkB,OAAEh3B,IAClB,MAAMi3B,EAAgBj3B,EAAOk3B,UAAUC,SAAS,sBAChD,IAAI54B,EAAQ04B,EAAgBj3B,EAAS,KAAK6lB,OAAOuR,aAAap3B,EAAQ,sBAOtE,OALIzB,IACFA,EAAQA,EAAM84B,WAAW,cAAc9hC,MAEnCoJ,SAASJ,GAAOkO,aAAelO,EAAMkO,aAAYlO,EAAQI,SAASJ,KAEjEA,GAAS,IAClB,EAEA+4B,aAAc/4B,GACZ,MAAO,CACL,sBAAsB,EACtB,kCAAmC,KAAKw4B,mBAAqBx4B,EAAMxQ,GACnE,8BAA+BwQ,EAAMg5B,UACrC,CAACh5B,EAAMhN,SAAUgN,EAAMhN,MAE3B,EAEAm5B,6BAEM,KAAK9Z,QAAQxN,MAAQ,KAAKo0B,cAAgB,KAAKC,cACxB,IAArB,KAAKD,aACP,KAAKxL,aAAe,GACpB,KAAK2G,mBAAqB,IAGtB,KAAK3G,aAAc,KAAK2G,oBAAsB,KAAKxD,MAAMr8B,MAAM43B,2BAA2B,KAAK9X,OAAQ,KAAKhC,SAEtH,EAEA8mB,oBAAqB9Y,GACnB,OAAO,KAAKiH,OAAO6R,oBAAoB9Y,EACzC,EAKAE,WAAYmQ,EAAUnJ,GAAQ,GAE5B,MAAMvnB,EAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAEnE,KAAKE,MAAM5Q,KAAKO,WAAWgH,EAAO,KAAK+Q,aAAct4B,GACrD,KAAKs4B,aAAe,IACtB,EAEAc,oBAAqB1I,GACd,KAAK2I,YAAY,KAAKC,YAAY5I,GAGvC,MAAM1wB,EAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAEnE,KAAKE,MAAM5Q,KAAKuZ,kBAAkB,KAAKjB,aAAct4B,GACrD,KAAKs4B,aAAe,IACtB,EAOAgB,YAAa5I,GACX,IAAK,KAAK2I,aAAe,KAAKG,WAAY,CACxC,KAAKH,WAAa,KAAKxkC,KAAKu6B,UAG5B,MAAMpvB,EAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAI7Dn0B,EAAO,KAAK+7B,cAAgB,KAAKzjC,KAAKu6B,UAC5C,KAAK9H,OAAOnyB,MAAM,aAAc6K,EAAQ,CAAEzD,OAAMyD,SAAUzD,EAC5D,CACF,EAEAk9B,gBAAiB/I,EAAU1wB,EAAQ,KAAMk1B,GAAQ,GAE/C,GAAI,iBAAkBhhC,SAAWghC,EAAO,OAAO,EAE1C,KAAKmE,YAAY,KAAKC,YAAY5I,GAEvC,MAAM,eAAEgJ,EAAc,aAAEjE,GAAiB,KAAK7N,UAI9C,KAAKA,UAAU+R,0BAA2B,EAE1CD,EAAeE,cAAe,EAE9B,KAAKtB,aAAe,IAAIv9B,KAAK,KAAKlG,KAAKu6B,WACvC,MAAM,QAAE/uB,EAASooB,cAAc,EAAED,IAAQ,KAAKlB,OAAOuS,gBAAgBnJ,GACrE,KAAK4H,aAAajvB,WAAWhJ,GAE7B,MAAMy5B,EAAmB,KAAKX,oBAAoBzI,EAASjvB,SAEtDq4B,GAAoBrE,EAAarM,QACnC,KAAK7J,KAAKlL,OAAO1b,MAAKvJ,GAAKA,EAAEg6B,OAASqM,EAAarM,QAAS,CAAC,GAAGS,SAAU,GAIzE,KAAK+H,WAAWmI,SAAWD,GAAkB,KAAKE,mBAAmBtJ,EAAUlI,EACrF,EAEAwR,mBAAoBtJ,EAAUuJ,GAG5B,GAAI,KAAK5nB,QAAQ6nB,mBAAqB,CAAC,OAAQ,OAAOtiC,SAAS,KAAK2nB,KAAK/vB,IAAK,CAC5E,MAAM,kBAAE2qC,GAAsB,KAAKvS,UAWnC,GAVAuS,EAAkBF,aAAeA,EAIjCE,EAAkBn6B,MAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAG/EyJ,EAAkB5gC,MAAQ,KAAK++B,aAG3B,KAAKjmB,QAAQ+nB,WAAY,CAC3B,IAAIC,EAA6C,GAA/B,KAAK/B,aAAatqB,WAAkB,KAAKsqB,aAAarqB,aACxE,MAAMqsB,EAAmBD,EAAc,KAAKhoB,QAAQ+nB,WAAa,EACjEC,EAAcC,EAAoBA,EAAmB,KAAKjoB,QAAQ+nB,WAElED,EAAkB5gC,MAAM6P,SAAS,EAAGixB,EAAa,EAAG,EACtD,CACF,MAGS,KAAKhoB,QAAQkoB,eAAiB,CAAC,QAAS,OAAQ,OAAO3iC,SAAS,KAAK2nB,KAAK/vB,KACjF,KAAKgrC,mBAAmB9J,EAE5B,EAGA8J,mBAAoB9J,GAClB,MAAM,eAAEgJ,GAAmB,KAAK9R,UAChC8R,EAAee,OAAU,GAAE,KAAKnT,OAAO6C,EAAEC,OAAO,KAAKv1B,KAAKmsB,gBAG1D0Y,EAAe15B,MAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAE5EgJ,EAAe7D,UAAY3lB,YAAW,KACpC,GAAIwpB,EAAee,SAAW,KAAK7S,UAAU+R,yBAA0B,CACrE,MAAM,KAAEvQ,GAAS,KAAKwH,MAAMr8B,MAAMu1B,cAChC,KAAKwO,aACL,KACAoB,EAAe15B,MAAQ,CAAEA,MAAO05B,EAAe15B,OAAU,CAAC,GAG5D05B,EAAeE,aAAexQ,CAChC,IACCsQ,EAAe3R,QACpB,EAEA2S,iBAAkBhK,EAAU1wB,EAAQ,MAElC,KAAKy5B,gBAAgB/I,EAAU1wB,GAAO,EACxC,EAEA26B,YAAYjK,EAAU1wB,GACpB,GAAI0wB,EAASkK,QAAU,KAAOlK,EAASkK,QAAU,KAAM,CACvD,MAAMC,EAAW76B,EAAMzD,KACrBs+B,EAASzxB,SAASsa,KAAKwD,MAAMwJ,EAASkK,QAAU,KAAM,EAAG,EAAG,GAC5D,MAAME,EAAS,IAAI//B,KAAK8/B,GACxBC,EAAO1xB,SAASyxB,EAAS7sB,WAAa,GAEtC,MAAMnJ,EAAO3E,KAAO26B,GAAU7/B,OAAO,SAE/B+/B,EAAsC,sBAArB,KAAK1yB,OAAO7U,KAC7B8C,EAAWykC,EAAiB/6B,EAAM3E,YAAcwF,OAAO4Z,aAAaC,QAAQ,qBAAuB,KAAKxV,KAAK1V,IAEnH,KAAK2K,QAAQC,KAAK,kBAAmB,CACnCyK,OACAtI,KAAM/D,EAAAA,EAAAA,yBAAiCqiC,GACvCvkC,aAGF4Z,YAAW,KACT,KAAK/V,QAAQC,KAAK,gBAAiB,CACjC5K,GAAI,KACJ+J,MAAOf,EAAAA,EAAAA,yBAAiCqiC,GACxCrhC,IAAKhB,EAAAA,EAAAA,yBAAiCsiC,IACvC,GACA,IACL,CAEK,KAAK3B,oBAAoBzI,EAASjvB,SAAS,KAAK8e,WAAWmQ,EAClE,EAEAsK,eAAgBtK,GACd,MAAMn0B,EAAO,IAAIxB,KAAK,KAAKlG,KAAKu6B,WAChC7yB,EAAK8M,WAAW,KAAKie,OAAOuS,gBAAgBnJ,GAAUrwB,SAGtD,MAAML,EAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAEnE,KAAKpJ,OAAOnyB,MAAM,gBAAiB6K,EAAQ,CAAEzD,OAAMyD,SAAUzD,GAEzD,KAAK8V,QAAQsV,oBAAoB,KAAKL,OAAOI,sBACnD,EAEAuT,kBAAmBvK,GACjBA,EAASwK,kBACTxK,EAASuF,iBAET,MAAM15B,EAAO,IAAIxB,KAAK,KAAKlG,KAAKu6B,YAC1B,aAAE3G,EAAY,QAAEpoB,GAAY,KAAKinB,OAAOuS,gBAAgBnJ,GAC9Dn0B,EAAK8M,WAAWhJ,GAGhB,MAAML,EAAQ,KAAKk5B,YAAc,KAAKT,iBAAiB/H,GAAY,KAEnE,KAAKpJ,OAAOnyB,MAAM,mBAAoB,CAAEoH,UAASksB,KAAkBzoB,GAAS,CAAC,EAAI5Q,EAAGshC,GACtF,GAGFp5B,SAAU,KACRC,EAAAA,EAAAA,IAAW,OAAQ,CAAC,SAEpBi7B,MACE,OAAO,KAAK/hB,QAAQ+hB,GACtB,EACA2I,eACE,OAAO,KAAKvK,MAAMr0B,KAAK0tB,cAAc,KAAK3C,OAAOjG,IACnD,EACA+Z,kBACE,OAA6B,OAAtB,KAAKzI,cAAyB,KAAKA,aAAe,KAAK99B,KAAKwmC,QAAQ1W,SAC7E,EACA2W,iBACE,OAAO,KAAK1I,cAAgB,KAAKA,aAAe,KAAK/9B,KAAKu6B,UAAUzK,SACtE,EAEA6U,aACE,MAAM,YAAE+B,GAAgB,KAAKlpB,SACvB,kBAAEmpB,GAAsB,KAAKlU,OACnC,SAAIiU,EAAYxlC,SAAUwlC,EAAY3jC,SAAS,KAAK/C,KAAKmsB,gBAAmBwa,KACrE,KAAKJ,iBAAmB,KAAKE,eACtC,EAEAjC,WAAY,CACVlH,MACE,IAAIsJ,GAAW,EACf,MAAM,aAAE9K,GAAiB,KAAKpR,KAW9B,OAREkc,EADmB,UAAjB,KAAKlc,KAAK/vB,GACDmhC,EAAa5N,gBAAkB,KAAKluB,KAAKu6B,UAAUrM,cAEtC,SAAjB,KAAKxD,KAAK/vB,GACLmhC,EAAa5N,gBAAkB,KAAKluB,KAAKu6B,UAAUrM,eAC7D4N,EAAa3N,aAAe,KAAKnuB,KAAKu6B,UAAUpM,WAEpC2N,EAAahM,YAAc,KAAK9vB,KAAKu6B,UAAUzK,UAExD8W,CACT,EACAlxB,IAAKhO,GACH,KAAKgjB,KAAKoR,aAAep0B,EACzB,KAAK+qB,OAAOnyB,MAAM,uBAAwB,KAAKoqB,KAAKoR,aACtD,GAGF+K,kBACE,MAAO,CAAC,OAAQ,OAAO9jC,SAAS,KAAK2nB,KAAK/vB,GAC5C,EACAghC,sBACE,OAAO,KAAKlJ,OAAOkJ,mBACrB,EACAmL,eAEE,OAAO,KAAK9mC,KAAK8mC,aAAahsC,KAAImkC,IAChC,IAAI,KAAEviB,EAAI,GAAED,GAAOwiB,EAGnB,OAFAviB,EAAOmS,KAAKmF,IAAItX,EAAM,KAAKc,QAAQsW,UACnCrX,EAAKoS,KAAK/Y,IAAI2G,EAAI,KAAKe,QAAQmlB,QACxB,IACF1D,EACHp+B,QAAS4b,EAAKC,GAAQ,KAAKqqB,UAC3B3T,KAAM1W,EAAO,KAAKc,QAAQsW,UAAY,KAAKiT,UAC7C,GAEJ,EACAvnB,SACE,MAAQ+a,UAAWyM,EAAWR,QAASS,GAAY,KAAKjnC,KACxD,IAAIwf,EAAS,GAGb,IAAM,CAAC,QAAS,QAAQzc,SAAS,KAAK2nB,KAAK/vB,KAAQ,KAAK6iB,QAAQ0pB,sBAAwB,CAetF,GAZA1nB,EAAS,KAAKkL,KAAKlL,OAAO7R,MAAM,GAEX,UAAjB,KAAK+c,KAAK/vB,IACZ6kB,EAAOzb,QAAQ,KAAK2mB,KAAKyc,kBAI3B3nB,EAASA,EAAO1c,QAAOvI,GAAK,KAAKwhC,MAAMr8B,MAAMo4B,aAAav9B,EAAGysC,EAAWC,KAEpE,KAAKzpB,QAAQ4pB,kBAAqC,UAAjB,KAAK1c,KAAK/vB,KAAgB6kB,EAASA,EAAO1c,QAAOvI,KAAOA,EAAE2wB,SAAW,KAAKA,UAG3G,KAAK1N,QAAQxN,MAAQ,KAAK62B,kBAAoB,KAAK3b,OAAQ,CAC7D,MAAM,SAAE4I,EAAQ,OAAE6O,GAAW,KAAKnlB,QAElCgC,EAASA,EAAO1c,QAAOvI,IACrB,MAAM2nC,EAAW3nC,EAAE0xB,UAAY,GAAK1xB,EAAE2xB,SAAS,KAAKlsB,KAAKmsB,gBAAmB,CAAC,EACvEkb,EAAmC,IAAhB9sC,EAAE0xB,WAAmB1xB,EAAEi6B,iBAAmBmO,GAAUpoC,EAAEyxB,eAAiB8H,EAC1FwT,EAAqB/sC,EAAE0xB,UAAY,GAAMiW,EAAQ1N,iBAAmBmO,GAAUT,EAAQlW,eAAiB8H,EACvGyT,GAAuB,EAC7B,OAAQhtC,EAAE2wB,QAAUmc,GAAoBC,GAAsBC,CAAoB,GAEtF,EAGI,KAAK/pB,QAAQxN,OAAQ,KAAK62B,iBAAqB,KAAKrpB,QAAQ4pB,kBAAoB,KAAKlc,QAEvF1L,EAAOoK,MAAK,CAACC,EAAGC,IAAMD,EAAEnlB,MAAQolB,EAAEplB,OAAS,EAAI,IAI5C,KAAK8+B,WAAWtiC,QAAQ,KAAKgC,UAAU,KAAKo0B,2BACnD,CAEA,OAAO9X,CACT,EACA4kB,cACE,OAAO,KAAK5kB,OAAOte,MACrB,EACAsmC,SACE,OAAO,KAAKhE,WAAW1oC,KAAI,CAACy9B,EAAMrzB,KAChC,MAAMsa,EAAS,KAAKA,OAAO1c,QAAOvI,GAAKA,EAAE4Q,QAAUotB,EAAK59B,MACjD88B,EAAUoB,GAAU,KAAKkD,MAAMr8B,MAAM43B,2BAA2B9X,EAAO1c,QAAOvI,IAAMA,EAAEk6B,aAAel6B,EAAE2wB,SAAS,KAAK1N,SAC5H,MAAO,IACF+a,EACHd,WACA6H,eAAgBzG,EAChBrZ,SACF,GAEJ,EACA6kB,cACE,OAAO,KAAKmD,OAAOtmC,MACrB,EACAumC,cACE,MAAO,CACL,CAAC,KAAKznC,KAAK7B,SAAU,KAAK6B,KAAK7B,MAC/B,wBAAyB,KAAK6B,KAAK0nC,QACnC,sBAAuB,KAAK1nC,KAAK86B,MACjC,6BAA8B,KAAK96B,KAAK2nC,WACxC,2BAA4B,KAAKhD,YAAc,KAAK4B,gBACpD,0BAA2B,KAAK5B,YAAc,KAAK8B,eACnD,yBAA0B,KAAK9B,WAC/B,yBAA0B,KAAKH,WAC/B,4BAA6B,KAAKd,YAClC,2BAA4B,KAAKW,YACjC,2BAA4B,KAAKD,YAErC,EACAwD,aACE,MAAO,IAED,KAAKpL,UAAY,CAAE71B,MAAQ,GAAE,KAAK61B,cAAiB,CAAC,EAE5D,EACAqL,kBACE,MAAM,KAAE73B,EAAI,OAAE2yB,GAAW,KAAKnlB,QAC9B,OAAO,KAAKxd,KAAK86B,OAAS,KAAK+L,iBAAmB72B,IAAS,KAAKkb,QAAU,KAAKob,cAAgB3D,CACjG,EACAmF,qBAEE,IAAK,KAAK9nC,KAAK86B,QAAU,KAAKtd,QAAQxN,KAAM,OAE5C,MAAM0yB,EAAiB,KAAK4D,aAAe,KAAK9oB,QAAQsW,SACxD,OAAOjF,KAAK4C,MAAMiR,EAAiB,KAAKqE,UAC1C,EACAA,YACE,OAAO,KAAKvpB,QAAQqW,eAAiB,KAAKrW,QAAQoS,QACpD,IGndJ,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,UJiBA,IACE8L,OAAQ,CAAC,SAAU,OAAQ,cAC3B3wB,WAAY,CAAE,cAAeg9B,IAC7Bj+B,MAAO,CAEL0T,QAAS,CAAEjX,KAAMpL,OAAQ8H,UAAU,GACnC+kC,MAAO,CAAEzhC,KAAMwD,MAAO9G,UAAU,GAChC9B,MAAO,CAAEoF,KAAMmJ,OAAQzM,UAAU,GACjCw4B,UAAW,CAAEl1B,KAAMwD,MAAOC,QAAS,IAAM,IACzCi+B,YAAa,CAAE1hC,KAAM2D,QAASF,SAAS,GACvCnJ,OAAQ,CAAE0F,KAAMmJ,OAAQ1F,QAAS,IACjCk+B,oBAAqB,CAAE3hC,KAAMyF,OAAQhC,QAAS,OAGhDvH,SAAU,CACR0lC,sBACE,SAAU,KAAK3qB,QAAQ4qB,cAAiB,KAAK3M,UAAUv6B,QAAU,KAAKsc,QAAQkgB,cAChF,IKtCJ,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,U,Yb4HA,MAAMnL,GAAgB,KAChB8V,GAAgB,CACrBlW,SAAUpoB,MAAM,GAAGu+B,KAAK,IACxBC,cAAe,GACftW,OAAQloB,MAAM,IAAIu+B,KAAK,IACvBE,MAAO,GACPzZ,KAAM,GACN0Z,MAAO,GACPrd,KAAM,GACNkB,IAAK,GACLwO,MAAO,GACPjP,QAAS,GACTX,OAAQ,GACRgV,YAAa,GACbwI,YAAa,GACbC,WAAY,oBACZvX,GAAI,KACJkB,GAAI,MAGCsW,GAAa,CAAC,QAAS,OAAQ,QAAS,OAAQ,OAMhDtU,GAAY,IAAIxH,GAAUub,IAEhC,QACC1pC,KAAM,UACNoM,WAAY,CACX,cAAeg9B,GACf,gBAAiBc,GACjB/L,iBAAgB,GAChBgM,UAASA,IAIVC,UACC,MAAO,CACNtW,OAAQlzB,KACRw8B,MAAOx8B,KAAKw8B,MACZngB,QAASrc,KAAKqc,QAEdotB,SAAUzpC,KAAKypC,SACfrsB,KAAMpd,KAAKod,KACX0gB,WAAY99B,KAAK89B,WACjBH,mBAAoB39B,KAAK29B,mBACzBH,WAAYx9B,KAAKw9B,WAEjBrS,KAAMnrB,KAAKmrB,KACXqI,UAAWxzB,KAAKwzB,UAElB,EAEAjpB,MAAO,CACNm/B,WAAY,CAAE1iC,KAAMmJ,OAAQ1F,QAAS,QACrCk/B,aAAc,CAAE3iC,KAAMyF,OAAQhC,QAAS,GAEvCm/B,gBAAiB,CAAE5iC,KAAM,CAACmJ,OAAQ1D,QAAShC,QAAS,QACpD07B,cAAe,CAAEn/B,KAAM2D,QAASF,SAAS,GACzCw0B,gBAAiB,CAAEj4B,KAAM2D,QAASF,SAAS,GAC3C4oB,gBAAiB,CAAErsB,KAAM2D,QAASF,SAAS,GAC3C8oB,mBAAoB,CAAEvsB,KAAM2D,QAASF,SAAS,GAC9Co/B,sBAAuB,CAAE7iC,KAAM2D,QAASF,SAAS,GACjD08B,YAAa,CAAEngC,KAAMwD,MAAOC,QAAS,IAAM,IAC3Cq/B,aAAc,CAAE9iC,KAAMwD,MAAOC,QAAS,IAAM,IAC5Cq7B,kBAAmB,CAAE9+B,KAAM2D,QAASF,SAAS,GAG7Cs/B,sBAAuB,CAAE/iC,KAAMyF,OAAQhC,QAAS,IAChDu/B,eAAgB,CAAEhjC,KAAM,CAAC2D,QAAS/O,QAAS6O,SAAS,GACpDuhB,gBAAiB,CAAEhlB,KAAMwD,MAAOC,QAAS,IACzCwV,OAAQ,CAAEjZ,KAAMwD,MAAOC,QAAS,IAAM,IACtCk9B,sBAAuB,CAAE3gC,KAAM2D,QAASF,SAAS,GACjDk1B,kBAAmB,CAAE34B,KAAM,CAAC2D,QAASwF,QAAS1F,SAAS,GACvDw/B,SAAU,CAAEjjC,KAAM2D,QAASF,SAAS,GACpCowB,aAAc,CAAE7zB,KAAM2D,QAASF,SAAS,GACxCwvB,iBAAkB,CAAEjzB,KAAM2D,QAASF,SAAS,GAC5C4yB,aAAc,CAAEr2B,KAAMwD,MAAOC,QAAS,IAAM,IAC5Cy/B,aAAc,CAAEljC,KAAM2D,QAASF,SAAS,GACxC5D,OAAQ,CAAEG,KAAM,CAACmJ,OAAQvU,QAAS6O,QAAS,MAC3C0/B,QAAS,CAAEnjC,KAAM,CAACmJ,OAAQxJ,MAAO8D,QAAS,IAC1Co+B,aAAc,CAAE7hC,KAAMyF,OAAQhC,QAAS,GACvC2/B,QAAS,CAAEpjC,KAAM,CAACmJ,OAAQxJ,MAAO8D,QAAS,IAC1Cm5B,cAAe,CAAE58B,KAAMyF,OAAQhC,QAAS,GACxC0zB,cAAe,CAAEn3B,KAAMyF,OAAQhC,QAAS,GACxCu3B,aAAc,CAAEh7B,KAAM,CAACq1B,SAAU,MAAO5xB,QAAS,MACjDyrB,cAAe,CAAElvB,KAAM,CAACq1B,SAAU,MAAO5xB,QAAS,MAClD23B,gBAAiB,CAAEp7B,KAAM,CAACq1B,SAAU,MAAO5xB,QAAS,MACpDkuB,oBAAqB,CAAE3xB,KAAM2D,QAASF,SAAS,GAC/C4/B,QAAS,CAAErjC,KAAM2D,QAASF,SAAS,GACnC8xB,aAAc,CAAEv1B,KAAM,CAACmJ,OAAQxJ,MAAO8D,QAAS,IAC/Co9B,iBAAkB,CAAE7gC,KAAM,CAAC2D,QAASwF,QAAS1F,SAAS,GACtD+0B,gBAAiB,CAAEx4B,KAAM2D,QAASF,SAAS,GAC3C6/B,gBAAiB,CAAEtjC,KAAM,CAAC2D,QAASwF,QAAS1F,SAAS,GACrDu7B,WAAY,CAAEh/B,KAAMyF,OAAQhC,QAAS,GACrCqxB,MAAO,CAAE90B,KAAM2D,QAASF,SAAS,GACjC88B,aAAc,CAAEvgC,KAAMpL,OAAQ6O,QAAS,KAAM,CAAG,IAChD8/B,UAAW,CAAEvjC,KAAMwD,MAAOC,QAAS,IAAM,IACzCsyB,kBAAmB,CAAE/1B,KAAM2D,QAASF,SAAS,GAC7CwxB,kBAAmB,CAAEj1B,KAAM2D,QAASF,SAAS,GAC7CgG,KAAM,CAAEzJ,KAAM2D,QAASF,SAAS,GAChC6pB,eAAgB,CAAEttB,KAAMyF,OAAQhC,QAAS,IACzC+/B,WAAY,CAAExjC,KAAMmJ,OAAQ1F,QAAS,IACrC8pB,SAAU,CAAEvtB,KAAMyF,OAAQhC,QAAS,GACnC4lB,SAAU,CAAErpB,KAAMyF,OAAQhC,QAAS,IACnC24B,OAAQ,CAAEp8B,KAAMyF,OAAQhC,QAASuoB,IACjCiI,YAAa,CAAEj0B,KAAM2D,QAASF,SAAS,GACvCqwB,YAAa,CAAE9zB,KAAM2D,QAASF,SAAS,GACvCggC,WAAY,CAAEzjC,KAAM2D,QAASF,SAAS,GACtCigC,cAAe,CAAE1jC,KAAM2D,QAASF,SAAS,GACzCsxB,OAAQ,CAAE/0B,KAAM2D,QAASF,SAAS,IAGnChK,OACC,MAAO,CACNkqC,OAAO,EAEPnd,MAAO,IAAKsb,IACZtM,MAAO,CAENr0B,OAAOnI,KAAK6pC,uBAAwB9U,GAAUxG,oBAA+BwG,GAC7EnJ,KAAM,KAINzrB,MAAO,MAERkc,QAAS,CAAE+hB,IAAK,MAChBtK,QAAS,KAGT3I,KAAM,CACL/vB,GAAI,GACJqL,MAAO,GACPu0B,UAAW,KACXiM,QAAS,KACT2D,cAAe,KACfC,aAAc,KACdtO,aAAc,KAGdtc,OAAQ,IAETgW,iBAAkB,EAGlBhJ,IAAK,IAAItmB,KAETmkC,cAAe,CAAC,KAAM,MAItBtX,UAAW,CACV8N,cAAe,CACdtM,KAAM,KACN7vB,MAAO,KACPyG,MAAO,KACP+2B,QAAS,KACTE,uBAAwB,EACxBD,YAAa,KACbx9B,IAAK,KACL2lC,UAAW,KACXC,QAAS,MAEVzJ,YAAa,CAEZvM,KAAM,MAEP+Q,kBAAmB,CAClBF,aAAc,KACd1gC,MAAO,KACPyG,MAAO,KACPzL,MAAO,MAERkhC,aAAc,CACbrM,KAAM,KAGN2M,UAAU,GAEXP,iBAAkB,CACjBpM,KAAM,KACNrB,QAAS,KACT8N,UAAW,MAEZhO,YAAa,CACZC,KAAM,EACNC,QAAS,KAEV2R,eAAgB,CACfe,OAAQ,KACRz6B,MAAO,KACP+nB,QAAS,KACT8N,UAAW,KACX+D,cAAc,GAIfD,0BAA0B,GAI3BjP,cAAe,GAEf8F,oBAAqB,QAEvB,EAEAl8B,QAAS,CAMRrE,iBAAiBgL,GAChB,GAA2B,kBAAhB7G,KAAK6G,OAGf,OAFA7G,KAAKwtB,MAAQ5xB,OAAO8mC,OAAO,CAAC,EAAGoG,GAAejiC,QAC9C7G,KAAKw8B,MAAMr0B,KAAKqmB,YAAYxuB,KAAKwtB,OAIlC,GAAoB,OAAhBxtB,KAAK6G,OAAiB,CACzB,MAAM2mB,QAAc,oCACpBxtB,KAAKwtB,MAAQ5xB,OAAO8mC,OAAO,CAAC,EAAGoG,GAAetb,EAC/C,MACC,SAAQ,KAAS3mB,UAAe9L,MAAM4W,IACrC3R,KAAKwtB,MAAQ5xB,OAAO8mC,OAAO,CAAC,EAAGoG,GAAen3B,EAASlH,SACvDzK,KAAKw8B,MAAMr0B,KAAKqmB,YAAYxuB,KAAKwtB,MAAM,GAG1C,EAKAyd,kBACC,gCACElwC,MAAM4W,IACN,MAAM,YAAEu5B,GAAgBv5B,EACxB3R,KAAKqc,QAAQ+hB,IAAM,IAAI8M,EAAYlrC,KAAK,IAGxCyd,OAAM,IAAMjP,GAAQsT,KAAK,yCAC5B,EAUAqpB,aAAahgB,GAaZ,OAZKke,GAAW7lC,SAAS2nB,KAExB3c,GAAQtN,MAAO,qDAAoDiqB,qCAAwCke,GAAW7qB,KAAK,UAC3H2M,EAAO,QAGHnrB,KAAKi+B,aAAaz6B,SAAS2nB,KAE/B3c,GAAQsT,KAAM,sCAAqCqJ,8BAAiCnrB,KAAKi+B,aAAa,qBACtG9S,EAAOnrB,KAAKi+B,aAAa,IAGnB9S,CACR,EASAmI,qBAAqBnrB,EAAO,MAC3BnI,KAAKo8B,oBAAsB,QAC3B,MAAMjR,EAAOnrB,KAAKi+B,aAAaj+B,KAAKi+B,aAAa5zB,QAAQrK,KAAKmrB,KAAK/vB,IAAM,GACrE+vB,GAAMnrB,KAAK89B,WAAW3S,EAAMhjB,EACjC,EAWA21B,WAAW3S,EAAMhjB,EAAO,KAAMijC,GAAmB,GAChDjgB,EAAOnrB,KAAKmrC,aAAahgB,GAEzB,MAAMwJ,EAAK30B,KAAKw8B,MAAMr0B,KAEhBkjC,EAAuBrrC,KAAKmrB,KAAK6P,WAAah7B,KAAKmrB,KAAK6P,UAAUzK,UAExE,GAAIvwB,KAAK86B,aAAesQ,EAAkB,CACzC,GAAIprC,KAAKmrB,KAAK/vB,KAAO+vB,EAAM,OAC3B,MAAMH,EAAQhrB,KAAKi+B,aACnBj+B,KAAKo8B,oBAAsBpR,EAAM3gB,QAAQrK,KAAKmrB,KAAK/vB,IAAM4vB,EAAM3gB,QAAQ8gB,GAAQ,OAAS,OACzF,CAEA,MAAMmgB,EAAUtrC,KAAKmrB,KAAK/vB,GAQ1B,OAPA4E,KAAKmrB,KAAKlL,OAAS,GACnBjgB,KAAKmrB,KAAK/vB,GAAK+vB,EACfnrB,KAAKmrB,KAAKyf,cAAgB,KAC1B5qC,KAAKmrB,KAAK0f,aAAe,KAEpB1iC,IAAMA,EAAOnI,KAAKmrB,KAAKoR,cAAgBv8B,KAAKmrB,KAAK6P,WAE9C7P,GACP,IAAK,QAEJnrB,KAAKmrB,KAAK6P,UAAY,IAAIr0B,KAA2C,GAAtC2oB,KAAKwD,MAAM3qB,EAAKwmB,cAAgB,KAAY,IAAM,EAAG,GACpF3uB,KAAKmrB,KAAK8b,QAAU,IAAItgC,KAAK3G,KAAKmrB,KAAK6P,UAAUrM,cAAgB,GAAI,EAAG,GACxE3uB,KAAKmrB,KAAK8b,QAAQsE,YAAY,GAC9B,MAED,IAAK,OACJvrC,KAAKmrB,KAAK6P,UAAY,IAAIr0B,KAAKwB,EAAKwmB,cAAe,EAAG,GACtD3uB,KAAKmrB,KAAK8b,QAAU,IAAItgC,KAAKwB,EAAKwmB,cAAgB,EAAG,EAAG,GACxD3uB,KAAKmrB,KAAK8b,QAAQsE,YAAY,GAC9B,MAED,IAAK,QAAS,CACbvrC,KAAKmrB,KAAK6P,UAAY,IAAIr0B,KAAKwB,EAAKwmB,cAAexmB,EAAKymB,WAAY,GACpE5uB,KAAKmrB,KAAK8b,QAAU,IAAItgC,KAAKwB,EAAKwmB,cAAexmB,EAAKymB,WAAa,EAAG,GACtE5uB,KAAKmrB,KAAK8b,QAAQsE,YAAY,GAG9B,IAAIvQ,EAAY,IAAIr0B,KAAK3G,KAAKmrB,KAAK6P,WAUnC,GATIA,EAAUnL,YAAc7vB,KAAK+8B,kBAAoB,EAAI,KACxD/B,EAAYrG,EAAGlF,0BAA0BuL,EAAWh7B,KAAK+8B,oBAI1D/8B,KAAKmrB,KAAKyf,cAAgB5P,EAC1Bh7B,KAAKmrB,KAAK0f,aAAelW,EAAG/G,QAAQoN,EAAW,IAC/Ch7B,KAAKmrB,KAAK0f,aAAa71B,SAAS,GAAI,GAAI,GAAI,GAExChV,KAAKkqC,aAAc,CAEtB,GAAI,CAAC,EAAG,GAAG1mC,SAASxD,KAAKmrB,KAAKyf,cAAc/a,UAAW,CACtD,MAAM2b,EAAiD,IAArCxrC,KAAKmrB,KAAKyf,cAAc/a,UAAmB7vB,KAAK+8B,kBAAwB,EAAJ,EACtF/8B,KAAKmrB,KAAKyf,cAAgBjW,EAAG/G,QAAQ5tB,KAAKmrB,KAAKyf,cAAeY,EAC/D,CAEA,GAAI,CAAC,EAAG,GAAGhoC,SAASxD,KAAKmrB,KAAK6P,UAAUnL,UAAW,CAClD,MAAM2b,EAA6C,IAAjCxrC,KAAKmrB,KAAK6P,UAAUnL,SAAiB,EAAI,EAC3D7vB,KAAKmrB,KAAK6P,UAAYrG,EAAG/G,QAAQ5tB,KAAKmrB,KAAK6P,UAAWwQ,EACvD,CAEA,GAAI,CAAC,EAAG,GAAGhoC,SAASxD,KAAKmrB,KAAK0f,aAAahb,UAAW,CACrD,MAAM4b,EAAqD,IAApCzrC,KAAKmrB,KAAK0f,aAAahb,UAAmB7vB,KAAK+8B,kBAAwB,EAAJ,EAC1F/8B,KAAKmrB,KAAK0f,aAAelW,EAAG5G,aAAa/tB,KAAKmrB,KAAK0f,aAAcY,EAClE,CAEA,GAAI,CAAC,EAAG,GAAGjoC,SAASxD,KAAKmrB,KAAK8b,QAAQpX,UAAW,CAChD,MAAM4b,EAAgD,IAA/BzrC,KAAKmrB,KAAK8b,QAAQpX,SAAiB,EAAI,EAC9D7vB,KAAKmrB,KAAK8b,QAAUtS,EAAG5G,aAAa/tB,KAAKmrB,KAAK8b,QAASwE,EACxD,CACD,CACA,KACD,CACA,IAAK,OAAQ,CAIZtjC,EAAOwsB,EAAGlF,0BAA0BtnB,EAAMnI,KAAK+8B,mBAC/C,MAAM2O,EAAgB1rC,KAAKkqC,aAAe,EAAI,EAC9ClqC,KAAKmrB,KAAK6P,UAAYh7B,KAAKkqC,cAAgBlqC,KAAK+8B,kBAAoBpI,EAAG/G,QAAQzlB,EAAM,GAAKA,EAC1FnI,KAAKmrB,KAAK6P,UAAUhmB,SAAS,EAAG,EAAG,EAAG,GAQtChV,KAAKmrB,KAAK8b,QAAUtS,EAAG/G,QAAQzlB,EAAMujC,GACrC1rC,KAAKmrB,KAAK8b,QAAQsE,YAAY,GAE9B,KACD,CACA,IAAK,MACJvrC,KAAKmrB,KAAK6P,UAAY7yB,EACtBnI,KAAKmrB,KAAK6P,UAAUhmB,SAAS,EAAG,EAAG,EAAG,GACtChV,KAAKmrB,KAAK8b,QAAU,IAAItgC,KAAKwB,GAC7BnI,KAAKmrB,KAAK8b,QAAQjyB,SAAS,GAAI,GAAI,GAAI,GACvC,MAIFhV,KAAKu2B,kBAGL,MAAMoV,EAAW3rC,KAAKmrB,KAAK6P,WAAah7B,KAAKmrB,KAAK6P,UAAUzK,UAC5D,IAAI+a,IAAYngB,GAAQwgB,IAAaN,KAGrCrrC,KAAKe,MAAM,oBAAqBoqB,GAE5BnrB,KAAK2qC,OAAO,CACf,MAAM3P,EAAYh7B,KAAKmrB,KAAK6P,UACtBpd,EAAS,CACduN,OACA6P,YACAiM,QAASjnC,KAAKmrB,KAAK8b,WACfjnC,KAAKs+B,YACN,CACAsM,cAAe5qC,KAAKmrB,KAAKyf,cACzBC,aAAc7qC,KAAKmrB,KAAK0f,aACxBjD,iBAAkB5nC,KAAKmrB,KAAKyc,iBAAiBrsC,IAAIyE,KAAKy2B,eAEtD,CAAC,EACJxW,OAAQjgB,KAAKmrB,KAAKlL,OAAO1kB,IAAIyE,KAAKy2B,iBAC9Bz2B,KAAKq+B,WACN,CACAxS,KAAM8I,EAAGvG,QAAQpuB,KAAK+8B,kBAAoBpI,EAAG/G,QAAQoN,EAAW,GAAKA,IAErE,CAAC,GAGLh7B,KAAKyE,MAAM,iBAAiBmnC,UAAY5rC,KAAK2pC,aAAe3pC,KAAKs0B,eAEjEt0B,KAAKe,MAAM,cAAe6c,EAC3B,CACD,EAKA6rB,WACCzpC,KAAK6rC,cAAa,EACnB,EAKAzuB,OACCpd,KAAK6rC,cACN,EAOAA,aAAazuB,GAAO,GACnB,MAAMuX,EAAK30B,KAAKw8B,MAAMr0B,KACtBnI,KAAKo8B,oBAAsBhf,EAAO,QAAU,OAC5C,MAAM0uB,EAAW1uB,EAAO,GAAK,EAC7B,IAAIwtB,EAAgB,KACpB,MAAM,UAAE5P,EAAW5/B,GAAI2wC,GAAW/rC,KAAKmrB,KAEvC,OAAQ4gB,GACP,IAAK,QACJnB,EAAgB,IAAIjkC,KAAKq0B,EAAUrM,cAAgB,GAAKmd,EAAU,EAAG,GACrE,MACD,IAAK,OACJlB,EAAgB,IAAIjkC,KAAKq0B,EAAUrM,cAAgB,EAAImd,EAAU,EAAG,GACpE,MACD,IAAK,QACJlB,EAAgB,IAAIjkC,KAAKq0B,EAAUrM,cAAeqM,EAAUpM,WAAa,EAAIkd,EAAU,GACvF,MACD,IAAK,OACJlB,EAAgBjW,EAAGvX,EAAO,UAAY,gBAAgBuX,EAAGlF,0BAA0BuL,EAAWh7B,KAAK+8B,mBAAoB,GACvH,MACD,IAAK,MACJ6N,EAAgBjW,EAAGvX,EAAO,UAAY,gBAAgB4d,EAAW,GACjE,MAAMgR,EAAUpB,EAAc/a,SACxBoc,EAAejsC,KAAK+8B,kBAAoBiP,GAAWA,GAAW,GAAK,EACnEE,EAAclsC,KAAK4yB,SAASqZ,GAAc3Q,KAKhD,GAAI4Q,EAAa,CAChB,MAAMC,EAAgBnsC,KAAK4yB,SAASr3B,KAAI,CAACwxB,EAAKpnB,KAAM,IAAMonB,EAAKpnB,QAC/D,IAAIymC,EAAY,KACZC,EAAe,EAEfjvB,GACHgvB,EAAY,IAAID,EAAc/9B,MAAM69B,MAAkBE,GAAe5nC,MAAMwoB,IAC1Esf,KACQtf,EAAIuO,QACV31B,EACH0mC,KAEAD,EAAY,IAAID,KAAkBA,EAAc/9B,MAAM,EAAG69B,IAAeK,UAAU/nC,MAAMwoB,IACvFsf,KACQtf,EAAIuO,QACV31B,EAGJilC,EAAgBjW,EAAGvX,EAAO,UAAY,gBAAgBwtB,EAAeyB,EACtE,CACA,MAEEzB,GAAe5qC,KAAK89B,WAAWiO,EAAQnB,EAC5C,EAQArU,gBAAgBtW,EAAS,IACxB,MAAMssB,EAAKvsC,KAAKw8B,MAAMr8B,OAEhB,UAAE66B,EAAS,QAAEiM,EAAO,cAAE2D,EAAa,aAAEC,GAAiB7qC,KAAKmrB,KASjE,GAPKlL,EAAOte,SAAQ3B,KAAKmrB,KAAKlL,OAAS,IAGvCA,EAASA,EAAOte,OAASse,EAAS,IAAIjgB,KAAKs2B,gBAItCrW,GAAWjgB,KAAKonC,oBAAsBpnC,KAAK2nC,sBAAwB,OAIxE,IAAI6E,EAAiBvsB,EAAO1c,QAAQvI,GAAMuxC,EAAGhU,aAAav9B,EAAGggC,EAAWiM,KAInEjnC,KAAKonC,mBAAuBpnC,KAAKs+B,cAAgBt+B,KAAK2/B,oBAC1D6M,EAAiBA,EAAejxC,KAAKP,GAC7BA,EAAE0xB,UAAY,EAAI6f,EAAGvV,oBAAoBh8B,EAAG4vC,GAAiB5P,EAAW6P,GAAgB5D,GAAWjsC,KAI5GgF,KAAKmrB,KAAKlL,OAAOzb,QAAQgoC,GAErBxsC,KAAKs+B,cAERt+B,KAAKmrB,KAAKyc,iBAAmB,GAC7B3nB,EAAOjT,SAAShS,KACXuxC,EAAGhU,aAAav9B,EAAG4vC,EAAe5P,IAAcuR,EAAGhU,aAAav9B,EAAGisC,EAAS4D,MAG1E7qC,KAAKmrB,KAAKlL,OAAOljB,MAAMs7B,GAAOA,EAAGrD,OAASh6B,EAAEg6B,QAAOh1B,KAAKmrB,KAAKyc,iBAAiBpjC,KAAKxJ,GACzF,IAGH,EASAypC,aAAaxY,EAAIwgB,GAChB,OAAQxgB,EAAKA,EAAGygB,iBAAmBzgB,EAAGsY,UAAUC,SAASiI,IACzD,OAAOxgB,CACR,EAQA8Y,oBAAoB9Y,GACnB,OAAOA,EAAGsY,UAAUC,SAAS,kBAAoBxkC,KAAKykC,aAAaxY,EAAI,gBACxE,EAWA0gB,YAAY3xC,GACX,MAAM,cAAEsmC,EAAa,YAAEC,EAAW,kBAAEwE,GAAsB/lC,KAAKwzB,WACpC,OAAvB8N,EAActM,MAAsC,OAArBuM,EAAYvM,MAAkB+Q,EAAkB5gC,SAEnFnK,EAAE6mC,iBAEEP,EAActM,KAAMh1B,KAAK4sC,cAAc5xC,GAClCgF,KAAK8lC,mBAAqBC,EAAkB5gC,OAAOnF,KAAK6sC,kBAAkB7xC,GACpF,EAUA0mC,UAAU1mC,GACT,MAAM,aAAEqmC,EAAY,cAAEC,EAAa,iBAAEF,EAAgB,eAAEkE,EAAc,kBAAES,GAAsB/lC,KAAKwzB,WAC1FwB,KAAM8X,GAAwB1L,GAC9BpM,KAAM+X,GAAgBzL,EAC9B,IAAI0L,GAAa,EACjB,MAAQ7sC,MAAO8sC,EAAkB9nC,MAAO+nC,GAAsBnH,EACxDoH,EAAiBntC,KAAK+kC,oBAAoB/pC,EAAEqS,QAC5C+/B,EAAe/L,EAAaM,SAMlC,GALAN,EAAaM,UAAW,EAEpBwL,IAAgBntC,KAAKwzB,UAAU+R,0BAA2B,GAG1DD,EAAeE,aAAc,OAGjC,GAAIuH,EAAa,CAChB,MAAM,YAAEnK,EAAW,uBAAEC,EAAsB,eAAEpW,GAAmB6U,EAC1DnhC,EAAQH,KAAKmrB,KAAKlL,OAAO1b,MAAMvJ,GAAMA,EAAEg6B,OAASsM,EAActM,OAMpE,GAJAgY,EAAavgB,GAAkBA,IAAmBoW,EAI9C1iC,GAASA,EAAMiF,IAAImrB,YAAcqS,EAAYrS,UAAW,CAE3D,MAAM8c,EAAertC,KAAKs2B,cAAc/xB,MAAMvJ,GAAMA,EAAEg6B,OAASsM,EAActM,OAC7EqY,EAAa5gB,eAAiBtsB,EAAMssB,eACpC4gB,EAAajoC,IAAMjF,EAAMiF,IAEzB,MAAMkoC,EAAattC,KAAKy2B,aAAat2B,GAC/Bu2B,EAAgB,IAClB12B,KAAKy2B,aAAat2B,GACrBiF,IAAKw9B,EACLnW,eAAgBtsB,EAAM0iC,wBAEvB7iC,KAAKe,MAAM,wBAAyB,CACnCZ,MAAOmtC,EACPC,QAASjM,EAAcsB,YACvBlM,kBAED12B,KAAKe,MAAM,eAAgB,CAAEZ,MAAOmtC,EAAY5W,iBACjD,CAEIv2B,IAAOA,EAAMk1B,UAAW,GAC5BiM,EAActM,KAAO,KACrBsM,EAAcn8B,MAAQ,KACtBm8B,EAAc11B,MAAQ,KACtB01B,EAAcqB,QAAU,KACxBrB,EAAcuB,uBAAyB,KACvCvB,EAAcsB,YAAc,KAC5BtB,EAAc7U,eAAiB,KAC/B6U,EAAcyJ,UAAY,KAC1BzJ,EAAc0J,QAAU,IACzB,MAAWkC,IAEND,IACHjtC,KAAKw2B,cAAc,oBAAqByW,GACxClH,EAAkB5lC,MAAMk1B,UAAW,GAIpC0Q,EAAkB5gC,MAAQ,KAC1B4gC,EAAkBn6B,MAAQ,KAC1Bm6B,EAAkB5lC,MAAQ,MAItBgtC,GAAmBJ,GAAa/sC,KAAKwtC,eAItCpM,EAAiBK,YAAcqL,IAClCW,aAAarM,EAAiBK,WAC9BL,EAAiBK,UAAY,MAI1B6D,EAAe7D,YAClBgM,aAAanI,EAAe7D,WAC5B6D,EAAe7D,UAAY,MAK5B,MAAMiM,EAAiD,oBAAtB1tC,KAAKgiC,aACtC,GAAIoL,IAAiBJ,IAAeF,IAAwBG,GAAoBS,EAAmB,CAClG,IAAIvtC,EAAQH,KAAKmrB,KAAKlL,OAAO1b,MAAMvJ,GAAMA,EAAEg6B,OAASqM,EAAarM,OAIjE,OAFK70B,GAASH,KAAKs+B,cAAan+B,EAAQH,KAAKmrB,KAAKyc,iBAAiBrjC,MAAMvJ,GAAMA,EAAEg6B,OAASqM,EAAarM,QAEhG70B,GAASH,KAAKgiC,aAAa7hC,EAAOnF,EAC1C,CACD,EAOA2yC,QAAQ3yC,GACW,KAAdA,EAAEoF,SAAgBJ,KAAKijC,cAC5B,EAOA2J,cAAc5xC,GACb,MAAM,cAAEsmC,GAAkBthC,KAAKwzB,UACzBrzB,EAAQH,KAAKmrB,KAAKlL,OAAO1b,MAAMvJ,GAAMA,EAAEg6B,OAASsM,EAActM,QAAS,CAC5ErI,SAAU,CAAC,IAEN,QAAE1gB,EAAO,aAAEooB,GAAiBr0B,KAAKylC,gBAAgBzqC,GACjD2nC,EAAUxiC,EAAMwsB,UAAYxsB,EAAMwsB,SAAS2U,EAAcqB,UAIvDx6B,KAAMwsB,EAAIx0B,MAAOosC,GAAOvsC,KAAKw8B,MAG/BoR,EAAiBte,KAAKmF,IAAIxoB,EAASjM,KAAKu0B,SAAW,GAAIoO,GAAWxiC,GAAO80B,iBAAmB,GAIlG,GAHA90B,EAAMssB,eAAiB6U,EAAc7U,eAAiBmhB,EAGlD5tC,KAAKgmC,WAAY,CACpB,MAAME,EAAmB/lC,EAAMssB,eAAiBzsB,KAAKgmC,WAAa,EAClE7lC,EAAMssB,eAAiByZ,EAAoBA,EAAmBlmC,KAAKgmC,UACpE,CAQA,GANIrD,IAASA,EAAQlW,eAAiBtsB,EAAMssB,gBAG5CtsB,EAAMiF,IAAI4P,SAAS,EAAG7U,EAAMssB,eAAgBtsB,EAAMssB,iBAAmBuG,IAAiB,EAAI,EAAG,GAGzFhzB,KAAKqqC,SAAWrqC,KAAKq+B,WAAY,CACpCl+B,EAAMusB,UAAYiI,EAAG5E,UAAU5vB,EAAMgF,MAAOhF,EAAMiF,KAClD,MAAMqjC,EAAQzoC,KAAK8zB,QACbmJ,EAAYwL,EAAMoF,YAAcpF,EAAMqF,kBACtC9C,EAAU1b,KAAKwD,MAAMuB,EAAaF,EAAI8I,GAG5C,GADgC,OAA5BqE,EAAcyJ,YAAoBzJ,EAAcyJ,UAAYC,GAAW7qC,EAAMusB,UAAY,IACzF4U,EAAc0J,UAAYA,EAAS,CACtC1J,EAAc0J,QAAUA,EAExB,MAAM+C,EAASpZ,EAAG/G,QAAQztB,EAAMgF,MAAO6lC,EAAU1J,EAAcyJ,WAEzDiD,EAAe1e,KAAKmF,IAAIE,EAAG5E,UAAU5vB,EAAMgF,MAAO4oC,GAAS,GAEjE,GAAIC,IAAiB7tC,EAAMusB,UAAW,CAErC,IAAIuhB,EAA2B,KACKA,EAAhCD,EAAe7tC,EAAMusB,UAAsC6f,EAAG5V,gBAAgBx2B,GAClDosC,EAAGzV,mBAAmB32B,GACtDmhC,EAAcqB,QAAUsL,EACxB9tC,EAAMssB,gBAAkB,IACzB,CACD,CACD,CAGAzsB,KAAKe,MAAM,iBAAkB,CAC5Bi0B,KAAM70B,EAAM60B,KACZ5vB,IAAKjF,EAAMiF,IACXqnB,eAAgBtsB,EAAMssB,gBAExB,EAOAogB,kBAAkB7xC,GACjB,MAAM,kBAAE+qC,GAAsB/lC,KAAKwzB,WAC7B,MAAEruB,EAAK,aAAE0gC,EAAY,MAAEj6B,GAAUm6B,EACjC7B,EAAe,IAAIv9B,KAAKxB,IACxB,QACL8G,EACAooB,cAAc,EAAED,IACbp0B,KAAKylC,gBAAgBzqC,GAGzB,GAAK+qC,EAAkB5lC,SAASmvB,KAAKgB,IAAIuV,EAAezR,GAAKp0B,KAAK+pC,uBAGlE,GAAKhE,EAAkB5lC,MAiBlB,CAKJ,GAHA+jC,EAAalvB,SAAS,EAAG/I,EAASA,IAAY+mB,IAAiB,EAAI,EAAG,GAGlEhzB,KAAKgmC,WAAY,CACpB,IAAIC,EAAwC,GAA1B/B,EAAatqB,WAAkBsqB,EAAarqB,aAC9D,MAAMqsB,EAAmBD,EAAcjmC,KAAKgmC,WAAa,EACzDC,EAAcC,EAAoBA,EAAmBlmC,KAAKgmC,WAC1D9B,EAAalvB,SAAS,EAAGixB,EAAa,EAAG,EAC1C,CAGA,MAAMiI,EAAiB/oC,EAAQ++B,GACzB,MAAE/jC,GAAU4lC,EAElB5lC,EAAMgF,MAAQ+oC,EAAiB/oC,EAAQ++B,EACvC/jC,EAAMiF,IAAM8oC,EAAiBhK,EAAe/+B,EAC5ChF,EAAM80B,iBAA4C,GAAzB90B,EAAMgF,MAAMyU,WAAkBzZ,EAAMgF,MAAM0U,aACnE1Z,EAAMssB,eAAwC,GAAvBtsB,EAAMiF,IAAIwU,WAAkBzZ,EAAMiF,IAAIyU,YAC9D,KArC8B,CAM7B,GAJAksB,EAAkB5lC,MAAQH,KAAKw8B,MAAMr8B,MAAMu1B,cAAcvwB,EAAO,EAAG,CAAEyG,WAIhEm6B,EAAkB5lC,MAItB,OAHA4lC,EAAkB5gC,MAAQ,KAC1B4gC,EAAkBn6B,MAAQ,UAC1Bm6B,EAAkB5lC,MAAQ,MAI3B4lC,EAAkB5lC,MAAMk1B,UAAW,CACpC,CAwBD,EAKAmY,eACC,MAAM,aAAEnM,EAAY,iBAAED,GAAqBphC,KAAKwzB,UAC1CrzB,EAAQH,KAAKmrB,KAAKlL,OAAO1b,MAAMvJ,GAAMA,EAAEg6B,QAAUqM,EAAarM,MAAQoM,EAAiBpM,QAC7FqM,EAAarM,KAAO,KACpBoM,EAAiBpM,KAAO,KAEpB70B,IACHA,EAAMs1B,SAAU,EAChBt1B,EAAMg1B,UAAW,EAEnB,EAKA8N,eACC,MAAM,iBAAE7B,GAAqBphC,KAAKwzB,UAClC,GAAI4N,EAAiBpM,KAAM,CAC1B,MAAM70B,EAAQH,KAAKmrB,KAAKlL,OAAO1b,MAAMvJ,GAAMA,EAAEg6B,OAASoM,EAAiBpM,OACnE70B,IAAOA,EAAMg1B,UAAW,GAE5BiM,EAAiBpM,KAAO,KACxBoM,EAAiBK,UAAY,IAC9B,CACD,EASA0M,iBAAiBnzC,EAAGmF,GAEnB,GAAIA,EAAMsG,QAAUzL,EAAEqS,OAAOxE,UAAW,OAExC,MAAMulC,EAAWjuC,EAAMsG,MACvBtG,EAAMsG,MAAQzL,EAAEqS,OAAOxE,UACvB,MAAMykC,EAAattC,KAAKy2B,aAAat2B,GAErCH,KAAKe,MAAM,qBAAsB,CAAEZ,MAAOmtC,EAAYc,aACtDpuC,KAAKe,MAAM,eAAgB,CAC1BZ,MAAOmtC,EACP5W,cAAe,IAAK4W,EAAY7mC,MAAO2nC,IAEzC,EASAC,sBAGC,MAAM1Z,EAAK30B,KAAKw8B,MAAMr0B,KACtBnI,KAAKs2B,cAAgB,GAKrBt2B,KAAKigB,OAAOjT,SAAS7M,IAEpB,MAAMgF,EAA+B,kBAAhBhF,EAAMgF,MAAqBwvB,EAAG7E,aAAa3vB,EAAMgF,OAAShF,EAAMgF,MAC/EixB,EAAazB,EAAGnE,eAAerrB,GAC/B8vB,EAAmBN,EAAGkB,cAAc1wB,GAG1C,IAAIC,EAAM,KAEe,kBAAdjF,EAAMiF,KAAoBjF,EAAMiF,IAAI5B,SAAS,UACvD4B,EAAM,IAAIuB,KAAKxG,EAAMiF,IAAI0I,QAAQ,SAAU,KAC3C1I,EAAI4P,SAAS,GAAI,GAAI,GAAI,IACnB5P,EAA2B,kBAAdjF,EAAMiF,IAAmBuvB,EAAG7E,aAAa3vB,EAAMiF,KAAOjF,EAAMiF,IAChF,IAAIixB,EAAW1B,EAAGnE,eAAeprB,GAC7BqnB,EAAiBkI,EAAGkB,cAAczwB,GAGjCqnB,GAAkBA,IAAmBuG,MAEpChzB,KAAKyQ,MAA8B,kBAAdtQ,EAAMiF,KAAyC,KAArBjF,EAAMiF,IAAIzD,OAC7DyD,EAAI4P,SAAS,GAAI,GAAI,GAAI,GACnB5P,EAAImmC,WAAWnmC,EAAIgtB,aAAe,GACzCiE,EAAW1B,EAAGnE,eAAeprB,GAC7BqnB,EAAiBuG,IAGlB,MAAMsb,EAAelY,IAAeC,EAEpCl2B,EAAQvE,OAAO8mC,OAAO,IAAK1iC,KAAKw8B,MAAMr8B,MAAM21B,eAAiB31B,EAAO,CAEnE60B,KAAO,GAAEh1B,KAAK+1B,EAAEC,OAAOh2B,KAAKi2B,qBAC5BtJ,SAAU2hB,EAAe,CAAC,EAAI,KAC9BnpC,QACA8vB,mBACA7vB,MACAqnB,iBACAC,UAAW4hB,EAAe3Z,EAAG5E,UAAU5qB,EAAOC,GAAO,EACrDxG,MAAOuB,EAAMvB,QAGdoB,KAAKs2B,cAAc9xB,KAAKrE,EAAM,GAEhC,EAQAslC,gBAAgBzqC,GACf,OAAOgF,KAAKw8B,MAAM5Q,KAAK6Z,gBAAgBzqC,EACxC,EAaAmuC,YAAYxT,EAAUruB,EAAUsuB,EAAe,CAAC,GAC/C,OAAO51B,KAAKw8B,MAAMr8B,MAAMu1B,cAAcC,EAAUruB,EAAUsuB,EAC3D,EAOAa,aAAat2B,GACZA,EAAQ,IAAKA,GAIb,MAAMouC,EAAe,CAAC,WAAY,YAAa,WAAY,gBAAiB,YAAa,WAAY,YAAa,WAAY,iBAAkB,WAOhJ,OANAA,EAAavhC,SAASwhC,IACjBA,KAAQruC,UAAcA,EAAMquC,EAAK,IAGjCruC,EAAM0b,eAAe1b,EAAM0b,OAEzB1b,CACR,EASAq2B,cAAciY,EAAWtuC,GACxBH,KAAKe,MAAM0tC,EAAWzuC,KAAKy2B,aAAat2B,GACzC,EAYAw9B,mBAAmBx1B,GAIlB,GAHsCA,EAAlCA,GAAwB,kBAATA,EAA0BnI,KAAKw8B,MAAMr0B,KAAK2nB,aAAa3nB,GAC9D,IAAIxB,KAAKwB,GAEjBA,GAAQA,aAAgBxB,KAAM,CACjC,MAAM,aAAE41B,GAAiBv8B,KAAKmrB,KAC1BoR,IAAcv8B,KAAKo8B,oBAAsBG,EAAahM,UAAYpoB,EAAKooB,UAAY,OAAS,SAGhGpoB,EAAK6M,SAAS,EAAG,EAAG,EAAG,GAElBunB,GAAgBA,EAAahM,YAAcpoB,EAAKooB,YAAWvwB,KAAKmrB,KAAKoR,aAAep0B,GACzFnI,KAAK89B,WAAW99B,KAAKmrB,KAAK/vB,GAC3B,CAEA4E,KAAKe,MAAM,uBAAwBf,KAAKmrB,KAAKoR,aAC9C,EAeAmS,cAAcC,GACb,MAAMha,EAAK30B,KAAKw8B,MAAMr0B,KAChBymC,EAAsB5uC,KAAK6uC,wBAC3BC,EAAoBF,EAAsBD,EAC1C7C,EAAW9rC,KAAK+8B,kBAAoB,EAAI,EAE9C,OAAI+R,EAAoB,GAChBna,EAAGvG,QAAQuG,EAAG/G,QAAQ5tB,KAAKmrB,KAAKyf,cAAe,EAAI+D,EAAoB7C,IACjEgD,CACf,EAOAC,WAEC/uC,KAAKitB,IAAM,IAAItmB,KACf3G,KAAK8qC,cAAc,GAAKhvB,WAAW9b,KAAK+uC,SAAU,IACnD,EAMAC,kBACChvC,KAAKw8B,MAAMr0B,KAAKqmB,YAAYxuB,KAAKwtB,MAClC,EASAyhB,qBAiBA,EAUAC,qBAAqBjvB,EAAQrU,EAAQ,MACpC,OAAOqU,EAAOte,UAAaiK,GAASqU,EAAOte,QAAYiK,GAASqU,EAAOljB,MAAM/B,GAAMA,EAAE4Q,QAAUA,EAAMxQ,KACtG,GAGDyP,UACC7K,KAAKw8B,MAAM5Q,KAAO,IAAIqH,GAAUjzB,MAChCA,KAAKw8B,MAAMr8B,MAAQ,IAAI20B,GAAW90B,KAAMA,KAAKw8B,MAAMr0B,MAEnDnI,KAAKmvC,WAAWnvC,KAAK6G,QAEjB7G,KAAKw9B,WAAW/C,MAAMz6B,KAAKirC,kBAG/BjrC,KAAKquC,oBAAoBruC,KAAKigB,QAE9BjgB,KAAKmrB,KAAK/vB,GAAK4E,KAAKovC,YAChBpvC,KAAKu8B,aAAcv8B,KAAK29B,mBAAmB39B,KAAKu8B,eAEnDv8B,KAAKmrB,KAAKoR,aAAe,IAAI51B,KAC7B3G,KAAK89B,WAAW99B,KAAKovC,cAIlBpvC,KAAKyQ,MAAQzQ,KAAK0qC,gBAGrB1qC,KAAK8qC,cAAc,GAAKhvB,WAAW9b,KAAK+uC,SAAyC,KAA9B,GAAK/uC,KAAKitB,IAAImF,eAEnE,EAEAvyB,UACC,MAAM80B,EAAK30B,KAAKw8B,MAAMr0B,KAChBknC,EAAW,iBAAkBvvC,QAC7B,OAAEikC,EAAM,KAAEtJ,EAAI,OAAEkL,EAAQjF,OAAQ14B,EAAS,MAAEvB,GAAUzG,KAAKw9B,WAC1D8R,EAAuBtvC,KAAKgiC,cAA6C,oBAAtBhiC,KAAKgiC,cAG1D+B,GAAUtJ,GAAQkL,GAAU39B,GAAavB,GAAS6oC,IACrDxvC,OAAOC,iBAAiBsvC,EAAW,WAAa,UAAWrvC,KAAK0hC,YAE7DqC,GAAUtJ,GAASkL,GAAU3lC,KAAK8lC,oBACrChmC,OAAOC,iBAAiBsvC,EAAW,YAAc,YAAarvC,KAAK2sC,YAAa,CAC/E4C,SAAS,IAIP9oC,GAAO3G,OAAOC,iBAAiB,QAASC,KAAK2tC,SAG7C0B,IACHrvC,KAAKyE,MAAMyuB,OAAOsc,cAAgB,SAAUx0C,GAC3CA,EAAE6mC,iBACF7mC,EAAE8rC,iBACH,GAOD,MAAM9L,EAAYh7B,KAAKmrB,KAAK6P,UACtBpd,EAAS,CACduN,KAAMnrB,KAAKmrB,KAAK/vB,GAChB4/B,YACAiM,QAASjnC,KAAKmrB,KAAK8b,WACfjnC,KAAKs+B,YAAc,CAAEsM,cAAe5qC,KAAKmrB,KAAKyf,cAAeC,aAAc7qC,KAAKmrB,KAAK0f,cAAiB,CAAC,EAC3G5qB,OAAQjgB,KAAKmrB,KAAKlL,OAAO1kB,IAAIyE,KAAKy2B,iBAC9Bz2B,KAAKq+B,WACN,CACAxS,KAAM8I,EAAGvG,QAAQpuB,KAAK+8B,kBAAoBpI,EAAG/G,QAAQoN,EAAW,GAAKA,IAErE,CAAC,GAGLh7B,KAAKyE,MAAM,iBAAiB1E,iBAAiB,UAAU,KAEtDC,KAAKyE,MAAM,yBAAyBwL,MAAM4jB,IAAO,GAAE7zB,KAAKyE,MAAM,iBAAiBmnC,aAAY,IAG5F5rC,KAAKyvC,uBAAyBzvC,KAAKyE,MAAM,iBAAiBsvB,wBAAwBF,IAClF7zB,KAAKyE,MAAM,iBAAiBmnC,UAAY5rC,KAAK2pC,aAAe3pC,KAAKs0B,eAEjEt0B,KAAKe,MAAM,QAAS6c,GACpB5d,KAAK2qC,OAAQ,CACd,EAEA3xB,gBACC,MAAMq2B,EAAW,iBAAkBvvC,OACnCA,OAAO4vC,oBAAoBL,EAAW,YAAc,YAAarvC,KAAK2sC,YAAa,CAClF4C,SAAS,IAEVzvC,OAAO4vC,oBAAoBL,EAAW,WAAa,UAAWrvC,KAAK0hC,WACnE5hC,OAAO4vC,oBAAoB,QAAS1vC,KAAK2tC,SAGrC3tC,KAAK8qC,cAAc,IAAI2C,aAAaztC,KAAK8qC,cAAc,IACvD9qC,KAAK8qC,cAAc,IAAI2C,aAAaztC,KAAK8qC,cAAc,IAC3D9qC,KAAK8qC,cAAgB,CAAC,KAAM,KAC7B,EAEA5nC,SAAU,CACTs6B,aACC,OAAIx9B,KAAKgqC,gBAAiD,kBAAxBhqC,KAAKgqC,eAC/B,CACNvjC,QAASzG,KAAKgqC,eAAevjC,MAC7Bg0B,OAAQz6B,KAAKgqC,eAAevP,KAC5BsJ,SAAU/jC,KAAKgqC,eAAejG,OAC9B4B,SAAU3lC,KAAKgqC,eAAerE,OAC9BjF,SAAU1gC,KAAKgqC,eAAetJ,QAIzB,CACNj6B,QAASzG,KAAKgqC,eACdvP,OAAQz6B,KAAKgqC,eACbjG,SAAU/jC,KAAKgqC,eACfrE,SAAU3lC,KAAKgqC,eACftJ,SAAU1gC,KAAKgqC,eAEjB,EACAhf,QACC,MAAO,CACNie,MAAO,CAAErnC,MAAO5B,KAAKwtB,MAAMyb,MAAO5O,SAAUr6B,KAAK8pC,aAAatmC,SAAS,UACvEgsB,KAAM,CAAE5tB,MAAO5B,KAAKwtB,MAAMgC,KAAM6K,SAAUr6B,KAAK8pC,aAAatmC,SAAS,SACrE0lC,MAAO,CAAEtnC,MAAO5B,KAAKwtB,MAAM0b,MAAO7O,SAAUr6B,KAAK8pC,aAAatmC,SAAS,UACvEqoB,KAAM,CAAEjqB,MAAO5B,KAAKwtB,MAAM3B,KAAMwO,SAAUr6B,KAAK8pC,aAAatmC,SAAS,SACrEupB,IAAK,CAAEnrB,MAAO5B,KAAKwtB,MAAMT,IAAKsN,SAAUr6B,KAAK8pC,aAAatmC,SAAS,QAErE,EACA4rC,cACC,OAAOpvC,KAAKmrC,aAAanrC,KAAK0pC,WAC/B,EACAzL,eACC,OAAOriC,OAAOT,KAAK6E,KAAKgrB,OAAOznB,QAAQ4nB,GAASnrB,KAAKgrB,MAAMG,GAAMkP,SAClE,EACAsV,gBACC,OAAO3vC,KAAKyQ,MAAQzQ,KAAKsnC,eAC1B,EACAsI,mBACC,OAAO5vC,KAAKs+B,aAA0C,UAA3Bt+B,KAAK2/B,iBACjC,EACAkP,0BACC,MAAMla,EAAK30B,KAAKw8B,MAAMr0B,KAChBA,EAAOnI,KAAKmrB,KAAKyf,cACvB,OAAOjW,EAAGvG,QAAQpuB,KAAK+8B,kBAAoBpI,EAAG/G,QAAQzlB,EAAM,GAAKA,EAClE,EAEAs3B,YACC,MAAMA,EAAY,GAClB,IAAK,IAAI95B,EAAI3F,KAAKu0B,SAAUE,EAAMz0B,KAAKojC,OAAQz9B,EAAI8uB,EAAK9uB,GAAK3F,KAAKqwB,SACjEoP,EAAUj7B,KAAK,CACduH,MAAOujB,KAAKwD,MAAMntB,EAAI,IACtBsG,QAAStG,EAAI,GACb/D,MAAO5B,KAAKw8B,MAAMr0B,KAAKqkB,WAAW7mB,EAAG3F,KAAK6vC,YAC1CjtC,MAAO+C,IAIT,OAAO85B,CACR,EACAoQ,aACC,OAAO7vC,KAAKwqC,aAAexqC,KAAKyqC,WAAa,WAAa,QAC3D,EAEAvO,YACC,OAAQl8B,KAAKuqC,UAAUhnC,QAAQy1B,IAAUA,EAAKsC,QAAS,IAAI//B,KAAI,CAACy9B,EAAMrzB,KAAM,IACxEqzB,EACH59B,GAAI49B,EAAK59B,IAAMuK,EAAI,KAErB,EAEAq2B,YACC,OAAOh8B,KAAKk8B,UAAUv6B,QAAU3B,KAAKsnC,eACtC,EACAwI,iBACC,MAAiC,UAA1B9vC,KAAK6nC,gBACb,EAEAc,sBACC,IAAIoH,EAAW,KAKf,OAHI/vC,KAAKg8B,WAAah8B,KAAKm+B,cAAe4R,EAAW/vC,KAAKgwC,iBAAmBhwC,KAAKm+B,cAAgBn+B,KAAKk8B,UAAUv6B,OACxG3B,KAAK6oC,cAAgB7oC,KAAKq+B,aAAY0R,EAAW/vC,KAAKgwC,iBAAmBhwC,KAAK6oC,cAEhFkH,CACR,EACAE,YACC,IAAI3uC,EAAStB,KAAK4pC,iBAAmB,KAGrC,OAFItoC,IAAW4uC,MAAM5uC,KAASA,GAAU,MAEjC,CACNmnC,MAAOzoC,KAAKmwC,UACZlyB,QAASje,KAAKsK,OACd1I,MAAO5B,KAAKwtB,MAAM7B,OAClB+c,YAAa1oC,KAAK8vC,eAClB5T,UAAYl8B,KAAKg8B,WAAah8B,KAAKk8B,WAAc,GACjDyM,oBAAqB3oC,KAAK2oC,oBAC1BrnC,SAEF,EACAi9B,eACC,IAAIp2B,EAAO,KAGX,OAFInI,KAAKoqC,SAAmC,kBAAjBpqC,KAAKoqC,QAAsBjiC,EAAOnI,KAAKw8B,MAAMr0B,KAAK2nB,aAAa9vB,KAAKoqC,SACtFpqC,KAAKoqC,SAAWpqC,KAAKoqC,mBAAmBzjC,OAAMwB,EAAOnI,KAAKoqC,SAC5DjiC,EAAOA,EAAKooB,UAAY,IAChC,EACAiO,eACC,IAAIr2B,EAAO,KAGX,OAFInI,KAAKmqC,SAAmC,kBAAjBnqC,KAAKmqC,QAAsBhiC,EAAOnI,KAAKw8B,MAAMr0B,KAAK2nB,aAAa9vB,KAAKmqC,SACtFnqC,KAAKmqC,SAAWnqC,KAAKoqC,mBAAmBzjC,OAAMwB,EAAOnI,KAAKmqC,SAC5DhiC,EAAOA,EAAKooB,UAAY,IAChC,EACAqC,WACC,IAAI,SAAEA,EAAQ,cAAEoW,EAAgB,IAAOhpC,KAAKwtB,MAW5C,OARAoF,EAAWA,EAASxkB,MAAM,GAAG7S,KAAI,CAACwxB,EAAKpnB,KAAM,CAC5C/D,MAAOmrB,KACHic,EAAcrnC,OAAS,CAAEq7B,MAAOgM,EAAcrjC,IAAO,CAAC,EAC1D21B,KAAOt7B,KAAKkqC,cAAgBvkC,GAAK,GAAO3F,KAAKq9B,aAAa17B,QAAU3B,KAAKq9B,aAAa75B,SAASmC,EAAI,OAGhG3F,KAAK+8B,mBAAmBnK,EAASwd,QAAQxd,EAASyd,OAE/Czd,CACR,EACA3H,mBACC,OACCjrB,KAAKs+B,aAEJt+B,KAAKq+B,aAAer+B,KAAK6oC,gBAAkB7oC,KAAKg8B,WAAah8B,KAAKm+B,cAErE,EACAzL,SACC,OAAO1yB,KAAKwtB,MAAMkF,OAAOn3B,KAAK2tC,IAAK,CAAQtnC,MAAOsnC,KACnD,EAEAoH,kBACC,OAAKtwC,KAAKunC,cAAiB3rC,OAAOT,KAAK6E,KAAKunC,cAAc5lC,OAEnD6I,MAAM,GACXu+B,KAAK,IACLxtC,KAAI,CAACqwB,EAAMjmB,KACX,IAAIonB,EAAM/sB,KAAKunC,aAAa5hC,EAAI,IAAM,GAatC,OAZK6E,MAAMi5B,QAAQ1W,KAAMA,EAAM,CAACA,IAChCnB,EAAO,GAEPmB,EAAI/f,SAAQ,EAAGmQ,OAAMD,KAAIte,MAAO6tC,EAAO7qC,SAASg+B,KAC/ChU,EAAKgU,GAAK,CACT7S,IAAKpnB,EAAI,EACTwX,KAAO,CAAC,UAAM/P,GAAW5J,SAAS2Z,GAAmB,KAAJ,EAAPA,EAC1CD,GAAK,CAAC,UAAM9P,GAAW5J,SAAS0Z,GAAe,KAAJ,EAALA,EACtCte,MAAO6tC,GAAS,GAChB7qC,MAAOA,GAAS,GAChB,IAEKgqB,CAAG,IAlB6D,CAAC,CAoB3E,EACA2kB,YACC,MAAM5b,EAAK30B,KAAKw8B,MAAMr0B,KACtB,IAAI1B,EAAQ,GACZ,MAAM0B,EAAOnI,KAAKmrB,KAAK6P,UACjBxL,EAAOrnB,EAAKwmB,cACZua,EAAQ/gC,EAAKymB,WAEnB,OAAQ5uB,KAAKmrB,KAAK/vB,IACjB,IAAK,QACJqL,EAAQzG,KAAKwtB,MAAMyb,MACnB,MAED,IAAK,OACJxiC,EAAQ+oB,EACR,MAED,IAAK,QACJ/oB,EAAS,GAAEzG,KAAK0yB,OAAOwW,GAAOtnC,SAAS4tB,IACvC,MAED,IAAK,OAAQ,CACZ,MAAMghB,EAAgBxwC,KAAKmrB,KAAK8b,QAC1BwJ,EAAKtoC,EAAKwmB,cAChB,IAAI+hB,EAAK1wC,KAAKwtB,MAAMkF,OAAOvqB,EAAKymB,YAC5B5uB,KAAK+7B,SAAQ2U,EAAKA,EAAGnpC,UAAU,EAAG,IACtC,IAAIopC,EAAsB,GAAED,KAAMD,IAGlC,GAAID,EAAc5hB,aAAezmB,EAAKymB,WAAY,CACjD,MAAMgiB,EAAKJ,EAAc7hB,cACzB,IAAIkiB,EAAK7wC,KAAKwtB,MAAMkF,OAAO8d,EAAc5hB,YACrC5uB,KAAK+7B,SAAQ8U,EAAKA,EAAGtpC,UAAU,EAAG,IACvBopC,EAAXF,IAAOG,EAA0B,GAAEF,OAAQG,KAAMJ,IAEhDzwC,KAAK87B,MAA6B,GAAE4U,EAAGnpC,UAAU,EAAG,MAAMkpC,OAAQI,EAAGtpC,UAAU,EAAG,MAAMqpC,IACjE,GAAEF,KAAMD,OAAQI,KAAMD,GAEnD,CACAnqC,EAAS,GAAEzG,KAAKwtB,MAAM3B,QAAQ8I,EAAGvG,QAAQpuB,KAAK+8B,kBAAoBpI,EAAG/G,QAAQzlB,EAAM,GAAKA,OAAUwoC,KAClG,KACD,CACA,IAAK,MACJlqC,EAAQzG,KAAKw8B,MAAMr0B,KAAK4I,WAAW5I,EAAMnI,KAAKwtB,MAAM4b,WAAYppC,KAAKwtB,OACrE,MAIF,OAAO/mB,CACR,EACA0pC,YACC,MAAMxb,EAAK30B,KAAKw8B,MAAMr0B,KACtB,IAAIsgC,EAAQ,GACRqI,EAAW,KACXhU,GAAa,EAMZ98B,KAAK0qC,gBAAe1qC,KAAKitB,IAAM,IAAItmB,MACxC,MAAMsmB,EAAMjtB,KAAKitB,IAIjB,OAAQjtB,KAAKmrB,KAAK/vB,IACjB,IAAK,QACJ01C,EAAW9wC,KAAKmrB,KAAK6P,UAAUrM,cAC/B8Z,EAAQj+B,MAAMumC,MAAM,KAAMvmC,MAAM,KAAKjP,KAAI,CAACqwB,EAAMjmB,KAC/C,MAAMq1B,EAAY,IAAIr0B,KAAKmqC,EAAWnrC,EAAG,EAAG,GACtCshC,EAAU,IAAItgC,KAAKmqC,EAAWnrC,EAAI,EAAG,EAAG,GAG9C,OAFAshC,EAAQsE,YAAY,GAEb,CACNvQ,YACApO,cAAe+H,EAAGnE,eAAewK,GACjCiM,UACAzlC,QAASsvC,EAAWnrC,EACpBwiC,QAAS2I,EAAWnrC,IAAMsnB,EAAI0B,cAC9B,IAEF,MAED,IAAK,OACJmiB,EAAW9wC,KAAKmrB,KAAK6P,UAAUrM,cAC/B8Z,EAAQj+B,MAAMumC,MAAM,KAAMvmC,MAAM,KAAKjP,KAAI,CAACqwB,EAAMjmB,KAC/C,MAAMq1B,EAAY,IAAIr0B,KAAKmqC,EAAUnrC,EAAG,GAClCshC,EAAU,IAAItgC,KAAKmqC,EAAUnrC,EAAI,EAAG,GAG1C,OAFAshC,EAAQsE,YAAY,GAEb,CACNvQ,YACApO,cAAe+H,EAAGnE,eAAewK,GACjCiM,UACAzlC,QAASxB,KAAK+7B,OAAS/7B,KAAK0yB,OAAO/sB,GAAG/D,MAAMixB,OAAO,EAAG,GAAK7yB,KAAK0yB,OAAO/sB,GAAG/D,MAC1EumC,QAASxiC,IAAMsnB,EAAI2B,YAAckiB,IAAa7jB,EAAI0B,cAClD,IAEF,MAED,IAAK,QAAS,CACb,MAAMua,EAAQlpC,KAAKmrB,KAAK6P,UAAUpM,WAC5Bgc,EAAgB,IAAIjkC,KAAK3G,KAAKmrB,KAAKyf,eACzC9N,GAAa,EAGb2L,EAAQj+B,MAAMumC,MAAM,KAAMvmC,MAAM,KAAKjP,KAAI,CAACqwB,EAAMjmB,KAC/C,MAAMq1B,EAAYrG,EAAG/G,QAAQgd,EAAejlC,GACtCshC,EAAU,IAAItgC,KAAKq0B,GACzBiM,EAAQjyB,SAAS,GAAI,GAAI,GAAI,GAE7B,MAAMqZ,GAAWyO,GAAcnI,EAAGtG,QAAQ2M,KAAe8B,IAEzD,MAAO,CACN9B,YACApO,cAAe+H,EAAGnE,eAAewK,GACjCiM,UACAzlC,QAASw5B,EAAUtM,UACnB6M,MAAOlN,EACP+Z,WAAYpN,EAAUpM,aAAesa,EACrCtqC,MAAQ,oBAAmBo8B,EAAUnL,UAAY,IACjD,KAGE7vB,KAAKkqC,cAAgBlqC,KAAKq9B,aAAa17B,UAC1C8mC,EAAQA,EAAMllC,QAAQqoB,IACrB,MAAMmB,EAAMnB,EAAKoP,UAAUnL,UAAY,EAEvC,QAAU7vB,KAAKkqC,cAAgBnd,GAAO,GAAO/sB,KAAKq9B,aAAa17B,QAAU3B,KAAKq9B,aAAa75B,SAASupB,GAAM,KAG5G,KACD,CACA,IAAK,OAAQ,CACZ+P,GAAiB,EACjB,IAAIkU,EAAmBhxC,KAAKmrB,KAAK6P,UACjC,MAAMpI,EAAc5yB,KAAK4yB,SAmBzB6V,EAAQ7V,EACNr3B,KAAI,CAACqwB,EAAMjmB,KAEX,MAAMq1B,EAAYrG,EAAG/G,QAAQojB,EAAgBhxC,KAAK+8B,kBAAoBp3B,EAAI,EAAIA,GACxEshC,EAAU,IAAItgC,KAAKq0B,GACzBiM,EAAQjyB,SAAS,GAAI,GAAI,GAAI,GAC7B,MAAMi8B,GAAajW,EAAUnL,UAAY,GAAK,EAE9C,MAAO,CACNmL,YACApO,cAAe+H,EAAGnE,eAAewK,GACjCiM,UAEA1L,OAAQuB,GAAcnI,EAAGtG,QAAQ2M,KAAe8B,IAChDyK,aAAcvnC,KAAKswC,gBAAgBW,IAAc,GACjD,IAED1tC,QAAO,CAACqoB,EAAMjmB,KAAOitB,EAASjtB,GAAG21B,OAInC,KACD,CACA,IAAK,MAAO,CACX,MAAMN,EAAYh7B,KAAKmrB,KAAK6P,UACtBiM,EAAU,IAAItgC,KAAK3G,KAAKmrB,KAAK6P,WACnCiM,EAAQjyB,SAAS,GAAI,GAAI,GAAI,GAC7B,MAAMi8B,GAAajW,EAAUnL,UAAY,GAAK,EAE9C4Y,EAAQ,CACP,CACCzN,YACApO,cAAe+H,EAAGnE,eAAewK,GACjCiM,UACA1L,MAAO5G,EAAGtG,QAAQ2M,GAClBuM,aAAcvnC,KAAKswC,gBAAgBW,IAAc,KAGnD,KACD,EAGD,OAAOxI,CACR,EAEAuH,mBACC,OAAIhwC,KAAKkxC,UAAkB,EACpB,EAAIlxC,KAAK4yB,SAASsK,QAAO,CAACC,EAAOpQ,IAAQoQ,EAAQpQ,EAAIuO,MAAM,EACnE,EACA2B,YACC,OAAO,IAAMj9B,KAAKgwC,gBACnB,EACAmB,aACC,MAAM,cAAE7P,EAAa,YAAEC,EAAW,kBAAEwE,GAAsB/lC,KAAKwzB,UAC/D,MAAO,CACN,CAAE,WAAUxzB,KAAKmrB,KAAK/vB,YAAY,EAClC,CAAE,WAAU4E,KAAK6G,UAAW7G,KAAK6G,OACjC,mBAAoB7G,KAAKyQ,KACzB,yBAA0BzQ,KAAK2vC,cAC/B,uBAAwB3vC,KAAKsqC,iBAAmBtqC,KAAKs+B,YACrD,sBAAuBt+B,KAAKyqC,WAC5B,4BAA6BzqC,KAAKqzB,gBAClC,wBAAyBrzB,KAAKkqC,aAC9B,qBAAsBlqC,KAAKg8B,UAC3B,8BAA+Bh8B,KAAKg8B,WAAah8B,KAAKi8B,kBACtD,qBAAuBj8B,KAAK6oC,cAAgB7oC,KAAKq+B,YAAgBr+B,KAAKg8B,WAAah8B,KAAKm+B,cACxF,gBAAiBn+B,KAAK87B,MACtB,iBAAkB97B,KAAK+7B,OACvB,yBAA0BuF,EAActM,KACxC,8BAA+B+Q,EAAkB5lC,MACjD,yBAA0BohC,EAAYvM,KACtC,+BAAgCh1B,KAAK2/B,kBACrC,uBAAwB3/B,KAAKs+B,aAA0C,UAA3Bt+B,KAAK2/B,kBACjD,oBAAuC,qBAAX7/B,QAA0B,iBAAkBA,OAE1E,EACAsnC,oBACC,MAAO,CAAC,QAAS,QAAQ5jC,SAASxD,KAAKmrB,KAAK/vB,GAC7C,EACAg2C,cACC,MAAwB,UAAjBpxC,KAAKmrB,KAAK/vB,EAClB,EACAi2C,aACC,MAAwB,SAAjBrxC,KAAKmrB,KAAK/vB,EAClB,EACAkjC,cACC,MAAwB,UAAjBt+B,KAAKmrB,KAAK/vB,EAClB,EACAksC,kBACC,MAAO,CAAC,OAAQ,OAAO9jC,SAASxD,KAAKmrB,KAAK/vB,GAC3C,EACAijC,aACC,MAAwB,SAAjBr+B,KAAKmrB,KAAK/vB,EAClB,EACA81C,YACC,MAAwB,QAAjBlxC,KAAKmrB,KAAK/vB,EAClB,GAGDiJ,MAAO,CACN4b,OAAQ,CAEP3K,QAAQ2K,EAAQqxB,GACftxC,KAAKquC,oBAAoBpuB,GACzBjgB,KAAKu2B,iBACN,EACA/gB,MAAM,GAEP3O,OAAOA,GACN7G,KAAKmvC,WAAWtoC,EACjB,EACA01B,aAAap0B,GACZnI,KAAK29B,mBAAmBx1B,EACzB,EACAuhC,WAAW6H,GACVvxC,KAAK89B,WAAWyT,EACjB,Ic9tDF,MAAM,IAA2B,OAAgB,GAAQ,CAAC,CAAC,SAAS,MAEpE,UCHA,IACCxzB,QAAUC,IAETA,EAAIxB,UAAU,UAAWg1B,GAAO,G,wFCwBlC11C,IACAM,IAEA,MAAM6hB,GAAmB,CACxBV,MAAO,CACN3d,UAAU,GAEXqiB,KAAM,CACLzB,UAAW,CACV,CACC/Z,MAAO,YAAa8a,KAAM,KAAM3e,MAAO,OAGzC6d,gBAAiB,MAElBV,OAAQ,CACPzD,OAAQ,CASP,yBAAyB,EACzB,yBAAyB,KAMtB0B,IAAMyzB,EAAAA,EAAAA,IAAUC,IACpB1vB,IAAIpF,IACJoF,IAAI1E,IACJ0E,IAAI2vB,IACJ3vB,IAAI4vB,GAAG3zB,IACP+D,IAAI6vB,EAAAA,IACJ7vB,IAAI8vB,GACJ9vB,IAAI+vB,IACJ/vB,IAAIyI,IACJzI,IAAIwF,IAAQ,CACZvY,MAAO,YAEP+iC,MAAM,QAGK9pB,GAAKlK,GAAIi0B,MAAMpuC,C,mDC5E5B,QACC/B,YAAYowC,GAEX,OAAOt2C,OAAOokB,OAAOkyB,GAAQ32C,KAAI2F,IAASgnB,EAAAA,EAAAA,IAAGhnB,GAAOixC,YAAW3zB,KAAK,KACrE,E,mCCND,QACCte,QAAS,CACRkyC,aAAapZ,EAAM/rB,GAElB,MAAMolC,EAAiBrZ,EAAKnrB,UAAU,OAAOC,QAAQ,mBAAoB,IACnEH,EAAkBV,EAAMY,UAAU,OAAOC,QAAQ,mBAAoB,IAGrEJ,EAAU,iBACV4kC,EAAcD,EAAevkC,QAAQJ,EAAS,IAC9C6kC,EAAe5kC,EAAgBG,QAAQJ,EAAS,IAGtD,OAAO4kC,EAAYpkC,cAAc1K,SAAS+uC,EAAarkC,gBAA2B,KAAT8qB,CAC1E,G,6DCZF,QACCwZ,gBAAgBvwC,GACf,OAAOA,EAAU1G,KAAI2G,IAAY,IAC7BA,EACHG,UAAW,GAAIH,EAAS9C,QAAU8C,EAASsO,UAC3CF,UAAWpO,EAAS9C,KAAKmR,OAAO,GAAKrO,EAASsO,QAAQD,OAAO,MAE/D,EAEArL,eAAeiD,GAEd,OADA2D,IAAO3D,GACA2D,IAAO3D,GAAMvB,OAAO,oBAC5B,EAEA6rC,yBAAyBtqC,GACxB,OAAO2D,IAAO3D,GAAMvB,OAAO,sBAC5B,EAEAmK,WAAW5I,GACV,OAAO2D,IAAO3D,GAAMvB,OAAO,aAC5B,EAEA8rC,SAASvqC,EAAMwqC,EAAY,MAC1B,OAAO7mC,IAAO3D,GAAMuqC,SAAS5mC,IAAO6mC,GACrC,EAEAjmC,QAAQvE,EAAMwqC,EAAY7mC,OACzB,OAAOA,IAAO3D,GAAMuE,QAAQZ,IAAO6mC,GACpC,E,uBC9BD,IAAIp3C,EAAM,CACT,YAAa,MACb,YAAa,OAId,SAASC,EAAeZ,GACvB,IAAIQ,EAAKK,EAAsBb,GAC/B,OAAOc,EAAoBN,EAC5B,CACA,SAASK,EAAsBb,GAC9B,IAAIc,EAAoBC,EAAEJ,EAAKX,GAAM,CACpC,IAAII,EAAI,IAAIC,MAAM,uBAAyBL,EAAM,KAEjD,MADAI,EAAEE,KAAO,mBACHF,CACP,CACA,OAAOO,EAAIX,EACZ,CACAY,EAAeL,KAAO,WACrB,OAAOS,OAAOT,KAAKI,EACpB,EACAC,EAAeV,QAAUW,EACzBJ,EAAOC,QAAUE,EACjBA,EAAeJ,GAAK,I,wBCvBpB,IAAIG,EAAM,CACT,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,KAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,KAED,YAAa,CACZ,MACA,KAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,KACA,MAED,YAAa,CACZ,MACA,KAED,YAAa,CACZ,KACA,MAED,YAAa,CACZ,MACA,IAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,GAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,KAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,KACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,eAAgB,CACf,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,KAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,IACA,KAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,KACA,MAED,YAAa,CACZ,MACA,MAED,YAAa,CACZ,MACA,MAED,eAAgB,CACf,MACA,MAED,eAAgB,CACf,MACA,MAGF,SAASq3C,EAAoBh4C,GAC5B,IAAIc,EAAoBC,EAAEJ,EAAKX,GAC9B,OAAOC,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBL,EAAM,KAEjD,MADAI,EAAEE,KAAO,mBACHF,CACP,IAGD,IAAI63C,EAAMt3C,EAAIX,GAAMQ,EAAKy3C,EAAI,GAC7B,OAAOn3C,EAAoBV,EAAE63C,EAAI,IAAI93C,MAAK,WACzC,OAAOW,EAAoBmI,EAAEzI,EAAI,GAClC,GACD,CACAw3C,EAAoBz3C,KAAO,WAAa,OAAOS,OAAOT,KAAKI,EAAM,EACjEq3C,EAAoBx3C,GAAK,MACzBC,EAAOC,QAAUs3C,C,40CCrLbE,EAA2B,CAAC,EAGhC,SAASp3C,EAAoBq3C,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqB3lC,IAAjB4lC,EACH,OAAOA,EAAa13C,QAGrB,IAAID,EAASy3C,EAAyBC,GAAY,CACjD33C,GAAI23C,EACJE,QAAQ,EACR33C,QAAS,CAAC,GAUX,OANA43C,EAAoBH,GAAUI,KAAK93C,EAAOC,QAASD,EAAQA,EAAOC,QAASI,GAG3EL,EAAO43C,QAAS,EAGT53C,EAAOC,OACf,CAGAI,EAAoB0jB,EAAI8zB,E,WC5BxB,IAAIE,EAAW,GACf13C,EAAoB23C,EAAI,SAASphB,EAAQqhB,EAAUlY,EAAImY,GACtD,IAAGD,EAAH,CAMA,IAAIE,EAAeC,IACnB,IAAS9tC,EAAI,EAAGA,EAAIytC,EAASzxC,OAAQgE,IAAK,CACrC2tC,EAAWF,EAASztC,GAAG,GACvBy1B,EAAKgY,EAASztC,GAAG,GACjB4tC,EAAWH,EAASztC,GAAG,GAE3B,IAJA,IAGI+tC,GAAY,EACP9T,EAAI,EAAGA,EAAI0T,EAAS3xC,OAAQi+B,MACpB,EAAX2T,GAAsBC,GAAgBD,IAAa33C,OAAOT,KAAKO,EAAoB23C,GAAGM,OAAM,SAASvxC,GAAO,OAAO1G,EAAoB23C,EAAEjxC,GAAKkxC,EAAS1T,GAAK,IAChK0T,EAAShxC,OAAOs9B,IAAK,IAErB8T,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbN,EAAS9wC,OAAOqD,IAAK,GACrB,IAAIiuC,EAAIxY,SACEhuB,IAANwmC,IAAiB3hB,EAAS2hB,EAC/B,CACD,CACA,OAAO3hB,CArBP,CAJCshB,EAAWA,GAAY,EACvB,IAAI,IAAI5tC,EAAIytC,EAASzxC,OAAQgE,EAAI,GAAKytC,EAASztC,EAAI,GAAG,GAAK4tC,EAAU5tC,IAAKytC,EAASztC,GAAKytC,EAASztC,EAAI,GACrGytC,EAASztC,GAAK,CAAC2tC,EAAUlY,EAAImY,EAwB/B,C,eC5BA73C,EAAoBm4C,EAAI,SAASx4C,GAChC,IAAIy4C,EAASz4C,GAAUA,EAAO04C,WAC7B,WAAa,OAAO14C,EAAO,UAAY,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAK,EAAoBwK,EAAE4tC,EAAQ,CAAExpB,EAAGwpB,IAC5BA,CACR,C,eCPA,IACIE,EADAC,EAAWr4C,OAAOs4C,eAAiB,SAASC,GAAO,OAAOv4C,OAAOs4C,eAAeC,EAAM,EAAI,SAASA,GAAO,OAAOA,EAAIC,SAAW,EAQpI14C,EAAoBmI,EAAI,SAASjB,EAAOyxC,GAEvC,GADU,EAAPA,IAAUzxC,EAAQ5C,KAAK4C,IAChB,EAAPyxC,EAAU,OAAOzxC,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPyxC,GAAazxC,EAAMmxC,WAAY,OAAOnxC,EAC1C,GAAW,GAAPyxC,GAAoC,oBAAfzxC,EAAM7H,KAAqB,OAAO6H,CAC5D,CACA,IAAI0xC,EAAK14C,OAAO+pC,OAAO,MACvBjqC,EAAoBk4C,EAAEU,GACtB,IAAIC,EAAM,CAAC,EACXP,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAI9L,EAAiB,EAAPkM,GAAYzxC,EAAyB,iBAAXulC,KAAyB6L,EAAe3pC,QAAQ89B,GAAUA,EAAU8L,EAAS9L,GACxHvsC,OAAO44C,oBAAoBrM,GAASn7B,SAAQ,SAAS5K,GAAOmyC,EAAInyC,GAAO,WAAa,OAAOQ,EAAMR,EAAM,CAAG,IAI3G,OAFAmyC,EAAI,WAAa,WAAa,OAAO3xC,CAAO,EAC5ClH,EAAoBwK,EAAEouC,EAAIC,GACnBD,CACR,C,eCxBA54C,EAAoBwK,EAAI,SAAS5K,EAASm5C,GACzC,IAAI,IAAIryC,KAAOqyC,EACX/4C,EAAoBC,EAAE84C,EAAYryC,KAAS1G,EAAoBC,EAAEL,EAAS8G,IAC5ExG,OAAO84C,eAAep5C,EAAS8G,EAAK,CAAEuyC,YAAY,EAAM5W,IAAK0W,EAAWryC,IAG3E,C,eCPA1G,EAAoBk5C,EAAI,CAAC,EAGzBl5C,EAAoBV,EAAI,SAAS65C,GAChC,OAAOh6C,QAAQ+uB,IAAIhuB,OAAOT,KAAKO,EAAoBk5C,GAAG1X,QAAO,SAAS4X,EAAU1yC,GAE/E,OADA1G,EAAoBk5C,EAAExyC,GAAKyyC,EAASC,GAC7BA,CACR,GAAG,IACJ,C,eCPAp5C,EAAoBq5C,EAAI,SAASF,GAEhC,MAAO,MAAQA,EAAU,IAAM,CAAC,EAAI,WAAW,GAAK,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,KAChrC,C,eCHAn5C,EAAoBs5C,SAAW,SAASH,GAEvC,MAAO,OAASA,EAAU,IAAM,CAAC,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,MAClP,C,eCJAn5C,EAAoBu5C,EAAI,WACvB,GAA0B,kBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOl1C,MAAQ,IAAIq8B,SAAS,cAAb,EAGhB,CAFE,MAAOrhC,GACR,GAAsB,kBAAX8E,OAAqB,OAAOA,MACxC,CACA,CAPuB,E,eCAxBpE,EAAoBC,EAAI,SAASw4C,EAAK3F,GAAQ,OAAO5yC,OAAO+xB,UAAUwnB,eAAehC,KAAKgB,EAAK3F,EAAO,C,eCAtG,IAAI4G,EAAa,CAAC,EACdC,EAAoB,SAExB35C,EAAoB45C,EAAI,SAAS74C,EAAK84C,EAAMnzC,EAAKyyC,GAChD,GAAGO,EAAW34C,GAAQ24C,EAAW34C,GAAK+H,KAAK+wC,OAA3C,CACA,IAAIC,EAAQC,EACZ,QAAWroC,IAARhL,EAEF,IADA,IAAIszC,EAAU5oC,SAAS6oC,qBAAqB,UACpChwC,EAAI,EAAGA,EAAI+vC,EAAQ/zC,OAAQgE,IAAK,CACvC,IAAI+Y,EAAIg3B,EAAQ/vC,GAChB,GAAG+Y,EAAEk3B,aAAa,QAAUn5C,GAAOiiB,EAAEk3B,aAAa,iBAAmBP,EAAoBjzC,EAAK,CAAEozC,EAAS92B,EAAG,KAAO,CACpH,CAEG82B,IACHC,GAAa,EACbD,EAAS1oC,SAAS+oC,cAAc,UAEhCL,EAAOM,QAAU,QACjBN,EAAO7hB,QAAU,IACbj4B,EAAoBq6C,IACvBP,EAAOQ,aAAa,QAASt6C,EAAoBq6C,IAElDP,EAAOQ,aAAa,eAAgBX,EAAoBjzC,GACxDozC,EAAOnsC,IAAM5M,GAEd24C,EAAW34C,GAAO,CAAC84C,GACnB,IAAIU,EAAmB,SAASC,EAAM/1C,GAErCq1C,EAAOW,QAAUX,EAAOY,OAAS,KACjC3I,aAAa9Z,GACb,IAAI0iB,EAAUjB,EAAW34C,GAIzB,UAHO24C,EAAW34C,GAClB+4C,EAAOc,YAAcd,EAAOc,WAAWC,YAAYf,GACnDa,GAAWA,EAAQrpC,SAAQ,SAASouB,GAAM,OAAOA,EAAGj7B,EAAQ,IACzD+1C,EAAM,OAAOA,EAAK/1C,EACtB,EACIwzB,EAAU7X,WAAWm6B,EAAiBl3B,KAAK,UAAM3R,EAAW,CAAEpG,KAAM,UAAWqG,OAAQmoC,IAAW,MACtGA,EAAOW,QAAUF,EAAiBl3B,KAAK,KAAMy2B,EAAOW,SACpDX,EAAOY,OAASH,EAAiBl3B,KAAK,KAAMy2B,EAAOY,QACnDX,GAAc3oC,SAAS0pC,KAAKC,YAAYjB,EAnCkB,CAoC3D,C,eCvCA95C,EAAoBk4C,EAAI,SAASt4C,GACX,qBAAXo7C,QAA0BA,OAAOC,aAC1C/6C,OAAO84C,eAAep5C,EAASo7C,OAAOC,YAAa,CAAE/zC,MAAO,WAE7DhH,OAAO84C,eAAep5C,EAAS,aAAc,CAAEsH,OAAO,GACvD,C,eCNAlH,EAAoBk7C,IAAM,SAASv7C,GAGlC,OAFAA,EAAOw7C,MAAQ,GACVx7C,EAAOohB,WAAUphB,EAAOohB,SAAW,IACjCphB,CACR,C,eCJAK,EAAoB0iB,EAAI,G,eCAxB,IAAI04B,EAAmB,SAASjC,EAASkC,EAAUj8C,EAAS4iB,GAC3D,IAAIs5B,EAAUlqC,SAAS+oC,cAAc,QAErCmB,EAAQC,IAAM,aACdD,EAAQhwC,KAAO,WACf,IAAIkwC,EAAiB,SAAS/2C,GAG7B,GADA62C,EAAQb,QAAUa,EAAQZ,OAAS,KAChB,SAAfj2C,EAAM6G,KACTlM,QACM,CACN,IAAIq8C,EAAYh3C,IAAyB,SAAfA,EAAM6G,KAAkB,UAAY7G,EAAM6G,MAChEowC,EAAWj3C,GAASA,EAAMkN,QAAUlN,EAAMkN,OAAOgqC,MAAQN,EACzDO,EAAM,IAAIr8C,MAAM,qBAAuB45C,EAAU,cAAgBuC,EAAW,KAChFE,EAAIp8C,KAAO,wBACXo8C,EAAItwC,KAAOmwC,EACXG,EAAIC,QAAUH,EACdJ,EAAQV,WAAWC,YAAYS,GAC/Bt5B,EAAO45B,EACR,CACD,EAKA,OAJAN,EAAQb,QAAUa,EAAQZ,OAASc,EACnCF,EAAQK,KAAON,EAEfjqC,SAAS0pC,KAAKC,YAAYO,GACnBA,CACR,EACIQ,EAAiB,SAASH,EAAMN,GAEnC,IADA,IAAIU,EAAmB3qC,SAAS6oC,qBAAqB,QAC7ChwC,EAAI,EAAGA,EAAI8xC,EAAiB91C,OAAQgE,IAAK,CAChD,IAAI+4B,EAAM+Y,EAAiB9xC,GACvB+xC,EAAWhZ,EAAIkX,aAAa,cAAgBlX,EAAIkX,aAAa,QACjE,GAAe,eAAZlX,EAAIuY,MAAyBS,IAAaL,GAAQK,IAAaX,GAAW,OAAOrY,CACrF,CACA,IAAIiZ,EAAoB7qC,SAAS6oC,qBAAqB,SACtD,IAAQhwC,EAAI,EAAGA,EAAIgyC,EAAkBh2C,OAAQgE,IAAK,CAC7C+4B,EAAMiZ,EAAkBhyC,GACxB+xC,EAAWhZ,EAAIkX,aAAa,aAChC,GAAG8B,IAAaL,GAAQK,IAAaX,EAAU,OAAOrY,CACvD,CACD,EACIkZ,EAAiB,SAAS/C,GAC7B,OAAO,IAAIh6C,SAAQ,SAASC,EAAS4iB,GACpC,IAAI25B,EAAO37C,EAAoBs5C,SAASH,GACpCkC,EAAWr7C,EAAoB0iB,EAAIi5B,EACvC,GAAGG,EAAeH,EAAMN,GAAW,OAAOj8C,IAC1Cg8C,EAAiBjC,EAASkC,EAAUj8C,EAAS4iB,EAC9C,GACD,EAEIm6B,EAAqB,CACxB,KAAM,GAGPn8C,EAAoBk5C,EAAEkD,QAAU,SAASjD,EAASC,GACjD,IAAIiD,EAAY,CAAC,IAAM,EAAE,IAAM,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,GAC7GF,EAAmBhD,GAAUC,EAAStwC,KAAKqzC,EAAmBhD,IACzB,IAAhCgD,EAAmBhD,IAAkBkD,EAAUlD,IACtDC,EAAStwC,KAAKqzC,EAAmBhD,GAAW+C,EAAe/C,GAAS95C,MAAK,WACxE88C,EAAmBhD,GAAW,CAC/B,IAAG,SAAS75C,GAEX,aADO68C,EAAmBhD,GACpB75C,CACP,IAEF,C,eC5DA,IAAIg9C,EAAkB,CACrB,KAAM,GAGPt8C,EAAoBk5C,EAAEhV,EAAI,SAASiV,EAASC,GAE1C,IAAImD,EAAqBv8C,EAAoBC,EAAEq8C,EAAiBnD,GAAWmD,EAAgBnD,QAAWznC,EACtG,GAA0B,IAAvB6qC,EAGF,GAAGA,EACFnD,EAAStwC,KAAKyzC,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIr9C,SAAQ,SAASC,EAAS4iB,GAAUu6B,EAAqBD,EAAgBnD,GAAW,CAAC/5C,EAAS4iB,EAAS,IACzHo3B,EAAStwC,KAAKyzC,EAAmB,GAAKC,GAGtC,IAAIz7C,EAAMf,EAAoB0iB,EAAI1iB,EAAoBq5C,EAAEF,GAEpD3zC,EAAQ,IAAIjG,MACZk9C,EAAe,SAASh4C,GAC3B,GAAGzE,EAAoBC,EAAEq8C,EAAiBnD,KACzCoD,EAAqBD,EAAgBnD,GACX,IAAvBoD,IAA0BD,EAAgBnD,QAAWznC,GACrD6qC,GAAoB,CACtB,IAAId,EAAYh3C,IAAyB,SAAfA,EAAM6G,KAAkB,UAAY7G,EAAM6G,MAChEoxC,EAAUj4C,GAASA,EAAMkN,QAAUlN,EAAMkN,OAAOhE,IACpDnI,EAAM+E,QAAU,iBAAmB4uC,EAAU,cAAgBsC,EAAY,KAAOiB,EAAU,IAC1Fl3C,EAAM9B,KAAO,iBACb8B,EAAM8F,KAAOmwC,EACbj2C,EAAMq2C,QAAUa,EAChBH,EAAmB,GAAG/2C,EACvB,CAEF,EACAxF,EAAoB45C,EAAE74C,EAAK07C,EAAc,SAAWtD,EAASA,EAE/D,CAEH,EAUAn5C,EAAoB23C,EAAEzT,EAAI,SAASiV,GAAW,OAAoC,IAA7BmD,EAAgBnD,EAAgB,EAGrF,IAAIwD,EAAuB,SAASC,EAA4B73C,GAC/D,IAKIsyC,EAAU8B,EALVvB,EAAW7yC,EAAK,GAChB83C,EAAc93C,EAAK,GACnB+3C,EAAU/3C,EAAK,GAGIkF,EAAI,EAC3B,GAAG2tC,EAASv2C,MAAK,SAAS3B,GAAM,OAA+B,IAAxB48C,EAAgB58C,EAAW,IAAI,CACrE,IAAI23C,KAAYwF,EACZ78C,EAAoBC,EAAE48C,EAAaxF,KACrCr3C,EAAoB0jB,EAAE2zB,GAAYwF,EAAYxF,IAGhD,GAAGyF,EAAS,IAAIvmB,EAASumB,EAAQ98C,EAClC,CAEA,IADG48C,GAA4BA,EAA2B73C,GACrDkF,EAAI2tC,EAAS3xC,OAAQgE,IACzBkvC,EAAUvB,EAAS3tC,GAChBjK,EAAoBC,EAAEq8C,EAAiBnD,IAAYmD,EAAgBnD,IACrEmD,EAAgBnD,GAAS,KAE1BmD,EAAgBnD,GAAW,EAE5B,OAAOn5C,EAAoB23C,EAAEphB,EAC9B,EAEIwmB,EAAqBrrB,KAAK,qBAAuBA,KAAK,sBAAwB,GAClFqrB,EAAmBzrC,QAAQqrC,EAAqBt5B,KAAK,KAAM,IAC3D05B,EAAmBj0C,KAAO6zC,EAAqBt5B,KAAK,KAAM05B,EAAmBj0C,KAAKua,KAAK05B,G,ICpFvF,IAAIC,EAAsBh9C,EAAoB23C,OAAEjmC,EAAW,CAAC,OAAO,WAAa,OAAO1R,EAAoB,MAAQ,IACnHg9C,EAAsBh9C,EAAoB23C,EAAEqF,E","sources":["webpack://jandl/./node_modules/@stencil/core/internal/client/ lazy ^\\.\\/.*\\.entry\\.js.*$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack://jandl/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://jandl/./src/plugins/app/_config/webfontloader.ts","webpack://jandl/./src/plugins/app/_config/vuetify.ts","webpack://jandl/./src/plugins/app/_config/quill.util.ts","webpack://jandl/./src/plugins/app/_config/App.vue","webpack://jandl/./src/plugins/tm@modal/team/z-delete-team-modal.vue","webpack://jandl/./src/plugins/tm@modal/_mixins/modal.mixin.ts","webpack://jandl/./src/plugins/tm@modal/team/z-delete-team-modal.vue?889d","webpack://jandl/./src/plugins/tm@modal/team/z-team-modal.vue","webpack://jandl/./src/plugins/tm@modal/team/z-team-modal.vue?719b","webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-delete-task-modal.vue?dac1","webpack://jandl/./src/plugins/tm@modal/task/z-delete-timeblock-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-delete-timeblock-modal.vue?c410","webpack://jandl/./src/plugins/tm@modal/task/z-task-modal.vue","webpack://jandl/./src/plugins/tm@_components/z-files-upload.vue","webpack://jandl/./src/plugins/tm@_components/z-files-upload.vue?aefd","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-timeblocks.vue?441a","webpack://jandl/./src/plugins/tm@modal/_mixins/vuetify-fix-focus.ts","webpack://jandl/./src/plugins/tm@modal/master-task/_mixins/selects.mixin.ts","webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-name.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-name.vue?35d3","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-status.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-mastertask-status.vue?8d63","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-created-by.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-created-by.vue?b16b","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-assigned-employee.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-assigned-employee.vue?4068","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-planned-time.vue?2bd6","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-spent-time.vue?618a","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-remaining-time.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-remaining-time.vue?016a","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-deadline.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-deadline.vue?2a63","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-description.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/_components/a-task-description.vue?bb5a","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-files.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-files.vue?7ebd","webpack://jandl/./src/plugins/tm@modal/task/_components/z-task-readonly-info.vue?692c","webpack://jandl/./src/plugins/tm@modal/task/_components/a-timeblock.vue","webpack://jandl/./src/plugins/tm@modal/task/_components/a-timeblock.vue?fbbd","webpack://jandl/./src/plugins/tm@modal/task/z-task-modal.vue?a3ab","webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue","webpack://jandl/./src/plugins/tm@modal/blocker/z-delete-blocker-modal.vue?6a87","webpack://jandl/./src/plugins/tm@modal/task/z-complete-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-complete-task-modal.vue?2beb","webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/z-complete-master-task-modal.vue?b36c","webpack://jandl/./src/plugins/tm@modal/task/z-task-add-time-modal.vue","webpack://jandl/./src/plugins/tm@modal/task/z-task-add-time-modal.vue?f996","webpack://jandl/./src/plugins/tm@modal/blocker/z-blocker-modal.vue","webpack://jandl/./src/plugins/tm@modal/blocker/z-blocker-modal.vue?7f6d","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-master-task-modal.vue?9c83","webpack://jandl/./src/plugins/tm@modal/master-task/z-master-task-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-tasks-table.vue","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-tasks-table.vue?85a6","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-deadline.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-deadline.vue?6f7e","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-description.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-description.vue?014c","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-planned-time.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-planned-time.vue?c190","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-remaining-time.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-remaining-time.vue?5784","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-spent-time.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-spent-time.vue?ae50","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-status.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-status.vue?c1f6","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-team.vue","webpack://jandl/./src/plugins/tm@modal/_components/read-only/z-team.vue?105d","webpack://jandl/./src/plugins/tm@modal/master-task/_components/a-mastertask-description.vue?b7f6","webpack://jandl/./src/plugins/tm@modal/master-task/z-master-task-modal.vue?651e","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue","webpack://jandl/./src/plugins/tm@modal/master-task/z-delete-team-member-modal.vue?d914","webpack://jandl/./src/plugins/tm@modal/task-cell/z-show-menu-modal.vue","webpack://jandl/./src/plugins/tm@modal/task-cell/z-show-menu-modal.vue?b1a2","webpack://jandl/./src/plugins/app/_config/App.vue?b414","webpack://jandl/./src/store.ts","webpack://jandl/./src/plugins/app/_config/router.ts","webpack://jandl/./src/plugins/w/axios/models/axios.ts","webpack://jandl/./src/plugins/w/axios/index.ts","webpack://jandl/./src/plugins/w/moxios/utils/moxios.util.ts","webpack://jandl/./src/plugins/w/moxios/models/moxios.ts","webpack://jandl/./src/plugins/w/moxios/index.ts","webpack://jandl/./src/plugins/w/events/index.ts","webpack://jandl/./src/plugins/w/i18n/models/i18n.ts","webpack://jandl/./src/plugins/w/i18n/index.ts","webpack://jandl/./src/plugins/w/ionic/index.ts","webpack://jandl/./src/plugins/w/auth/refreshExpired.ts","webpack://jandl/./src/plugins/w/auth/auth.store.ts","webpack://jandl/./src/plugins/w/auth/index.ts","webpack://jandl/./src/plugins/w/toast/index.ts","webpack://jandl/./src/plugins/w/loadable/_components/w-loadable.vue","webpack://jandl/./src/plugins/w/loadable/_components/w-loadable.vue?0367","webpack://jandl/./src/plugins/w/loadable/index.ts","webpack://jandl/./src/plugins/w/w/index.ts","webpack://jandl/./src/plugins/w/toast/utils/toast.utils.ts","webpack://jandl/./src/plugins/w@custom/axios/models/axios.ts","webpack://jandl/./src/plugins/w@custom/axios/index.ts","webpack://jandl/./src/plugins/tm@_store/store/index.ts","webpack://jandl/./src/plugins/tm@_store/index.ts","webpack://jandl/./src/plugins/app@vendor/vue-cal/index.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/utils/date.js","webpack://jandl/./src/plugins/app@vendor/vue-cal/utils/cell.js","webpack://jandl/./src/plugins/app@vendor/vue-cal/utils/event.js","webpack://jandl/./src/plugins/app@vendor/vue-cal/header.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/weekdays-headings.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/weekdays-headings.vue?fe42","webpack://jandl/./src/plugins/app@vendor/vue-cal/header.vue?387a","webpack://jandl/./src/plugins/app@vendor/vue-cal/all-day-bar.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/cell.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/event.vue","webpack://jandl/./src/plugins/app@vendor/vue-cal/event.vue?094d","webpack://jandl/./src/plugins/app@vendor/vue-cal/cell.vue?9ee5","webpack://jandl/./src/plugins/app@vendor/vue-cal/all-day-bar.vue?9528","webpack://jandl/./src/plugins/app@vendor/vue-cal/index.vue?26da","webpack://jandl/./src/plugins/app@vendor/vue-cal/index.ts","webpack://jandl/./src/plugins/app/_config/main.ts","webpack://jandl/./src/plugins/lib@auth/_utils/error.utils.ts","webpack://jandl/./src/plugins/tm@_mixins/autocomplete.mixin.ts","webpack://jandl/./src/plugins/tm@_utils/tm.utils.ts","webpack://jandl/./src/locales/ sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack://jandl/./src/plugins/app@vendor/vue-cal/i18n/ lazy ^\\.\\/.*\\.json$ namespace object","webpack://jandl/webpack/bootstrap","webpack://jandl/webpack/runtime/chunk loaded","webpack://jandl/webpack/runtime/compat get default export","webpack://jandl/webpack/runtime/create fake namespace object","webpack://jandl/webpack/runtime/define property getters","webpack://jandl/webpack/runtime/ensure chunk","webpack://jandl/webpack/runtime/get javascript chunk filename","webpack://jandl/webpack/runtime/get mini-css chunk filename","webpack://jandl/webpack/runtime/global","webpack://jandl/webpack/runtime/hasOwnProperty shorthand","webpack://jandl/webpack/runtime/load script","webpack://jandl/webpack/runtime/make namespace object","webpack://jandl/webpack/runtime/node module decorator","webpack://jandl/webpack/runtime/publicPath","webpack://jandl/webpack/runtime/css loading","webpack://jandl/webpack/runtime/jsonp chunk loading","webpack://jandl/webpack/startup"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 41993;\nmodule.exports = webpackEmptyAsyncContext;","var map = {\n\t\"./af\": 63906,\n\t\"./af.js\": 63906,\n\t\"./ar\": 40902,\n\t\"./ar-dz\": 3853,\n\t\"./ar-dz.js\": 3853,\n\t\"./ar-kw\": 20299,\n\t\"./ar-kw.js\": 20299,\n\t\"./ar-ly\": 96825,\n\t\"./ar-ly.js\": 96825,\n\t\"./ar-ma\": 66379,\n\t\"./ar-ma.js\": 66379,\n\t\"./ar-sa\": 87700,\n\t\"./ar-sa.js\": 87700,\n\t\"./ar-tn\": 2059,\n\t\"./ar-tn.js\": 2059,\n\t\"./ar.js\": 40902,\n\t\"./az\": 76043,\n\t\"./az.js\": 76043,\n\t\"./be\": 7936,\n\t\"./be.js\": 7936,\n\t\"./bg\": 34078,\n\t\"./bg.js\": 34078,\n\t\"./bm\": 14014,\n\t\"./bm.js\": 14014,\n\t\"./bn\": 29554,\n\t\"./bn-bd\": 17114,\n\t\"./bn-bd.js\": 17114,\n\t\"./bn.js\": 29554,\n\t\"./bo\": 6529,\n\t\"./bo.js\": 6529,\n\t\"./br\": 65437,\n\t\"./br.js\": 65437,\n\t\"./bs\": 19647,\n\t\"./bs.js\": 19647,\n\t\"./ca\": 59951,\n\t\"./ca.js\": 59951,\n\t\"./cs\": 26113,\n\t\"./cs.js\": 26113,\n\t\"./cv\": 37965,\n\t\"./cv.js\": 37965,\n\t\"./cy\": 35858,\n\t\"./cy.js\": 35858,\n\t\"./da\": 33515,\n\t\"./da.js\": 33515,\n\t\"./de\": 62831,\n\t\"./de-at\": 6263,\n\t\"./de-at.js\": 6263,\n\t\"./de-ch\": 51127,\n\t\"./de-ch.js\": 51127,\n\t\"./de.js\": 62831,\n\t\"./dv\": 4510,\n\t\"./dv.js\": 4510,\n\t\"./el\": 68616,\n\t\"./el.js\": 68616,\n\t\"./en-au\": 24595,\n\t\"./en-au.js\": 24595,\n\t\"./en-ca\": 73545,\n\t\"./en-ca.js\": 73545,\n\t\"./en-gb\": 79609,\n\t\"./en-gb.js\": 79609,\n\t\"./en-ie\": 43727,\n\t\"./en-ie.js\": 43727,\n\t\"./en-il\": 93302,\n\t\"./en-il.js\": 93302,\n\t\"./en-in\": 46305,\n\t\"./en-in.js\": 46305,\n\t\"./en-nz\": 39128,\n\t\"./en-nz.js\": 39128,\n\t\"./en-sg\": 84569,\n\t\"./en-sg.js\": 84569,\n\t\"./eo\": 50650,\n\t\"./eo.js\": 50650,\n\t\"./es\": 26358,\n\t\"./es-do\": 64214,\n\t\"./es-do.js\": 64214,\n\t\"./es-mx\": 38639,\n\t\"./es-mx.js\": 38639,\n\t\"./es-us\": 30232,\n\t\"./es-us.js\": 30232,\n\t\"./es.js\": 26358,\n\t\"./et\": 47279,\n\t\"./et.js\": 47279,\n\t\"./eu\": 15515,\n\t\"./eu.js\": 15515,\n\t\"./fa\": 27981,\n\t\"./fa.js\": 27981,\n\t\"./fi\": 37090,\n\t\"./fi.js\": 37090,\n\t\"./fil\": 79208,\n\t\"./fil.js\": 79208,\n\t\"./fo\": 2799,\n\t\"./fo.js\": 2799,\n\t\"./fr\": 23463,\n\t\"./fr-ca\": 2213,\n\t\"./fr-ca.js\": 2213,\n\t\"./fr-ch\": 52848,\n\t\"./fr-ch.js\": 52848,\n\t\"./fr.js\": 23463,\n\t\"./fy\": 41468,\n\t\"./fy.js\": 41468,\n\t\"./ga\": 88163,\n\t\"./ga.js\": 88163,\n\t\"./gd\": 2898,\n\t\"./gd.js\": 2898,\n\t\"./gl\": 76312,\n\t\"./gl.js\": 76312,\n\t\"./gom-deva\": 20682,\n\t\"./gom-deva.js\": 20682,\n\t\"./gom-latn\": 49178,\n\t\"./gom-latn.js\": 49178,\n\t\"./gu\": 31400,\n\t\"./gu.js\": 31400,\n\t\"./he\": 52795,\n\t\"./he.js\": 52795,\n\t\"./hi\": 17009,\n\t\"./hi.js\": 17009,\n\t\"./hr\": 46506,\n\t\"./hr.js\": 46506,\n\t\"./hu\": 69565,\n\t\"./hu.js\": 69565,\n\t\"./hy-am\": 93864,\n\t\"./hy-am.js\": 93864,\n\t\"./id\": 5626,\n\t\"./id.js\": 5626,\n\t\"./is\": 36649,\n\t\"./is.js\": 36649,\n\t\"./it\": 90151,\n\t\"./it-ch\": 95348,\n\t\"./it-ch.js\": 95348,\n\t\"./it.js\": 90151,\n\t\"./ja\": 79830,\n\t\"./ja.js\": 79830,\n\t\"./jv\": 33751,\n\t\"./jv.js\": 33751,\n\t\"./ka\": 63365,\n\t\"./ka.js\": 63365,\n\t\"./kk\": 85980,\n\t\"./kk.js\": 85980,\n\t\"./km\": 99571,\n\t\"./km.js\": 99571,\n\t\"./kn\": 25880,\n\t\"./kn.js\": 25880,\n\t\"./ko\": 16809,\n\t\"./ko.js\": 16809,\n\t\"./ku\": 96773,\n\t\"./ku.js\": 96773,\n\t\"./ky\": 65505,\n\t\"./ky.js\": 65505,\n\t\"./lb\": 50553,\n\t\"./lb.js\": 50553,\n\t\"./lo\": 51237,\n\t\"./lo.js\": 51237,\n\t\"./lt\": 91563,\n\t\"./lt.js\": 91563,\n\t\"./lv\": 61057,\n\t\"./lv.js\": 61057,\n\t\"./me\": 96495,\n\t\"./me.js\": 96495,\n\t\"./mi\": 83096,\n\t\"./mi.js\": 83096,\n\t\"./mk\": 43874,\n\t\"./mk.js\": 43874,\n\t\"./ml\": 46055,\n\t\"./ml.js\": 46055,\n\t\"./mn\": 87747,\n\t\"./mn.js\": 87747,\n\t\"./mr\": 17113,\n\t\"./mr.js\": 17113,\n\t\"./ms\": 8687,\n\t\"./ms-my\": 7948,\n\t\"./ms-my.js\": 7948,\n\t\"./ms.js\": 8687,\n\t\"./mt\": 14532,\n\t\"./mt.js\": 14532,\n\t\"./my\": 4655,\n\t\"./my.js\": 4655,\n\t\"./nb\": 56961,\n\t\"./nb.js\": 56961,\n\t\"./ne\": 2512,\n\t\"./ne.js\": 2512,\n\t\"./nl\": 48448,\n\t\"./nl-be\": 72936,\n\t\"./nl-be.js\": 72936,\n\t\"./nl.js\": 48448,\n\t\"./nn\": 49031,\n\t\"./nn.js\": 49031,\n\t\"./oc-lnc\": 5174,\n\t\"./oc-lnc.js\": 5174,\n\t\"./pa-in\": 30118,\n\t\"./pa-in.js\": 30118,\n\t\"./pl\": 93448,\n\t\"./pl.js\": 93448,\n\t\"./pt\": 33518,\n\t\"./pt-br\": 62447,\n\t\"./pt-br.js\": 62447,\n\t\"./pt.js\": 33518,\n\t\"./ro\": 70817,\n\t\"./ro.js\": 70817,\n\t\"./ru\": 10262,\n\t\"./ru.js\": 10262,\n\t\"./sd\": 58990,\n\t\"./sd.js\": 58990,\n\t\"./se\": 43842,\n\t\"./se.js\": 43842,\n\t\"./si\": 37711,\n\t\"./si.js\": 37711,\n\t\"./sk\": 80756,\n\t\"./sk.js\": 80756,\n\t\"./sl\": 3772,\n\t\"./sl.js\": 3772,\n\t\"./sq\": 6187,\n\t\"./sq.js\": 6187,\n\t\"./sr\": 40732,\n\t\"./sr-cyrl\": 75713,\n\t\"./sr-cyrl.js\": 75713,\n\t\"./sr.js\": 40732,\n\t\"./ss\": 99455,\n\t\"./ss.js\": 99455,\n\t\"./sv\": 69770,\n\t\"./sv.js\": 69770,\n\t\"./sw\": 80959,\n\t\"./sw.js\": 80959,\n\t\"./ta\": 36459,\n\t\"./ta.js\": 36459,\n\t\"./te\": 25302,\n\t\"./te.js\": 25302,\n\t\"./tet\": 67975,\n\t\"./tet.js\": 67975,\n\t\"./tg\": 71294,\n\t\"./tg.js\": 71294,\n\t\"./th\": 2385,\n\t\"./th.js\": 2385,\n\t\"./tk\": 24613,\n\t\"./tk.js\": 24613,\n\t\"./tl-ph\": 58668,\n\t\"./tl-ph.js\": 58668,\n\t\"./tlh\": 58190,\n\t\"./tlh.js\": 58190,\n\t\"./tr\": 74506,\n\t\"./tr.js\": 74506,\n\t\"./tzl\": 63440,\n\t\"./tzl.js\": 63440,\n\t\"./tzm\": 69852,\n\t\"./tzm-latn\": 42350,\n\t\"./tzm-latn.js\": 42350,\n\t\"./tzm.js\": 69852,\n\t\"./ug-cn\": 70730,\n\t\"./ug-cn.js\": 70730,\n\t\"./uk\": 40099,\n\t\"./uk.js\": 40099,\n\t\"./ur\": 72100,\n\t\"./ur.js\": 72100,\n\t\"./uz\": 96002,\n\t\"./uz-latn\": 26322,\n\t\"./uz-latn.js\": 26322,\n\t\"./uz.js\": 96002,\n\t\"./vi\": 14207,\n\t\"./vi.js\": 14207,\n\t\"./x-pseudo\": 24674,\n\t\"./x-pseudo.js\": 24674,\n\t\"./yo\": 10570,\n\t\"./yo.js\": 10570,\n\t\"./zh-cn\": 73644,\n\t\"./zh-cn.js\": 73644,\n\t\"./zh-hk\": 22591,\n\t\"./zh-hk.js\": 22591,\n\t\"./zh-mo\": 89503,\n\t\"./zh-mo.js\": 89503,\n\t\"./zh-tw\": 88080,\n\t\"./zh-tw.js\": 88080\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","export async function loadFonts() {\n\tconst webFontLoader = await import('webfontloader')\n\n\twebFontLoader.load({\n\t\tgoogle: {\n\t\t\tfamilies: ['Roboto:100,300,400,500,700,900&display=swap']\n\t\t}\n\t})\n}\n","import { createVuetify } from \"vuetify\"\nimport \"@mdi/font/css/materialdesignicons.css\"\nimport \"vuetify/styles\"\n\nexport default createVuetify()","import { Quill } from '@vueup/vue-quill'\n\nexport function registerQuillUrlSanitizer() {\n const Link = Quill.import('formats/link')\n\n class CustomLinkSanitizer extends Link {\n static sanitize(url) {\n const sanitizedUrl = super.sanitize(url)\n\n if (!sanitizedUrl || sanitizedUrl === 'about:blank') return sanitizedUrl\n\n const protocolWhhitelist = ['http', 'https', 'mailto', 'tel', 'radar', 'rdar', 'smb', 'sms']\n const hasWhitelistedProtocol = protocolWhhitelist.some(function(protocol) {\n return sanitizedUrl.startsWith(protocol)\n })\n\n if (hasWhitelistedProtocol) return sanitizedUrl\n\n return `https://${sanitizedUrl}`\n }\n }\n\n Quill.register(CustomLinkSanitizer, true)\n}","\n\t\n\t\t\n\t\t\t \n\t\t \n\t \n\n\t \n\t \n\n\t \n\t \n\t \n\t \n\t \n\t \n\t \n\t \n\t \n\n\t \n\t \n\t \n \n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\tSte si istý, že chcete zmazať tím {{ team.name }} ?\n\t\t\t\t \n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","export default {\n\tmounted() {\n\t\twindow.addEventListener('keydown', this.handleKeyDown)\n\t},\n\n\tmethods: {\n\t\thandleKeyDown(event) {\n\t\t\t// if (event.keyCode === 27) this.closeModal()\n\t\t\tif (event.keyCode === 27) this.visible = false\n\t\t}\n\t},\n}","import { render } from \"./z-delete-team-modal.vue?vue&type=template&id=6024ee52\"\nimport script from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ team.id ? 'Upraviť tím' : 'Vytvoriť tím' }} \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ team.id ? 'UPRAVIŤ' : 'VYTVORIŤ' }} \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-team-modal.vue?vue&type=template&id=6013305a\"\nimport script from \"./z-team-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-team-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete zmazať sub task z mastertasku {{ subtask.project_code }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-delete-task-modal.vue?vue&type=template&id=689c6e7b\"\nimport script from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Vyberte časový úsek, ktorý chcete odstrániť \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t
{{ tmUtils.formatDateTime(timeblock.start) }} - {{ tmUtils.formatDateTime(timeblock.end) }}
\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t \n \n\n\n\n","import { render } from \"./z-delete-timeblock-modal.vue?vue&type=template&id=d2c490ee&scoped=true\"\nimport script from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-timeblock-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-delete-timeblock-modal.vue?vue&type=style&index=0&id=d2c490ee&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d2c490ee\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ subtask?.id ? 'Upraviť sub task' : 'Vytvoriť sub task' }} \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
updateTimeblock(val, index)\" @removeTimeblock=\"removeTimeblock(index)\" @onDateFocus=\"onDateFocus\" :timeblock=\"timeblock\" :deletable=\"index > 0\" editable :ref=\"`timetable-${index}`\" />\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPridať časový blok \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ subtask.id ? 'UPRAVIŤ' : 'VYTVORIŤ' }} \n\t\t\t\t{{ $t('Ukladám...') }} \n\t\t\t \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
{{ subtask._master_task.project_code }}
\n\t\t\t\t\t\t
{{ subtask._master_task.name }} \n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
{{ subtask.title }} \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tDokončiť \n\t\t\t\t\t\t\tZnovu otvoriť \n\t\t\t\t\t\t\tUložiť zmeny \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n\n\n\n","\n \n\t\t
\n\n\t\t
\n\t\t\t NAHRAŤ\n\t\t \n\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{{ file.name }}\n\t\t\t\t\t \n\t\t\t\t\t{{ (file.size / (1024 * 1024)).toFixed(2) }} MB
\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n
\n \n\n\n\n","import { render } from \"./z-files-upload.vue?vue&type=template&id=79444997&scoped=true\"\nimport script from \"./z-files-upload.vue?vue&type=script&lang=js\"\nexport * from \"./z-files-upload.vue?vue&type=script&lang=js\"\n\nimport \"./z-files-upload.vue?vue&type=style&index=0&id=79444997&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-79444997\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Trvanie
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Pridať záznam
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
{{ tmUtils.formatDateTime(timeblock.start) }} - {{ tmUtils.formatDateTime(timeblock.end) }}
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Pridať dátum \n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\t \n\t\t\t\t \n\t\t\t\t \n\t\t\t \n\n\t\t\tPotvrdiť \n\t\t \n\t \n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete pridať timeblock po deadline z mastertasku {{ subtask?.project_code }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n\n\n\n","import { render } from \"./a-task-timeblocks.vue?vue&type=template&id=196259eb\"\nimport script from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-timeblocks.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-timeblocks.vue?vue&type=style&index=0&id=196259eb&lang=sass\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default {\n\t// Mixin to fix autofocus on v-input in modals where date selects are used\n\tdata() {\n\t\treturn {\n\t\t\tpreventInputFocus: false\n\t\t}\n\t},\n\n\tmethods: {\n\t\tsetFocusEvent() {\n\t\t\tdocument.querySelectorAll('.v-autocomplete input').forEach(input => {\n\t\t\t\tinput.addEventListener('focus', this.onInputFocus)\n\t\t\t})\n\t\t},\n\n\t\tonDateFocus($event) {\n\t\t\tif ($event == undefined) {\n\t\t\t\tthis.preventInputFocus = true\n\t\t\t}\n\t\t},\n\n\t\tonInputFocus($event) {\n\t\t\tif (this.preventInputFocus) {\n\t\t\t\t$event.target.blur()\n\t\t\t\tthis.preventInputFocus = false\n\t\t\t}\n\t\t}\n\t}\n}","export default {\n\tcomputed: {\n\t\temployeesOptions() {\n\t\t\tconst selectedEmployees = [...this.mastertask.employees].map(employee => employee.id)\n\n\t\t\treturn this.enrichedEmployees.filter(\n\t\t\t\t(employee) => !selectedEmployees.includes(employee.id)\n\t\t\t) || []\n\t\t},\n\n\t\tprojectsOptions() {\n\t\t\t// Added to \"paginate\" projects, because v-autocomplete was unable to handle so many projects at once\n\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g\n\n\t\t\tconst normalizedInput = this.projectCodeSearch\n\t\t\t\t? this.projectCodeSearch.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\t: ''\n\n\t\t\tconst projects = this.projects.filter(project => {\n\t\t\t\tconst normalizedProjectCode = project.code.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').replace(pattern, '')\n\t\t\t\treturn normalizedProjectCode.toLowerCase().includes(normalizedInput.toLowerCase())\n\t\t\t})\n\n\t\t\tlet filteredProjects \t= projects?.length ? projects.slice(0, 10) : this.projects.slice(0, 10)\n\n\t\t\tif (!this.mastertask?.project_id)\n\t\t\t\treturn filteredProjects\n\n\t\t\tconst selectedProject \t= this.projects.find(project => project.id == this.mastertask?.project_id)\n\t\t\tfilteredProjects \t\t= filteredProjects.filter(project => project.id != selectedProject.id)\n\n\t\t\treturn [...filteredProjects, selectedProject]\n\t\t}\n\t},\n\n\tmethods: {\n\t\t// onProjectSelected(id) {\n\t\t// \tconst project = this.projects.find(project => project.id == id)\n\t\t// \tthis.mastertask.project_code = project.code\n\t\t// \tthis.mastertask.project_id \t = project.id\n\t\t// },\n\n\t\tonEmployeeSelected(id) {\n\t\t\tconst employee = this.enrichedEmployees.find(employee => employee.id == id)\n\t\t\tconsole.log('add employee', employee)\n\t\t\tthis.mastertask.employees.push(employee)\n\t\t\tthis.showAddEmployeeInput = false\n\t\t},\n\n\t\tonEmployeeDurationChanged() {\n\t\t\tlet totalDuration = 0\n\n\t\t\tthis.mastertask.employees = this.mastertask.employees.map(employee => {\n\t\t\t\tif (typeof employee.duration == 'string') {\n\t\t\t\t\ttotalDuration += parseFloat(employee.duration)\n\t\t\t\t\temployee.duration = parseFloat(employee.duration)\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\t\t\t\telse if (typeof employee.duration == 'number') {\n\t\t\t\t\ttotalDuration += employee.duration\n\t\t\t\t\temployee.invalid = false\n\t\t\t\t}\n\n\t\t\t\treturn employee\n\t\t\t})\n\n\t\t\tthis.mastertask.duration = totalDuration\n\t\t}\n\t},\n\n\twatch: {\n\t\t'mastertask.team_id'(value) {\n\t\t\tif (!value) return\n\t\t\t\n\t\t\tconst team = this.teams.find(team => team.id == value)\n\t\t\tif (!team) return\n\n\t\t\tthis.mastertask.team \t\t= JSON.parse(JSON.stringify(team))\n\t\t\tthis.mastertask.employees = [...this.mastertask.team.employees]\n\t\t},\n\t}\n}","\n\t \n \n\t \n\t \n \n \n \n \n \n \n \n \n\n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Mastertask
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ name }}\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-mastertask-name.vue?vue&type=template&id=154bd9ae\"\nimport script from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-name.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Status
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\tUkončený
\n\t\t\t\tNeukončený
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-mastertask-status.vue?vue&type=template&id=40b1e729\"\nimport script from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Vytvoril
\n\t\t\t\t
\n\t\t\t \n\t\t \n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ employee ? employee._initials : '?' }}\n\t\t\t\t
\n\t\t\t\t{{ employee ? employee._fullName : $t('Unasigned') }}
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-created-by.vue?vue&type=template&id=76476816\"\nimport script from \"./z-created-by.vue?vue&type=script&lang=js\"\nexport * from \"./z-created-by.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Priradený
\n\t\t\t\t
\n\t\t\t \n\t\t \n \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ employee.name.charAt(0) + employee.surname.charAt(0) }}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./a-task-assigned-employee.vue?vue&type=template&id=e04c27ce\"\nimport script from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-assigned-employee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Naplánovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-task-planned-time.vue?vue&type=template&id=5c6a17d5\"\nimport script from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Odpracovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Pridať záznam
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{{ timesheet.time }}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
{{ timesheet.employee_name }} ({{ timesheet.timestamp }})
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Pridať odpracovaný čas \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t\tPotvrdiť \n\t\t \n\t \n \n\n\n\n","import { render } from \"./a-task-spent-time.vue?vue&type=template&id=c9f868dc&scoped=true\"\nimport script from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-spent-time.vue?vue&type=script&lang=js\"\n\nimport \"./a-task-spent-time.vue?vue&type=style&index=0&id=c9f868dc&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c9f868dc\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Zostávajúci čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ (hours).toFixed(2) }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./a-task-remaining-time.vue?vue&type=template&id=76900acb\"\nimport script from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Deadline
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ tmUtils.formatDate(subtask.deadline) }} {{ deadlineTime }}
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ getMasterTaskDeadline(subtask) }}* \n\t\t\t\t\t \n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./a-task-deadline.vue?vue&type=template&id=1d87e2c9\"\nimport script from \"./a-task-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t
Popis zadania
\n\t\t
\n\t
\n\n\t\n\t\t
Popis mastertasku
\n\t\t
\n\t
\n \n\n\n","import { render } from \"./a-task-description.vue?vue&type=template&id=cad95ece\"\nimport script from \"./a-task-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-task-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\tPrílohy
\n\t\n\t\t
\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{{ file.name }}
\n\t\t\t\t\t \n\t\t\t\t\t{{ (file.file_size / (1024 * 1024)).toFixed(2) }} MB
\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
Súbor sa sťahuje, počkajte prosím
\n\t\t\t\t
\n\t\t\t
\n\t\t \n\t
\n \n\n\n\n","import { render } from \"./z-files.vue?vue&type=template&id=634e184f&scoped=true\"\nimport script from \"./z-files.vue?vue&type=script&lang=js\"\nexport * from \"./z-files.vue?vue&type=script&lang=js\"\n\nimport \"./z-files.vue?vue&type=style&index=0&id=634e184f&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-634e184f\"]])\n\nexport default __exports__","import { render } from \"./z-task-readonly-info.vue?vue&type=template&id=fdfa3c04\"\nimport script from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-readonly-info.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n
\n x \n
\n
\n
\n \n \n
\n
\n \n\n\n\ne","import { render } from \"./a-timeblock.vue?vue&type=template&id=75050b9e&scoped=true\"\nimport script from \"./a-timeblock.vue?vue&type=script&lang=js\"\nexport * from \"./a-timeblock.vue?vue&type=script&lang=js\"\n\nimport \"./a-timeblock.vue?vue&type=style&index=0&id=75050b9e&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-75050b9e\"]])\n\nexport default __exports__","import { render } from \"./z-task-modal.vue?vue&type=template&id=3ec6ac9f&scoped=true\"\nimport script from \"./z-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-task-modal.vue?vue&type=style&index=0&id=3ec6ac9f&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3ec6ac9f\"]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete zmazať {{ blocker.name }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-delete-blocker-modal.vue?vue&type=template&id=15db6be6\"\nimport script from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete {{ subtask.is_finished ? 'znovu otvoriť' : 'dokončiť' }} sub task, z mastertasku {{ subtask?.master_task?.name || subtask.master_task }} ? \n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-complete-task-modal.vue?vue&type=template&id=15b52ca7\"\nimport script from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete {{ mastertask.is_finished ? 'znovu otvoriť' : 'dokončiť' }} {{ mastertask?.name }} ? \n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-complete-master-task-modal.vue?vue&type=template&id=0ff6d5b6\"\nimport script from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-complete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Pridať odpracovaný čas \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t\tPotvrdiť \n\t\t \n\t \n \n\n","import { render } from \"./z-task-add-time-modal.vue?vue&type=template&id=30faf5cc\"\nimport script from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-task-add-time-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ blocker.id ? \"Upraviť\" : \"Vytvoriť\" }} blocker \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ blocker.id ? \"UPRAVIŤ\" : \"VYTVORIŤ\" }} \n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-blocker-modal.vue?vue&type=template&id=e832c3e2\"\nimport script from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-blocker-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Ste si istý, že chcete zmazať {{ mastertask.name }} ? \n\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\tÁNO \n\t\t\t\tZRUŠIŤ \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-delete-master-task-modal.vue?vue&type=template&id=04ae8d25\"\nimport script from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ mastertask?.id ? 'Upraviť master task' : 'Vytvoriť master task' }} \n\t\t\t\t\t \n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t \n\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ employee?.name.charAt(0) + employee?.surname.charAt(0) }}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ employee?.name.charAt(0) + employee?.surname.charAt(0) }}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\n\t\t\t\t\t \n\n\t\t\t\t\t\n\n\t\t\t\t\t Pridať zamestnanca \n\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t
\n\n\t\t\t\t\t \n\t\t\t\t \n\n\t\t\t\t{{ mastertask.id ? 'ULOŽIŤ' : 'VYTVORIŤ' }} \n\t\t\t\t{{ $t('Ukladám...')}} \n\t\t\t \n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
{{ mastertask.project_code }}
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
{{ mastertask.name }} \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{{ mastertask.is_finished ? 'Otvoriť mastertask' : 'Ukončiť mastertask' }} \n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t Pridať sub task \n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n\n\n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t{{ subtask.title }} \n\t\t\t\t{{ subtask?.master_task }} \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ subtask._employeeInitials }}\n\t\t\t\t\t
\n\t\t\t\t\t{{ subtask._employeeFullName }}
\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\tUkončený
\n\t\t\t\t\tNeukončený
\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t \n\t\t \n\t \n \n\n\n\n","import { render } from \"./a-tasks-table.vue?vue&type=template&id=6a5e57ec&scoped=true\"\nimport script from \"./a-tasks-table.vue?vue&type=script&lang=js\"\nexport * from \"./a-tasks-table.vue?vue&type=script&lang=js\"\n\nimport \"./a-tasks-table.vue?vue&type=style&index=0&id=6a5e57ec&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6a5e57ec\"]])\n\nexport default __exports__","\n\t \n\t \n\t \n\t \n\t \n \n\t mastertask.duration\" />\n\t \n\t \n \n\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Deadline
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ tmUtils.formatDateTime(deadline) }}
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-deadline.vue?vue&type=template&id=13a73f8f\"\nimport script from \"./z-deadline.vue?vue&type=script&lang=js\"\nexport * from \"./z-deadline.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t
Popis zadania
\n\t\t
\n\t
\n\n\t\n\t\t
Popis mastertasku
\n\t\t
\n\t
\n \n\n\n","import { render } from \"./z-description.vue?vue&type=template&id=531a9e6f\"\nimport script from \"./z-description.vue?vue&type=script&lang=js\"\nexport * from \"./z-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Naplánovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-planned-time.vue?vue&type=template&id=0c44c1d0\"\nimport script from \"./z-planned-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-planned-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Zostávajúci čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-remaining-time.vue?vue&type=template&id=759929d5\"\nimport script from \"./z-remaining-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-remaining-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Odpracovaný čas
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t{{ hours }} h
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-spent-time.vue?vue&type=template&id=cc4966e2\"\nimport script from \"./z-spent-time.vue?vue&type=script&lang=js\"\nexport * from \"./z-spent-time.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Status
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\tUkončený
\n\t\t\t\tNeukončený
\n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-status.vue?vue&type=template&id=5a460912\"\nimport script from \"./z-status.vue?vue&type=script&lang=js\"\nexport * from \"./z-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
Tím
\n\t\t\t\t
\n\t\t\t \n\t\t \n\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ team.name }}
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{{ employee._initials }}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
{{ employee._fullName }}
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t \n\n\t\t\t\tNepriradený
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ employee._initials }}\n\t\t\t\t\t
\n\t\t\t\t\t
{{ employee._fullName }}
\n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n \n\n\n","import { render } from \"./z-team.vue?vue&type=template&id=3dfe3a63\"\nimport script from \"./z-team.vue?vue&type=script&lang=js\"\nexport * from \"./z-team.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./a-mastertask-description.vue?vue&type=template&id=65a97638\"\nimport script from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\nexport * from \"./a-mastertask-description.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./z-master-task-modal.vue?vue&type=template&id=6d155146&scoped=true\"\nimport script from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-master-task-modal.vue?vue&type=script&lang=js\"\n\nimport \"./z-master-task-modal.vue?vue&type=style&index=0&id=6d155146&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6d155146\"]])\n\nexport default __exports__","\r\n\t\r\n\t\t\r\n \r\n Chcete túto osobu odstrániť z tímu?\r\n \r\n\t\t{{ member.name + ' ' + member.surname }} bude odstránený/á z teamu. \r\n \r\n \r\n Zrušiť\r\n \r\n \r\n \r\n Áno\r\n \r\n \r\n \r\n\t \r\n \r\n\r\n","import { render } from \"./z-delete-team-member-modal.vue?vue&type=template&id=2975a162\"\nimport script from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-delete-team-member-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\t\n\t\t\n\t\t\t\n\t\t\t\t
Vytvoriť \n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\tSUB TASK \n\t\t\t\tBLOCKER \n\t\t\t \n\t\t \n\t \n \n\n","import { render } from \"./z-show-menu-modal.vue?vue&type=template&id=411639a2\"\nimport script from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\nexport * from \"./z-show-menu-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=367d6c96\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from \"vuex\";\n\nexport default createStore({\n state: {},\n getters: {},\n mutations: {},\n actions: {},\n modules: {},\n});","import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'\nimport store from '@/store'\n\nconst routes: Array = [\n\t{\n\t\tpath: '',\n\t\tredirect: '/auth'\n\t},\n\t{\n\t\tpath: '/auth/',\n\t\tcomponent: () => import('@/plugins/app/_layout/auth/auth.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/auth/login'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/login',\n\t\t\t\tname: 'Login',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/login/login.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-password',\n\t\t\t\tname: 'Forgot password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-password/forgot-password.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/forgot-success',\n\t\t\t\tname: 'Forgot success',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/forgot-success/forgot-success.vue'),\n\t\t\t\tmeta: {requiresAuth: false}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/auth/reset-password',\n\t\t\t\tname: 'Reset password',\n\t\t\t\tcomponent: () => import('@/plugins/lib@auth/reset-password/reset-password.vue'),\n\t\t\t\tmeta: {requiresAuth: null}\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/app',\n\t\tcomponent: () => import('@/plugins/app/_layout/app/app.layout.vue'),\n\t\tchildren: [\n\t\t\t{\n\t\t\t\tpath: '',\n\t\t\t\tredirect: '/app/dashboard'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpath: '/app/dashboard',\n\t\t\t\tredirect: '/app/dashboard/tasks',\n\t\t\t\tchildren: [\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/tasks',\n\t\t\t\t\t\tname: 'Dashboard - Tasks',\n\t\t\t\t\t\tmeta: { title: 'Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/teams',\n\t\t\t\t\t\tname: 'Dashboard - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams Overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/projects',\n\t\t\t\t\t\tname: 'Dashboard - Projects',\n\t\t\t\t\t\tmeta: { title: 'Projects overview', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@dashboard/projects/projects.vue')\n\t\t\t\t\t},\n\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/unscheduled',\n\t\t\t\t\t\tname: 'Overview - Unscheduled tasks',\n\t\t\t\t\t\tmeta: { title: 'Unscheduled Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/ongoing',\n\t\t\t\t\t\tname: 'Overview - Ongoing tasks',\n\t\t\t\t\t\tmeta: { title: 'Ongoing Sub Tasks', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/overview/teams',\n\t\t\t\t\t\tname: 'Overview - Teams',\n\t\t\t\t\t\tmeta: { title: 'Teams', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@overview/teams/teams.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/dashboard/user',\n\t\t\t\t\t\tname: 'Dashboard - User',\n\t\t\t\t\t\tmeta: { title: 'Profile', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/tm@profile/profile/my-profile.vue')\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tpath: '/app/search',\n\t\t\t\t\t\tname: 'Search',\n\t\t\t\t\t\tmeta: { title: 'Search Results', requiresAuth: true },\n\t\t\t\t\t\tcomponent: () => import('@/plugins/lib@search/search/search.vue')\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tpath: '/:catchAll(.*)',\n\t\tname: '404',\n\t\tcomponent: () => import('@/plugins/w@screen/404/404.vue'),\n\t\tmeta: {requiresAuth: null}\n\t}\n]\n\nconst router = createRouter({\n\thistory: createWebHashHistory(process.env.BASE_URL),\n\troutes\n})\n\nrouter.beforeEach((to, from, next) => {\n\tconst isLoggedIn = store.getters['auth/isLoggedIn']\n\n\tif (to.meta.requiresAuth === true) {\n\t\tif (isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Login'})\n\t} else if (to.meta.requiresAuth === false) {\n\t\tif (!isLoggedIn)\n\t\t\treturn next()\n\t\telse\n\t\t\treturn next({name: 'Dashboard - Tasks'})\n\t} else {\n\t\treturn next()\n\t}\n})\n\nexport default router\n","import axios from 'axios'\nimport store from '@/store'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(error))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, params, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(error.response || error))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","export const encodeGetParams = p =>\n\tObject.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&')\n\nexport function strToRegex(s) {\n\tlet re = s\n\tre = re.replace(/\\//g, '\\\\/')\n\tre = re.replace(/\\./g, '\\\\.')\n\tre = re.replace(/\\([^)]+\\)/g, '[^/]+')\n\treturn re\n}\n","import axios from 'axios'\nimport { encodeGetParams, strToRegex } from '../utils/moxios.util'\n\nexport class Moxios {\n\t_mocks = {}\n\n\tconstructor() {\n\t\taxios.interceptors.request.use(this._redirectRequestToMock.bind(this))\n\t\tthis._mocks = {}\n\t}\n\n\tmock(append) {\n\t\tfor (const k in append) {\n\t\t\tlet m = append[k]\n\n\t\t\tif (m === false) continue\n\n\t\t\tm = {}\n\n\t\t\tm.name = k\n\t\t\tm.url = k.split(' ')[1]\n\n\t\t\tif (!m.reUrl)\n\t\t\t\tm.reUrl = strToRegex( m.url )\n\n\t\t\tif (!m.matchMethod)\n\t\t\t\tm.matchMethod = k.split(' ')[0].toLowerCase()\n\n\t\t\tthis._mocks[k] = m\n\t\t}\n\t}\n\n\n\t_redirectRequestToMock(config) {\n\t\t// if (localStorage['isMoxios'] == 'false') {\n\t\t// \treturn config\n\t\t// }\n\n\t\tconst url = config.url.replace(/https?:\\/\\/[^/?]+/, '')\n\n\t\tlet mocked\n\n\t\tfor (const k in this._mocks) {\n\t\t\tconst m = this._mocks[k]\n\n\t\t\tif (config.method == m.matchMethod && url.match(m.reUrl)) {\n\t\t\t\tmocked = m\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (mocked) {\n\t\t\tif (!mocked.fname)\n\t\t\t\tprocess.env.VUE_APP_PLATFORM\n\t\t\t\t\t? mocked.fname = `/mock/${process.env.VUE_APP_PLATFORM}/${mocked.url}.${config.method.toUpperCase()}.json`\n\t\t\t\t\t: mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`\n\n\n\t\t\tconsole.log(mocked.fname = `/mock/${mocked.url}.${config.method.toUpperCase()}.json`)\n\n\t\t\tconst c = {\n\t\t\t\tmethod: 'get',\n\t\t\t\turl: window.location.origin + mocked.fname+'?___MOCK___&'+encodeGetParams(config.data||{}),\n\t\t\t}\n\n\t\t\tconfig = {...config, ...c}\n\t\t}\n\n\t\treturn config\n\t}\n\n}\n\n","import { App } \t\tfrom 'vue'\nimport { Moxios } \tfrom './models/moxios'\nimport { Options } \tfrom './types/index.js'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tconst moxios = new Moxios()\n\n\t\tif (!options || !options.routes || !Object.values(options.routes).length || options.disabled === true) return\n\n\t\tmoxios.mock(options.routes)\n\t}\n}","import { Options } \tfrom './types'\nimport mitt \t\tfrom 'mitt'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tconst events = mitt()\n\t\tapp.config.globalProperties.$events = events\n\t}\n}","import { Language, Options } from \"../types\"\nimport { Ref, ref } from 'vue'\nimport axios from 'axios'\nimport { createI18n, I18n as I18nType } from 'vue-i18n'\nimport { Preferences } from '@capacitor/preferences'\n\n\nexport class I18n {\n\tpublic currentLanguage: Ref = ref();\n\tpublic availableLanguages: Language[];\n\tpublic vendorI18n: I18nType\n\tpublic defaultLanguage: Language | null;\n\n\tprivate languageKey: string;\n\n\tconstructor(properties: Options) {\n\t\tthis.availableLanguages = properties.languages || []\n\t\tthis.defaultLanguage = properties.languages.find(language => language.value == properties.defaultLanguage)\n\t\tthis.languageKey = properties.languageKey || process.env.VUE_APP_PLATFORM + '_language' || 'w18n_language'\n\n\t\tthis.vendorI18n = createI18n({\n\t\t\tlegacy: true,\n\t\t\tfallbackLocale: this.defaultLanguage.value,\n\t\t\tmessages: this._loadLocaleMessages(),\n\t\t\tmissing: this._missingTranslation,\n\t\t\tpostTranslation: this._postTranslation,\n\t\t})\n\n\t\tthis.changeLanguage({ title: \"Slovenský\", flag: \"sk\", value: \"sk\" })\n\t\tthis.initCurrentLanguage()\n\t}\n\n\tpublic async initCurrentLanguage() {\n\t\tconst { value } = await Preferences.get({ key: this.languageKey })\n\n\t\tif (value) {\n\t\t\tthis.currentLanguage.value = JSON.parse(value)\n\t\t} else if (this.defaultLanguage) {\n\t\t\tthis.currentLanguage.value = this.defaultLanguage\n\t\t} else if (this.availableLanguages[0]) {\n\t\t\tthis.currentLanguage.value = this.availableLanguages[0]\n\t\t} else {\n\t\t\treturn console.error('[w18n] Could not init current language')\n\t\t}\n\n\t\tconst availableLanguages = {}\n\n\t\tthis.availableLanguages.forEach(language => {\n\t\t\tavailableLanguages[language.value] = language.title\n\t\t})\n\n\t\tthis.changeLanguage(this.currentLanguage.value)\n\t\t// Translations.setup(this.currentLanguage.value.value, availableLanguages)\n\n\t\tthis._addAxiosHeaders()\n\t}\n\n\tpublic changeLanguage(language: Language) {\n\t\tthis.currentLanguage.value = language\n\t\tthis._addAxiosHeaders()\n\n\t\tPreferences.set({\n\t\t\tkey: this.languageKey,\n\t\t\tvalue: JSON.stringify(language)\n\t\t})\n\n\t\tthis.vendorI18n.global.locale = language.value\n\t}\n\n\n\tprivate _addAxiosHeaders() {\n\t\taxios.interceptors.request.use(config => {\n\t\t\tif (this.currentLanguage.value && this.currentLanguage.value.value) {\n\t\t\t\tconfig.headers['Accept-Language'] = this.currentLanguage.value.value\n\t\t\t}\n\n\t\t\treturn config\n\t\t})\n\n\t\taxios.interceptors.response.use(\n\t\t\t(response) => {\n\t\t\t\treturn response\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tif(error.response) {\n\t\t\t\t\taxios.post('https://logger.wezeo.dev/cms/api/data/new', {\n\t\t\t\t\t\tdata: JSON.stringify(error)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(error?.response || error)\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic _loadLocaleMessages(path = '@/locales') {\n\t\tlet locales\n\t\ttry {\n\t\t\tlocales = require.context(\n\t\t\t\t'@/locales',\n\t\t\t\ttrue,\n\t\t\t\t/[A-Za-z0-9-_,\\s]+\\.json$/i\n\t\t\t)\n\t\t} catch (error) {\n\t\t\tconsole.warn('[@wezeo/i18n] Could not initialize i18n. Missing folder /src/locales.')\n\t\t\treturn {}\n\t\t}\n\n\t\tconst messages: { [key: string]: { [key: string]: string } } = {}\n\n\t\tlocales.keys().forEach((key) => {\n\t\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\t\tif (matched && matched.length > 1) {\n\t\t\t\tconst locale = matched[1]\n\n\t\t\t\tmessages[locale] = locales(key)\n\t\t\t}\n\t\t})\n\t\treturn messages\n\t}\n\n\tprivate _missingTranslation = (locale, key, instance?, type?) => {\n\t\treturn key\n\t}\n\n\tprivate _postTranslation = (translated) => {\n\t\treturn translated\n\t}\n}\n","import { Options } \tfrom './types'\nimport { I18n } \tfrom './models/i18n'\nimport events \t\tfrom '@/plugins/w/events'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true)\n\t\t\treturn\n\n\t\tif (!options || !options.languages || !options.defaultLanguage)\n\t\t\treturn console.warn('[@wezeo/i18n] Could not initialize i18n. Missing configuration options.')\n\n\t\tif (!app.config.globalProperties.$events) {\n\t\t\tapp.use(events)\n\t\t}\n\n\t\tconst i18n = new I18n(options)\n\n\t\tapp.use(i18n.vendorI18n)\n\t\tapp.config.globalProperties.$w18n = i18n\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\n\nimport {\n\tIonContent, IonPage, IonLabel, IonBackButton, IonCheckbox, IonText, IonButton, IonItem,\n\tIonToolbar, IonHeader, IonFooter, IonSlides, IonSlide, IonRow, IonCol, IonGrid, IonInput, IonButtons,\n\tIonIcon, IonList, IonTitle, IonMenu, IonRouterOutlet, IonMenuButton, IonSegment, IonSegmentButton, IonVirtualScroll,\n\tIonTextarea, IonSearchbar, IonRefresherContent, IonRefresher, IonInfiniteScrollContent, IonInfiniteScroll, IonAvatar,\n\tIonModal, IonRadioGroup, IonRadio, IonNote, IonCard, IonCardContent, IonTabBar, IonTabButton, IonMenuToggle, IonFab,\n\tIonFabButton, IonReorderGroup, IonReorder, IonFabList, IonSelect, IonSelectOption, IonToggle, IonBadge, IonChip, IonTabs, IonItemGroup, IonThumbnail, IonItemSliding, IonItemOption, IonItemOptions, IonImg, IonSkeletonText, IonSpinner, IonSplitPane\n} from '@ionic/vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('ion-content', IonContent)\n\t\tapp.component('ion-page', IonPage)\n\t\tapp.component('ion-label', IonLabel)\n\t\tapp.component('ion-back-button', IonBackButton)\n\t\tapp.component('ion-checkbox', IonCheckbox)\n\t\tapp.component('ion-text', IonText)\n\t\tapp.component('ion-button', IonButton)\n\t\tapp.component('ion-item', IonItem)\n\t\tapp.component('ion-item-group', IonItemGroup)\n\t\tapp.component('ion-item-sliding', IonItemSliding)\n\t\tapp.component('ion-item-option', IonItemOption)\n\t\tapp.component('ion-item-options', IonItemOptions)\n\t\tapp.component('ion-toolbar', IonToolbar)\n\t\tapp.component('ion-header', IonHeader)\n\t\tapp.component('ion-footer', IonFooter)\n\t\tapp.component('ion-slides', IonSlides)\n\t\tapp.component('ion-slide', IonSlide)\n\t\tapp.component('ion-spinner', IonSpinner)\n\t\tapp.component('ion-row', IonRow)\n\t\tapp.component('ion-col', IonCol)\n\t\tapp.component('ion-grid', IonGrid)\n\t\tapp.component('ion-input', IonInput)\n\t\tapp.component('ion-buttons', IonButtons)\n\t\tapp.component('ion-icon', IonIcon)\n\t\tapp.component('ion-img', IonImg)\n\t\tapp.component('ion-list', IonList)\n\t\tapp.component('ion-skeleton-text', IonSkeletonText)\n\t\tapp.component('ion-title', IonTitle)\n\t\tapp.component('ion-menu', IonMenu),\n\t\tapp.component('ion-split-pane', IonSplitPane)\n\t\tapp.component('ion-menu-button', IonMenuButton)\n\t\tapp.component('ion-router-outlet', IonRouterOutlet)\n\t\tapp.component('ion-segment', IonSegment)\n\t\tapp.component('ion-segment-button', IonSegmentButton)\n\t\tapp.component('ion-virtual-scroll', IonVirtualScroll)\n\t\tapp.component('ion-textarea', IonTextarea)\n\t\tapp.component('ion-searchbar', IonSearchbar)\n\t\tapp.component('ion-refresher-content', IonRefresherContent)\n\t\tapp.component('ion-refresher', IonRefresher)\n\t\tapp.component('ion-infinite-scroll-content', IonInfiniteScrollContent)\n\t\tapp.component('ion-infinite-scroll', IonInfiniteScroll)\n\t\tapp.component('ion-avatar', IonAvatar)\n\t\tapp.component('ion-thumbnail', IonThumbnail)\n\t\tapp.component('ion-modal', IonModal)\n\t\tapp.component('ion-radio-group', IonRadioGroup)\n\t\tapp.component('ion-radio', IonRadio)\n\t\tapp.component('ion-note', IonNote)\n\t\tapp.component('ion-card', IonCard)\n\t\tapp.component('ion-card-content', IonCardContent)\n\t\tapp.component('ion-tab-bar', IonTabBar)\n\t\tapp.component('ion-tab-button', IonTabButton),\n\t\tapp.component('ion-menu-toggle', IonMenuToggle)\n\t\tapp.component('ion-fab', IonFab)\n\t\tapp.component('ion-fab-button', IonFabButton)\n\t\tapp.component('ion-fab-list', IonFabList)\n\t\tapp.component('ion-reorder-group', IonReorderGroup)\n\t\tapp.component('ion-reorder', IonReorder)\n\t\tapp.component('ion-select', IonSelect)\n\t\tapp.component('ion-select-option', IonSelectOption)\n\t\tapp.component('ion-toggle', IonToggle)\n\t\tapp.component('ion-badge', IonBadge)\n\t\tapp.component('ion-chip', IonChip),\n\t\tapp.component('ion-tabs', IonTabs)\n\t}\n}","/* eslint-disable */\nimport axios from 'axios'\nimport store from '@/store'\n\nasync function _unauthorised(error: any) {\n\tif (error?.response?.data?.message == 'Unauthenticated.')\n\t\treturn store.dispatch('auth/logout')\n\t\n\treturn Promise.reject(error)\n}\n\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error) => _unauthorised(error),\n)","import axios from '@/plugins/w/axios/models/axios'\nimport './refreshExpired'\n\nexport default {\n\tnamespaced: true,\n\tstate: {\n\t\ttoken: localStorage.getItem('wzo_vue_user_token') || '',\n\t\tuser: JSON.parse(localStorage.getItem('wzo_vue_user_user') || '{}'),\n\t},\n\tmutations: {\n\t\tauth_success(state: any, data: any) {\n\t\t\tif (data.token) {\n\t\t\t\tstate.token = data.token\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_token', data.token)\n\t\t\t}\n\n\t\t\tif (data.user) {\n\t\t\t\tstate.user = data.user\n\t\t\t\tlocalStorage.setItem('wzo_vue_user_user', JSON.stringify(data.user))\n\t\t\t}\n\t\t},\n\t\tauth_error(state: any) {\n\t\t\tstate.token = ''\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t},\n\t\tlogout(state: any) {\n\t\t\tstate.token = ''\n\t\t\tstate.user = null\n\t\t\tlocalStorage.removeItem('wzo_vue_user_token')\n\t\t\tlocalStorage.removeItem('wzo_vue_user_user')\n\t\t\twindow.open(location.origin, \"_self\")\n\t\t}\n\t},\n\tactions: {\n\t\tlogin({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/tokens/create', {data: credentials})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tsignup({commit }: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tcommit('auth_request')\n\n\t\t\t\taxios.post_data('v1/auth/signup', credentials)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst token = response.token\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\ttoken: token,\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tcommit('auth_error')\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tlogout({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve) => {\n\t\t\t\taxios.post_auth_data('v1/auth/invalidate')\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tforgotPassword({commit}: {commit: any}, credentials: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post('v1/users/forgot', {data: credentials})\n\t\t\t\t\t.then(response => resolve(response))\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\t// eslint-disable-next-line\n\t\tresetPassword({commit}: {commit: any}, credentials: any) {\n\t\t\tcommit('auth_success', {token: credentials.token})\n\t\t\t\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.post_auth_data('v1/users/reset', {data: credentials})\n\t\t\t\t\t.then(response => {\n\t\t\t\t\t\tcommit('logout')\n\t\t\t\t\t\tresolve(response)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => reject(error))\n\t\t\t})\n\t\t},\n\t\tasync refreshToken({commit}: {commit: any}) {\n\t\t\ttry {\n\t\t\t\tconst response: any = await axios.post_auth_data('v1/auth/refresh')\n\n\t\t\t\tconst token = response.token\n\t\t\t\tconst user = response.user\n\n\t\t\t\tcommit('auth_success', {\n\t\t\t\t\ttoken: token,\n\t\t\t\t\tuser: user\n\t\t\t\t})\n\n\t\t\t\treturn token\n\t\t\t} catch (error) {\n\t\t\t\tcommit('auth_error')\n\t\t\t\tconsole.error(error)\n\t\t\t}\n\t\t},\n\t\tasync userInfo({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/auth/info')\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t\tupdateUserInfo({commit}: {commit: any}, data: any) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.put_auth(`v1/users/${data.id}`, {data: data})\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tconst user = response.user\n\n\t\t\t\t\t\tcommit('auth_success', {\n\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tresolve(user)\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\t},\n\tgetters: {\n\t\tisLoggedIn: (state: any) => {\n\t\t\treturn !!state.token\n\t\t},\n\t\tuser: (state: any) => {\n\t\t\treturn state.user\n\t\t},\n\t\ttoken: (state: any) => {\n\t\t\treturn (state.token && state.token != undefined) ? state.token : null\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport auth \t\tfrom './auth.store'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled == true) return\n\n\t\tif (!app.config.globalProperties.$store)\n\t\t\treturn console.warn('[w/auth] Could not initialize. App does not have vuex store added.')\n\n\t\tapp.config.globalProperties.$store.registerModule('auth', auth)\n\t}\n}","import { Options } \tfrom './types'\n// import { Toast } from './models/Toast'\nimport 'vue-toast-notification/dist/theme-sugar.css'\nimport VueToast from 'vue-toast-notification'\n\nexport default {\n\tinstall: (app, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.use(VueToast)\n\n\t\t// app.config.globalProperties.$wToast = new Toast()\n\t\tapp.config.globalProperties.$parseError = (error) => error?.data?.message || error?.response?.data?.message || error?.message || error\n\t}\n}","\n\t\n\t\t
\n\t\t
{{ content.error }}
\n\t\t
{{ emptyMessage }}
\n\t\t
\n\t
\n \n\n\n\n","import { render } from \"./w-loadable.vue?vue&type=template&id=a2444234&scoped=true\"\nimport script from \"./w-loadable.vue?vue&type=script&lang=js\"\nexport * from \"./w-loadable.vue?vue&type=script&lang=js\"\n\nimport \"./w-loadable.vue?vue&type=style&index=0&id=a2444234&lang=sass&scoped=true\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a2444234\"]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport WLoadable\tfrom './_components/w-loadable.vue'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.component('W-loadable', WLoadable)\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\n\nimport axios\t \tfrom '@/plugins/w/axios'\nimport moxios\t \tfrom '@/plugins/w/moxios'\nimport events\t \tfrom '@/plugins/w/events'\nimport i18n\t \t\tfrom '@/plugins/w/i18n'\nimport ionic\t \tfrom '@/plugins/w/ionic'\nimport auth\t\t\tfrom '@/plugins/w/auth'\nimport toast\t\tfrom '@/plugins/w/toast'\nimport loadable\t\tfrom '@/plugins/w/loadable'\n\nexport default {\n\tinstall: (app: App, options: Options = {}) => {\n\t\tevents.install(app, options.events)\n\t\taxios.install(app, options.axios)\n\t\ti18n.install(app, options.i18n)\n\t\tmoxios.install(app, options.moxios)\n\t\tionic.install(app, options.ionic)\n\t\tauth.install(app, options.auth)\n\t\ttoast.install(app, options.toast)\n\t\tloadable.install(app, options.loadable)\n\t}\n}","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseAndTranslate(data) {\n\t\tconst errorsArray = this._parseToArrayOfStrings(data)\n\t\treturn errorsArray.join(', ')\n\t},\n\n\t_parseToArrayOfStrings(data) {\n\t\tif (data?.data?.message) {\n\t\t\treturn [$t(data.data.message)]\n\t\t}\n\n\t\tif (typeof data == 'string') {\n\t\t\treturn [$t(data)]\n\t\t}\n\n\t\tif (data?.response?.data)\n\t\t\treturn Object.values(data?.response?.data)\n\n\t\tif (data && data.error && typeof data.error == 'string') {\n\t\t\treturn [$t(data.error)]\n\t\t}\n\n\t\tif (data && data.error && typeof data.error == 'object') {\n\t\t\treturn Object.values($t(data.error))\n\t\t}\n\n\t\tif (data.data && data.data.error && typeof data.data.error == 'string') {\n\t\t\treturn [$t(data.data.error)]\n\t\t}\n\n\t\tif (data && data.data && data.data.error && typeof data.data.error == 'object') {\n\t\t\treturn Object.values(data.data.error).map(error => $t(error[0]) + ' ')\n\t\t}\n\n\t\tif (data.statusText) {\n\t\t\treturn [$t(data.statusText)]\n\t\t}\n\n\t\treturn [data]\n\t}\n}","import axios from 'axios'\nimport store from '@/store'\nimport toastUtils from '@/plugins/w/toast/utils/toast.utils'\n\naxios.defaults.baseURL = process.env.VUE_APP_WAXIOS_URL\n\nexport default {\n\tasync get(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync get_data(url: string, config?: any) {\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync get_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.get(url, config)\n\t\t\t.then(response => Promise.resolve(response.data.data))\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync post_data(url: string, params = null, config?: any) {\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync post_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.post(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_auth(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync delete_data(url: string, config?: any) {\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync delete_auth_data(url: string, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.delete(url, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_auth_form(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\t\tconfig.headers['Content-Type'] = 'multipart/form-data'\n\t\tconst formData = this._objectToFormData(params)\n\t\tformData.append('_method', 'put')\n\t\tconfig.transformRequest = formData => formData\n\n\t\treturn axios.post(url, formData, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync patch_data(url: string, params = null, config?: any) {\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync patch_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.patch(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_auth(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error)))\n\t},\n\n\tasync put_data(url: string, params = null, config?: any) {\n\t\treturn axios.put(url, this._objectToFormData(params), config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\tasync put_auth_data(url: string, params = null, config?: any) {\n\t\tconfig = this._config(config)\n\n\t\treturn axios.put(url, {data: params}, config)\n\t\t\t.then(response => response.data.data)\n\t\t\t.catch(error => Promise.reject(toastUtils.parseAndTranslate(error.response || error)))\n\t},\n\n\t_config(config: any) {\n\t\tif (config) console.error('NOT IMPLEMENTED')\n\n\t\tif (!store.getters['auth/token']) {\n\t\t\treturn {headers: {}}\n\t\t}\n\n\t\treturn {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${store.getters['auth/token']}`\n\t\t\t}\n\t\t}\n\t},\n\n\t_buildFormData(formData, data, parentKey) {\n\t\tif (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File))\n\t\t\tObject.keys(data).forEach(key => this._buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key));\n\t\telse\n\t\t\tformData.append(parentKey, data == null ? '' : data);\n\t},\n\n\t_objectToFormData(data) {\n\t\tconst formData = new FormData()\n\t\tthis._buildFormData(formData, {data: data})\n\n\t\treturn formData\n\t}\n}","import { App } \t\tfrom 'vue'\nimport { Options } \tfrom './types'\nimport axios \t\tfrom './models/axios'\n\nexport default {\n\tinstall: (app: App, options: Options) => {\n\t\tif (options && options.disabled === true) return\n\n\t\tapp.config.globalProperties.$axios = axios\n\t}\n}","import axios from '@/plugins/w@custom/axios/models/axios'\nimport store from '@/store'\n\nexport default {\n\tnamespaced: true,\n\n\tstate: {\n\t\tmastertasks: null,\n\t\temployees: null,\n\t\tteams: null,\n\t\tprojects: null,\n\t\tunscheduledSubtasks: null,\n\t\tongoingSubtasks: null,\n\t\tinitialized: false\n\t},\n\n\tmutations: {\n\t\tset_mastertasks(state: any, mastertasks: any) {\n\t\t\tstate.mastertasks = mastertasks\n\t\t},\n\n\t\tset_employees(state: any, employees: any) {\n\t\t\tstate.employees = employees\n\n\t\t\t// TODO: Remove\n\t\t\t// const employee = employees.find(employee => employee.email == 'zachariah.vonrueden@jandl.sk')\n\t\t\t// store.commit('auth/auth_success', {\n\t\t\t// \tuser: employee\n\t\t\t// })\n\t\t},\n\n\t\tset_teams(state: any, teams: any) {\n\t\t\tstate.teams = teams\n\t\t},\n\n\t\tset_projects(state: any, projects: any) {\n\t\t\tstate.projects = projects\n\t\t},\n\n\t\tset_unscheduled_subtasks(state: any, subtasks: any) {\n\t\t\tstate.unscheduledSubtasks = subtasks\n\t\t},\n\n\t\tset_ongoing_subtasks(state: any, subtasks: any) {\n\t\t\tstate.ongoingSubtasks = subtasks\n\t\t},\n\n\t\tupdate_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.map(t => {\n\t\t\t\tif (t.id == team.id)\n\t\t\t\t\treturn team\n\n\t\t\t\treturn t\n\t\t\t})\n\t\t},\n\n\t\tsave_team(state: any, team: any) {\n\t\t\tstate.teams.push(team)\n\t\t},\n\n\t\tdelete_team(state: any, team: any) {\n\t\t\tstate.teams = state.teams.filter(t => t.id != team.id)\n\t\t},\n\n\t\tupdate_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.map(st \t\t=> st.id == subtask.id ? subtask : st)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.map(st \t\t\t=> st.id == subtask.id ? subtask : st)\n\t\t\t\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks \t= mastertask.subtasks.map(st => st.id == subtask.id ? subtask : st)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tdelete_subtask(state: any, subtask: any) {\n\t\t\tstate.unscheduledSubtasks \t= state.unscheduledSubtasks.filter(st \t=> st.id != subtask.id)\n\t\t\tstate.ongoingSubtasks \t\t= state.ongoingSubtasks.filter(st \t\t=> st.id != subtask.id)\n\n\t\t\t// state.mastertasks \t\t\t= state.mastertasks.map(mastertask \t\t=> {\n\t\t\t// \tmastertask.subtasks = mastertask.subtasks.filter(st => st.id != subtask.id)\n\t\t\t// \treturn mastertask\n\t\t\t// })\n\t\t},\n\n\t\tinitialized(state: any) {\n\t\t\tstate.initialized = true\n\t\t}\n\t},\n\n\tactions: {\n\t\tinitialize({dispatch, commit}: {dispatch: any, commit: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadEmployees'),\n\t\t\t\tdispatch('loadTeams'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t]).then(() => commit('initialized'))\n\t\t},\n\n\t\treloadSubtasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks'),\n\t\t\t\tdispatch('loadProjects'),\n\t\t\t\tdispatch('loadUnscheduledSubtasks'),\n\t\t\t\tdispatch('loadOngoingSubtasks')\n\t\t\t])\n\t\t},\n\n\t\treloadMastertasks({dispatch}: {dispatch: any}) {\n\t\t\treturn Promise.all([\n\t\t\t\tdispatch('loadMastertasks')\n\t\t\t])\n\t\t},\n\n\t\tloadMastertasks({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t// axios.get_auth('v1/mastertasks')\n\t\t\t\taxios.get_auth('v1/mastertasks/?simple=true')\n\t\t\t\t\t.then(({ mastertasks }) => {\n\t\t\t\t\t\tcommit('set_mastertasks', mastertasks)\n\t\t\t\t\t\tresolve(mastertasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_mastertasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadEmployees({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/employees')\n\t\t\t\t\t.then(employees => {\n\t\t\t\t\t\tcommit('set_employees', employees)\n\t\t\t\t\t\tresolve(employees)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_employees', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadTeams({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/teams')\n\t\t\t\t\t.then(teams => {\n\t\t\t\t\t\tcommit('set_teams', teams)\n\t\t\t\t\t\tresolve(teams)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_teams', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadProjects({commit}: {commit: any}) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth_data('v1/projects')\n\t\t\t\t\t.then(project => {\n\t\t\t\t\t\tcommit('set_projects', project)\n\t\t\t\t\t\tresolve(project)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_projects', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t\n\t\t},\n\n\t\tloadUnscheduledSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=unscheduled&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_unscheduled_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t})\n\t\t},\n\n\t\tloadOngoingSubtasks({commit}: {commit: any}, employeeId = store.getters['auth/user']?.id) {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\taxios.get_auth(`v1/subtasks?type=ongoing&employee_id=${employeeId}`)\n\t\t\t\t\t.then(({subtasks}) => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', subtasks)\n\t\t\t\t\t\tresolve(subtasks)\n\t\t\t\t\t})\n\t\t\t\t\t.catch(error => {\n\t\t\t\t\t\tcommit('set_ongoing_subtasks', {error: error})\n\t\t\t\t\t\treject(error)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t}\n\n\t},\n\n\tgetters: {\n\t\tmastertasks: (state: any) => {\n\t\t\treturn state.mastertasks\n\t\t},\n\n\t\temployees: (state: any) => {\n\t\t\treturn state.employees\n\t\t},\n\n\t\tenrichedEmployees: (state: any) => {\n\t\t\tif (!state.employees) return []\n\t\t\t\n\t\t\treturn state.employees.map(employee => ({\n\t\t\t\t...employee, \n\t\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t\t})).sort((a, b) => a.name < b.name ? -1 : 1)\n\t\t},\n\n\t\tteams: (state: any) => {\n\t\t\treturn state.teams\n\t\t},\n\n\t\tprojects: (state: any) => {\n\t\t\treturn state.projects\n\t\t},\n\n\t\tunscheduledSubtasks: (state: any) => {\n\t\t\treturn state.unscheduledSubtasks\n\t\t},\n\n\t\tongoingSubtasks: (state: any) => {\n\t\t\treturn state.ongoingSubtasks\n\t\t},\n\n\t\tisInitialized: (state: any) => {\n\t\t\treturn state.initialized\n\t\t}\n\t}\n}","import { App } \t\tfrom 'vue'\nimport tmStore \tfrom './store'\n\nexport default {\n\tinstall: (app: App) => {\n\t\tapp.config.globalProperties.$store.registerModule('tm', tmStore)\n\t}\n}","\n\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t\t\n\t\t\t\t \n\t\t\t \n\t\t \n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{{ texts.allDay }} \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{{ cell.label }} \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{{ getWeekNumber(i - 1) }} \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ events.length }} \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ texts.noEvent }} \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ utils.date.formatTime(event.start, TimeFormat) }} - {{ utils.date.formatTime(event.end, TimeFormat, null, true) }} +{{ event.daysCount - 1 }}{{ (texts.day[0] || '').toLowerCase() }} \n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t
\n\t
\n \n\n\n","/**\n * Date Utils & prototypes.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nlet now, todayDate, todayF, self\nlet _dateObject = {}\nlet _timeObject = {}\n\nexport default class DateUtils {\n texts = {}\n\n constructor (texts, noPrototypes = false) {\n self = this // For use in Date prototypes.\n this._texts = texts\n\n // Add prototypes ASAP - only once.\n if (!noPrototypes && Date && !Date.prototype.addDays) this._initDatePrototypes()\n\n // @todo: This would be nicer, but how to set Date.noPrototypes ASAP only if user wants?\n // if (Date.noPrototypes) delete Date.noPrototypes\n // else this._initDatePrototypes()\n }\n\n _initDatePrototypes () {\n /* eslint-disable no-extend-native */\n Date.prototype.addDays = function (days) { return self.addDays(this, days) }\n Date.prototype.subtractDays = function (days) { return self.subtractDays(this, days) }\n Date.prototype.addHours = function (hours) { return self.addHours(this, hours) }\n Date.prototype.subtractHours = function (hours) { return self.subtractHours(this, hours) }\n Date.prototype.addMinutes = function (minutes) { return self.addMinutes(this, minutes) }\n Date.prototype.subtractMinutes = function (minutes) { return self.subtractMinutes(this, minutes) }\n Date.prototype.getWeek = function () { return self.getWeek(this) }\n Date.prototype.isToday = function () { return self.isToday(this) }\n Date.prototype.isLeapYear = function () { return self.isLeapYear(this) }\n Date.prototype.format = function (format = 'YYYY-MM-DD') { return self.formatDate(this, format) }\n Date.prototype.formatTime = function (format = 'HH:mm') { return self.formatTime(this, format) }\n /* eslint-enable no-extend-native */\n }\n\n removePrototypes () {\n delete Date.prototype.addDays\n delete Date.prototype.subtractDays\n delete Date.prototype.addHours\n delete Date.prototype.subtractHours\n delete Date.prototype.addMinutes\n delete Date.prototype.subtractMinutes\n delete Date.prototype.getWeek\n delete Date.prototype.isToday\n delete Date.prototype.isLeapYear\n delete Date.prototype.format\n delete Date.prototype.formatTime\n }\n\n updateTexts (texts) {\n this._texts = texts\n }\n\n // Cache Today's date (to a maximum) for better isToday() performances. Formatted without leading 0.\n // We still need to update Today's date when Today changes without page refresh.\n _todayFormatted () {\n if (todayDate !== (new Date()).getDate()) {\n now = new Date()\n todayDate = now.getDate()\n todayF = `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}`\n }\n\n return todayF\n }\n\n // UTILITIES.\n // ====================================================================\n addDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() + days)\n return d\n }\n\n subtractDays (date, days) {\n const d = new Date(date.valueOf())\n d.setDate(d.getDate() - days)\n return d\n }\n\n addHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() + hours)\n return d\n }\n\n subtractHours (date, hours) {\n const d = new Date(date.valueOf())\n d.setHours(d.getHours() - hours)\n return d\n }\n\n addMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() + minutes)\n return d\n }\n\n subtractMinutes (date, minutes) {\n const d = new Date(date.valueOf())\n d.setMinutes(d.getMinutes() - minutes)\n return d\n }\n\n getWeek (date) {\n const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n const dayNum = d.getUTCDay() || 7\n d.setUTCDate(d.getUTCDate() + 4 - dayNum)\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n }\n\n isToday (date) {\n return `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}` === this._todayFormatted()\n }\n\n isLeapYear (date) {\n const year = date.getFullYear()\n return !(year % 400) || (year % 100 && !(year % 4))\n }\n\n // Returns today if it's FirstDayOfWeek (Monday or Sunday) or previous FirstDayOfWeek otherwise.\n getPreviousFirstDayOfWeek (date = null, weekStartsOnSunday) {\n const prevFirstDayOfWeek = (date && new Date(date.valueOf())) || new Date()\n const dayModifier = weekStartsOnSunday ? 7 : 6\n prevFirstDayOfWeek.setDate(prevFirstDayOfWeek.getDate() - (prevFirstDayOfWeek.getDay() + dayModifier) % 7)\n return prevFirstDayOfWeek\n }\n\n /**\n * Converts a string to a Javascript Date object. If a Date object is passed, return it as is.\n *\n * @param {String | Date} date the string to convert to Date.\n * @return {Date} the equivalent Javascript Date object.\n */\n stringToDate (date) {\n if (date instanceof Date) return date\n // Regexp way is less performant: https://jsperf.com/string-to-date-regexp-vs-new-date\n // const [, y, m, d, h = 0, min = 0] = date.match(/(\\d{4})-(\\d{2})-(\\d{2})(?: (\\d{2}):(\\d{2}))?/)\n // return new Date(y, parseInt(m) - 1, d, h, min)\n\n if (date.length === 10) date += ' 00:00'\n return new Date(date.replace(/-/g, '/')) // replace '-' with '/' for Safari.\n }\n\n /**\n * Simply takes a Date and returns the associated time in minutes (sum of hours + minutes).\n *\n * @param {Date} date the JavaScript Date to extract minutes from.\n * @return {Number} the number of minutes (total of hours plus minutes).\n */\n dateToMinutes = date => date.getHours() * 60 + date.getMinutes()\n\n /**\n * Count the number of days this date range spans onto.\n * E.g. countDays(2019-11-02 18:00, 2019-11-03 02:00) = 2\n *\n * @param {String | Date} start the start date\n * @param {String | Date} end the end date\n * @return {Integer} The number of days this date range involves\n */\n countDays (start, end) {\n // replace '-' with '/' for Safari.\n if (typeof start === 'string') start = start.replace(/-/g, '/')\n if (typeof end === 'string') end = end.replace(/-/g, '/')\n\n // Set start & end at midnight then compare the delta. Don't modify the original dates.\n start = (new Date(start)).setHours(0, 0, 0, 0)\n // Set end at midnight plus 1 sec, so Math.ceil will round it up to a full day.\n end = (new Date(end)).setHours(0, 0, 1, 0)\n\n // Remove the potential daylight saving delta.\n const timezoneDiffMs = (new Date(end).getTimezoneOffset() - new Date(start).getTimezoneOffset()) * 60 * 1000\n return Math.ceil((end - start - timezoneDiffMs) / (24 * 3600 * 1000))\n }\n\n /**\n * Take 2 dates and check if within the same time step (useful in overlapping events).\n *\n * @return {Boolean} `true` if their time is included in the same time step,\n * this means these 2 dates are very close.\n */\n datesInSameTimeStep (date1, date2, timeStep) {\n return Math.abs(date1.getTime() - date2.getTime()) <= timeStep * 60 * 1000\n }\n // ====================================================================\n\n // FORMATTERS.\n // ====================================================================\n /**\n * Formats a date/time to the given format and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @return {String} the formatted date.\n */\n formatDate (date, format = 'YYYY-MM-DD', texts = null) {\n if (!texts) texts = this._texts\n if (!format) format = 'YYYY-MM-DD' // Allows passing null for default format.\n if (format === 'YYYY-MM-DD') return this.formatDateLite(date)\n\n // Reinit the date and time object on each function call.\n _dateObject = {}\n _timeObject = {}\n\n // Each keyword is a function to load the dateObject or timeObject on demand: no wasted resource.\n const dateObj = {\n YYYY: () => this._hydrateDateObject(date, texts).YYYY,\n YY: () => this._hydrateDateObject(date, texts).YY(),\n M: () => this._hydrateDateObject(date, texts).M,\n MM: () => this._hydrateDateObject(date, texts).MM(),\n MMM: () => this._hydrateDateObject(date, texts).MMM(),\n MMMM: () => this._hydrateDateObject(date, texts).MMMM(),\n MMMMG: () => this._hydrateDateObject(date, texts).MMMMG(),\n D: () => this._hydrateDateObject(date, texts).D,\n DD: () => this._hydrateDateObject(date, texts).DD(),\n S: () => this._hydrateDateObject(date, texts).S(),\n d: () => this._hydrateDateObject(date, texts).d,\n dd: () => this._hydrateDateObject(date, texts).dd(),\n ddd: () => this._hydrateDateObject(date, texts).ddd(),\n dddd: () => this._hydrateDateObject(date, texts).dddd(),\n HH: () => this._hydrateTimeObject(date, texts).HH,\n H: () => this._hydrateTimeObject(date, texts).H,\n hh: () => this._hydrateTimeObject(date, texts).hh,\n h: () => this._hydrateTimeObject(date, texts).h,\n am: () => this._hydrateTimeObject(date, texts).am,\n AM: () => this._hydrateTimeObject(date, texts).AM,\n mm: () => this._hydrateTimeObject(date, texts).mm,\n m: () => this._hydrateTimeObject(date, texts).m\n }\n\n return format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = dateObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result() : contents\n })\n }\n\n // More performant function to convert a Date to `YYYY-MM-DD` formatted string only.\n formatDateLite (date) {\n const m = date.getMonth() + 1\n const d = date.getDate()\n return `${date.getFullYear()}-${m < 10 ? '0' : ''}${m}-${d < 10 ? '0' : ''}${d}`\n }\n\n /**\n * Formats a time (from Date or number of mins) to the given format and returns the formatted string.\n *\n * @param {Date | Number} date a JavaScript Date object or a time in minutes.\n * @param {String} format the wanted format.\n * @param {Object} texts Optional: the localized texts object to override the vue-cal one in this._texts.\n * This becomes useful when showing multiple instances with different languages,\n * like in the documentation page.\n * @param {Boolean} round if time is 23:59:59, rounds up to 24:00 for formatting only.\n * @return {String} the formatted time.\n */\n formatTime (date, format = 'HH:mm', texts = null, round = false) {\n let shouldRound = false\n if (round) {\n const [h, m, s] = [date.getHours(), date.getMinutes(), date.getSeconds()]\n if ((h + m + s) === (23 + 59 + 59)) shouldRound = true\n }\n\n if (date instanceof Date && format === 'HH:mm') return shouldRound ? '24:00' : this.formatTimeLite(date)\n\n _timeObject = {} // Reinit the time object on each function call.\n if (!texts) texts = this._texts\n const timeObj = this._hydrateTimeObject(date, texts)\n\n const formatted = format.replace(/(\\{[a-zA-Z]+\\}|[a-zA-Z]+)/g, (m, contents) => {\n const result = timeObj[contents.replace(/\\{|\\}/g, '')]\n return result !== undefined ? result : contents\n })\n\n // Round 23:59:59 to 24:00. For 12-hour format there is nothing to replace: as both are 12am.\n // Also don't return `24:00` straight away as the user format may be different.\n return shouldRound ? formatted.replace('23:59', '24:00') : formatted\n }\n\n /**\n * Formats a time to 'HH:mm' from a Date and returns the formatted string.\n *\n * @param {Date} date a JavaScript Date object to format.\n * @return {String} the formatted time.\n */\n formatTimeLite (date) {\n const h = date.getHours()\n const m = date.getMinutes()\n return `${(h < 10 ? '0' : '') + h}:${(m < 10 ? '0' : '') + m}`\n }\n\n _nth (d) {\n if (d > 3 && d < 21) return 'th'\n switch (d % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n _hydrateDateObject (date, texts) {\n if (_dateObject.D) return _dateObject\n\n const YYYY = date.getFullYear()\n const M = date.getMonth() + 1\n const D = date.getDate()\n const day = date.getDay() // Day of the week.\n const dayNumber = (day - 1 + 7) % 7 // Day of the week. 0 to 6 with 6 = Sunday.\n // Some of this props are functions, to only calculate on demand.\n _dateObject = {\n // Year.\n YYYY, // 2019.\n YY: () => YYYY.toString().substring(2), // 19.\n\n // Month.\n M, // 1 to 12.\n MM: () => (M < 10 ? '0' : '') + M, // 01 to 12.\n MMM: () => texts.months[M - 1].substring(0, 3), // Jan to Dec.\n MMMM: () => texts.months[M - 1], // January to December.\n MMMMG: () => (texts.monthsGenitive || texts.months)[M - 1], // January to December in genitive form (Greek...)\n\n // Day.\n D, // 1 to 31.\n DD: () => (D < 10 ? '0' : '') + D, // 01 to 31.\n S: () => this._nth(D), // st, nd, rd, th.\n\n // Day of the week.\n d: dayNumber + 1, // 1 to 7 with 7 = Sunday.\n dd: () => texts.weekDays[dayNumber][0], // M to S.\n ddd: () => texts.weekDays[dayNumber].substr(0, 3), // Mon to Sun.\n dddd: () => texts.weekDays[dayNumber] // Monday to Sunday.\n }\n\n return _dateObject\n }\n\n _hydrateTimeObject (date, texts) {\n if (_timeObject.am) return _timeObject\n\n let H, m\n if (date instanceof Date) {\n H = date.getHours()\n m = date.getMinutes()\n }\n else {\n H = Math.floor(date / 60)\n m = Math.floor(date % 60)\n }\n\n const h = H % 12 ? H % 12 : 12\n const am = (texts || { am: 'am', pm: 'pm' })[H === 24 || H < 12 ? 'am' : 'pm']\n _timeObject = {\n H,\n h,\n HH: (H < 10 ? '0' : '') + H,\n hh: (h < 10 ? '0' : '') + h,\n am,\n AM: am.toUpperCase(),\n m,\n mm: (m < 10 ? '0' : '') + m\n }\n\n return _timeObject\n }\n // ====================================================================\n}\n","/**\n * Cell Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst minutesInADay = 24 * 60\n\nexport default class CellUtils {\n _vuecal = null\n\n constructor (vuecal) {\n this._vuecal = vuecal\n }\n\n /**\n * Select a cell and go to narrower view on double click or single click according to vuecalProps option.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n selectCell = (force = false, date, split) => {\n // Cell-click event returns a date and time at cursor position.\n this._vuecal.$emit('cell-click', split ? { date, split } : date)\n\n // Switch to narrower view.\n if (this._vuecal.clickToNavigate || force) this._vuecal.switchToNarrowerView()\n\n // Handle double click manually for touch devices.\n else if (this._vuecal.dblclickToNavigate && 'ontouchstart' in window) {\n this._vuecal.domEvents.dblTapACell.taps++\n\n setTimeout(() => (this._vuecal.domEvents.dblTapACell.taps = 0), this._vuecal.domEvents.dblTapACell.timeout)\n\n if (this._vuecal.domEvents.dblTapACell.taps >= 2) {\n this._vuecal.domEvents.dblTapACell.taps = 0\n this._vuecal.switchToNarrowerView()\n this._vuecal.$emit('cell-dblclick', split ? { date, split } : date)\n }\n }\n }\n\n /**\n * Select a cell and go to narrower view on enter.\n *\n * @param {Boolean} force Force switching to narrower view.\n * @param {Date} date The selected cell date at the exact time where it was clicked (through cursor coords).\n * @param {Integer} split The selected cell split if any.\n */\n keyPressEnterCell = (date, split) => {\n // Cell-key-press-enter event returns a date and time at cursor position.\n this._vuecal.$emit('cell-keypress-enter', split ? { date, split } : date)\n\n // Switch to narrower view.\n this._vuecal.switchToNarrowerView()\n }\n\n /**\n * Get the coordinates of the mouse cursor from the cells wrapper referential (`ref=\"cells\"`).\n *\n * @todo Cache bounding box & update it on resize.\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { x: {Number}, y: {Number} }\n */\n getPosition = e => {\n const { left, top } = this._vuecal.cellsEl.getBoundingClientRect()\n const { clientX, clientY } = 'ontouchstart' in window && e.touches ? e.touches[0] : e\n return { x: clientX - left, y: clientY - top }\n }\n\n /**\n * Get the number of minutes from the top to the mouse cursor.\n * Returns a constrained time between 0 and 24 * 60.\n *\n * @param {Object} e the native DOM event object.\n * @return {Object} containing { minutes: {Number}, cursorCoords: { x: {Number}, y: {Number} } }\n */\n minutesAtCursor = e => {\n let minutes = 0\n let cursorCoords = { x: 0, y: 0 }\n const { timeStep, timeCellHeight, timeFrom } = this._vuecal.$props\n\n if (typeof e === 'number') minutes = e\n else if (typeof e === 'object') {\n cursorCoords = this.getPosition(e)\n minutes = Math.round(cursorCoords.y * timeStep / parseInt(timeCellHeight) + timeFrom)\n }\n\n return { minutes: Math.max(Math.min(minutes, minutesInADay), 0), cursorCoords }\n }\n}\n","/**\n * Events Utils.\n *\n * Waiting for VS Code to support JavaScript private fields.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields\n * Meantime keep `_` for private.\n */\n\nconst defaultEventDuration = 2 // In hours.\nconst minutesInADay = 24 * 60 // Don't do the maths every time.\n\nlet ud\n\n// Event overlaps: only for the current view, recreated on view change.\nlet _cellOverlaps, _comparisonArray\n\n// This is an approximation, it will not work with DLS time.\n// const approxDayMilliseconds = minutesInADay * 60 * 1000\n// This is an approximate minimum we can get in a year. Purposely stay below 365 but close.\n// const minYearMilliseconds = 364 * approxDayMilliseconds // Don't do the maths every time.\n\nexport default class EventUtils {\n _vuecal = null\n\n eventDefaults = {\n _eid: null,\n start: '', // Externally given formatted date & time or Date object.\n startTimeMinutes: 0,\n end: '', // Externally given formatted date & time or Date object.\n endTimeMinutes: 0,\n title: '',\n content: '',\n background: false,\n allDay: false,\n segments: null,\n repeat: null,\n daysCount: 1,\n deletable: true,\n deleting: false,\n titleEditable: true,\n resizable: true,\n resizing: false,\n draggable: true,\n dragging: false,\n draggingStatic: false, // Controls the CSS class of the static clone while dragging.\n focused: false,\n class: ''\n }\n\n constructor (vuecal, dateUtils) {\n this._vuecal = vuecal\n ud = dateUtils\n }\n\n /**\n * Create an event at the given date and time, and allow overriding\n * event attributes through the eventOptions object.\n *\n * @param {Date | String} dateTime The date and time of the new event start.\n * @param {Number} duration the event duration in minutes.\n * @param {Object} eventOptions some options to override the `eventDefaults` - optional.\n */\n createAnEvent (dateTime, duration, eventOptions) {\n if (typeof dateTime === 'string') dateTime = ud.stringToDate(dateTime)\n if (!(dateTime instanceof Date)) return false\n\n const startTimeMinutes = ud.dateToMinutes(dateTime)\n duration = duration * 1 || defaultEventDuration * 60\n const endTimeMinutes = startTimeMinutes + duration\n const end = ud.addMinutes(new Date(dateTime), duration)\n\n // Automatically add the required endTimeMinutes when passing an end.\n if (eventOptions.end) {\n if (typeof eventOptions.end === 'string') eventOptions.end = ud.stringToDate(eventOptions.end)\n eventOptions.endTimeMinutes = ud.dateToMinutes(eventOptions.end)\n }\n\n const event = {\n ...this.eventDefaults,\n _eid: `${this._vuecal._.uid}_${this._vuecal.eventIdIncrement++}`,\n start: dateTime,\n startTimeMinutes,\n end,\n endTimeMinutes,\n segments: null,\n ...eventOptions\n }\n\n // If the onEventCreate() function is given as a parameter to vue-cal:\n // 1. give it access to the created event & the deleteAnEvent() function.\n // 2. Prevent creation of the event if this function returns false.\n if (typeof this._vuecal.onEventCreate === 'function') {\n if (!this._vuecal.onEventCreate(event, () => this.deleteAnEvent(event))) return\n }\n\n // Check if event is a multiple day event and update days count.\n if (event.startDateF !== event.endDateF) {\n event.daysCount = ud.countDays(event.start, event.end)\n }\n\n // Add event to the mutableEvents array.\n this._vuecal.mutableEvents.push(event)\n\n // Add the new event to the current view.\n // The event may have been edited on the fly to become a multiple-day event,\n // the method addEventsToView makes sure the segments are created.\n this._vuecal.addEventsToView([event])\n\n this._vuecal.emitWithEvent('event-create', event)\n this._vuecal.$emit('event-change', { event: this._vuecal.cleanupEvent(event), originalEvent: null })\n\n return event\n }\n\n /**\n * Add an event segment (= day) to a multiple-day event.\n *\n * @param {Object} e the multiple-day event to add segment in.\n */\n addEventSegment (e) {\n // If event was previously single-day, event.segments = null,\n // so first create the first segment (first day).\n if (!e.segments) {\n e.segments = {}\n e.segments[ud.formatDateLite(e.start)] = {\n start: e.start,\n startTimeMinutes: e.startTimeMinutes,\n endTimeMinutes: minutesInADay,\n isFirstDay: true,\n isLastDay: false\n }\n }\n\n // Modify the last segment - which will not stay the last one after this function.\n const previousSegment = e.segments[ud.formatDateLite(e.end)]\n // previousSegment might not exist when dragging too fast, prevent errors.\n if (previousSegment) {\n previousSegment.isLastDay = false\n previousSegment.endTimeMinutes = minutesInADay\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n // Create the new last segment.\n const start = ud.addDays(e.end, 1)\n const formattedDate = ud.formatDateLite(start)\n start.setHours(0, 0, 0, 0)\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: 0,\n endTimeMinutes: e.endTimeMinutes,\n isFirstDay: false,\n isLastDay: true\n }\n\n e.end = ud.addMinutes(start, e.endTimeMinutes)\n e.daysCount = Object.keys(e.segments).length\n\n return formattedDate\n }\n\n /**\n * Remove an event segment (= day) from a multiple-day event.\n *\n * @param {Object} e the multiple-day event to remove segments from.\n */\n removeEventSegment (e) {\n let segmentsCount = Object.keys(e.segments).length\n if (segmentsCount <= 1) return ud.formatDateLite(e.end)\n\n // Remove the last segment.\n delete e.segments[ud.formatDateLite(e.end)]\n segmentsCount--\n\n const end = ud.subtractDays(e.end, 1)\n const formattedDate = ud.formatDateLite(end)\n const previousSegment = e.segments[formattedDate]\n\n // If no more segments, reset the segments attribute to null.\n if (!segmentsCount) e.segments = null\n\n // previousSegment might not exist when dragging too fast, prevent errors.\n else if (previousSegment) {\n // Modify the new last segment.\n previousSegment.isLastDay = true\n previousSegment.endTimeMinutes = e.endTimeMinutes\n }\n else {\n // @todo: when moving fast might lose the previousSegment.\n // Trying to update it would then result in an error, but do nothing would create a visual bug.\n }\n\n e.daysCount = segmentsCount || 1\n e.end = end\n\n return formattedDate\n }\n\n /**\n * Create 1 segment per day of the given event, but only within the current view.\n * (It won't create segments for all the days in view that are not in the event!)\n *\n * An event segment is a piece of event per day that contains more day-specific data.\n *\n * @param {Object} e the multiple-day event to create segments for.\n * @param {Date} viewStartDate the starting date of the view.\n * @param {Date} viewEndDate the ending date of the view.\n */\n createEventSegments (e, viewStartDate, viewEndDate) {\n const viewStartTimestamp = viewStartDate.getTime()\n const viewEndTimestamp = viewEndDate.getTime()\n let eventStart = e.start.getTime()\n let eventEnd = e.end.getTime()\n let repeatedEventStartFound = false\n let timestamp, end, eventStartAtMidnight\n\n // @todo: I don't think we still need that:\n // Removing 1 sec when ending at 00:00, so that we don't create a segment for nothing on last day.\n if (!e.end.getHours() && !e.end.getMinutes()) eventEnd -= 1000\n\n e.segments = {}\n\n // The goal is to create 1 segment per day in the event, but only within the current view.\n if (!e.repeat) { // Simple case first.\n timestamp = Math.max(viewStartTimestamp, eventStart)\n end = Math.min(viewEndTimestamp, eventEnd)\n }\n else {\n // Start at the beginning of the range, and end at soonest between `repeat.until` if any or range end.\n // This range will most likely be too large (e.g. whole week) and we need to narrow it\n // down in the while loop below.\n // We must not create unused segments, it would break the render or result in weird behaviors.\n timestamp = viewStartTimestamp\n end = Math.min(\n viewEndTimestamp,\n e.repeat.until ? ud.stringToDate(e.repeat.until).getTime() : viewEndTimestamp\n )\n }\n\n while (timestamp <= end) {\n let createSegment = false\n // Be careful not to simply add 24 hours!\n // In case of DLS, that would cause the event to never end and browser to hang.\n // So use `addDays(1)` instead.\n const nextMidnight = ud.addDays(new Date(timestamp), 1).setHours(0, 0, 0, 0)\n let isFirstDay, isLastDay, start, formattedDate\n\n if (e.repeat) {\n const tmpDate = new Date(timestamp)\n const tmpDateFormatted = ud.formatDateLite(tmpDate)\n // If the current day in loop is a known date of the repeated event (in `e.occurrences`),\n // then we found the first day of the event repetition, now update the `eventStart` and\n // the end of the loop at current day + event days count.\n if (repeatedEventStartFound || (e.occurrences && e.occurrences[tmpDateFormatted])) {\n if (!repeatedEventStartFound) {\n eventStart = e.occurrences[tmpDateFormatted].start\n eventStartAtMidnight = new Date(eventStart).setHours(0, 0, 0, 0)\n eventEnd = e.occurrences[tmpDateFormatted].end\n }\n repeatedEventStartFound = true\n createSegment = true\n }\n\n isFirstDay = timestamp === eventStartAtMidnight\n isLastDay = tmpDateFormatted === ud.formatDateLite(new Date(eventEnd))\n start = new Date(isFirstDay ? eventStart : timestamp)\n formattedDate = ud.formatDateLite(start)\n // We want to find any potential other repetition of event in same range.\n if (isLastDay) repeatedEventStartFound = false\n }\n else {\n createSegment = true\n isFirstDay = timestamp === eventStart\n isLastDay = end === eventEnd && nextMidnight > end\n start = isFirstDay ? e.start : new Date(timestamp)\n formattedDate = ud.formatDateLite(isFirstDay ? e.start : start)\n }\n\n if (createSegment) {\n e.segments[formattedDate] = {\n start,\n startTimeMinutes: isFirstDay ? e.startTimeMinutes : 0,\n endTimeMinutes: isLastDay ? e.endTimeMinutes : minutesInADay,\n isFirstDay,\n isLastDay\n }\n }\n\n timestamp = nextMidnight\n }\n\n return e\n }\n\n /**\n * Delete an event.\n *\n * @param {Object} event the calendar event to delete.\n */\n deleteAnEvent (event) {\n this._vuecal.emitWithEvent('event-delete', event)\n\n // Delete the event globally.\n this._vuecal.mutableEvents = this._vuecal.mutableEvents.filter(e => e._eid !== event._eid)\n // Delete the event from the current view.\n // checkCellOverlappingEvents() will be re-run automatically from the cell computed events.\n this._vuecal.view.events = this._vuecal.view.events.filter(e => e._eid !== event._eid)\n }\n\n // EVENT OVERLAPS.\n // ===================================================================\n // Will recalculate all the overlaps of the current cell OR split.\n // cellEvents will contain only the current split events if in a split.\n checkCellOverlappingEvents (cellEvents, options) {\n _comparisonArray = cellEvents.slice(0)\n _cellOverlaps = {}\n\n // Can't filter background events before calling this function otherwise\n // when an event is changed to background it would not update its previous overlaps.\n cellEvents.forEach(e => {\n // For performance, never compare the current event in the next loops.\n // The array is smaller and smaller as we loop.\n _comparisonArray.shift()\n\n if (!_cellOverlaps[e._eid]) _cellOverlaps[e._eid] = { overlaps: [], start: e.start, position: 0, sameOverlaps: [] }\n _cellOverlaps[e._eid].position = 0\n\n _comparisonArray.forEach(e2 => {\n if (!_cellOverlaps[e2._eid]) _cellOverlaps[e2._eid] = { overlaps: [], start: e2.start, position: 0, sameOverlaps: [] }\n\n const eventIsInRange = this.eventInRange(e2, e.start, e.end)\n const eventSameOverlap = this.eventSameRange(e2, e)\n const eventsInSameTimeStep = options.overlapsPerTimeStep ? ud.datesInSameTimeStep(e.start, e2.start, options.timeStep) : 1\n // Add to the overlaps array if overlapping.\n if (!e.background && !e.allDay && !e2.background && !e2.allDay && eventIsInRange && eventsInSameTimeStep) {\n _cellOverlaps[e._eid].overlaps.push(e2._eid)\n _cellOverlaps[e._eid].overlaps = [...new Set(_cellOverlaps[e._eid].overlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].overlaps.push(e._eid)\n _cellOverlaps[e2._eid].overlaps = [...new Set(_cellOverlaps[e2._eid].overlaps)] // Dedupe, most performant way.\n _cellOverlaps[e2._eid].position++\n \n if (eventSameOverlap) {\n _cellOverlaps[e._eid].sameOverlaps.push(e2._eid)\n _cellOverlaps[e._eid].sameOverlaps = [...new Set(_cellOverlaps[e._eid].sameOverlaps)] // Dedupe, most performant way.\n\n _cellOverlaps[e2._eid].sameOverlaps.push(e._eid)\n _cellOverlaps[e2._eid].sameOverlaps = [...new Set(_cellOverlaps[e2._eid].sameOverlaps)] // Dedupe, most performant way.\n }\n }\n // Remove from the overlaps array if not overlapping or if 1 of the 2 events is background or all-day long.\n else {\n let pos1, pos2\n if ((pos1 = (_cellOverlaps[e._eid] || { overlaps: [] }).overlaps.indexOf(e2._eid)) > -1) _cellOverlaps[e._eid].overlaps.splice(pos1, 1)\n if ((pos2 = (_cellOverlaps[e2._eid] || { overlaps: [] }).overlaps.indexOf(e._eid)) > -1) _cellOverlaps[e2._eid].overlaps.splice(pos2, 1)\n _cellOverlaps[e2._eid].position--\n }\n })\n })\n\n // Overlaps streak is the longest horizontal set of simultaneous events.\n // This is determining the width of events in a streak.\n // e.g. 3 overlapping events in a cell:\n // ___ ___\n // | 1 | |_2_| 1 overlaps 2 & 3; 2 & 3 don't overlap;\n // | | ___ => streak = 2; each width = 50% not 33%.\n // |___| |_3_|\n let longestStreak = 0\n for (const id in _cellOverlaps) {\n const item = _cellOverlaps[id]\n\n // Calculate the position of each event in current streak (determines the CSS left property).\n const overlapsRow = item.overlaps.map(id2 => ({ id: id2, start: _cellOverlaps[id2].start }))\n overlapsRow.push({ id, start: item.start })\n overlapsRow.sort((a, b) => a.start < b.start ? -1 : (a.start > b.start ? 1 : (a.id > b.id ? -1 : 1)))\n item.position = overlapsRow.findIndex(e => e.id === id)\n\n longestStreak = Math.max(this.getOverlapsStreak(item, _cellOverlaps), longestStreak)\n }\n\n // console.log([_cellOverlaps, longestStreak])\n\n return [_cellOverlaps, longestStreak]\n }\n\n /**\n * Overlaps streak is the longest horizontal set of simultaneous events.\n * This is determining the width of each events in this streak.\n * E.g. 3 overlapping events [1, 2, 3]; 1 overlaps 2 & 3; 2 & 3 don't overlap;\n * => streak = 2; each width = 50% not 33%.\n *\n * @param {Object} event The current event we are checking among all the events of the current cell.\n * @param {Object} cellOverlaps An indexed array of all the events overlaps for the current cell.\n * @return {Number} The number of simultaneous event for this event.\n */\n getOverlapsStreak (event, cellOverlaps = {}) {\n let streak = event.overlaps.length + 1\n let removeFromStreak = []\n event.overlaps.forEach(id => {\n if (!removeFromStreak.includes(id)) {\n const overlapsWithoutSelf = event.overlaps.filter(id2 => id2 !== id)\n overlapsWithoutSelf.forEach(id3 => {\n if (!cellOverlaps[id3].overlaps.includes(id)) removeFromStreak.push(id3)\n })\n }\n })\n\n removeFromStreak = [...new Set(removeFromStreak)] // Dedupe, most performant way.\n streak -= removeFromStreak.length\n return streak\n }\n\n /**\n * Tells whether an event is in a given date range, even partially.\n *\n * @param {Object} event The event to test.\n * @param {Date} start The start of range date object.\n * @param {Date} end The end of range date object.\n * @return {Boolean} true if in range, even partially.\n */\n eventInRange (event, start, end) {\n // Check if all-day or timeless event (if date but no time there won't be a `:` in event.start).\n if (event.allDay || !this._vuecal.time) {\n // Get the date and discard the time if any, then check it's within the date range.\n const startTimestamp = new Date(event.start).setHours(0, 0, 0, 0)\n const endTimestamp = new Date(event.end).setHours(23, 59, 0, 0)\n return (endTimestamp >= new Date(start).setHours(0, 0, 0, 0) &&\n startTimestamp <= new Date(end).setHours(0, 0, 0, 0))\n }\n\n const startTimestamp = event.start.getTime()\n const endTimestamp = event.end.getTime()\n return startTimestamp < end.getTime() && endTimestamp > start.getTime()\n }\n\n eventSameRange(event1, event2) {\n const isSameStart = event1.start.getTime() == event2.start.getTime()\n const isSameEnd = event1.end.getTime() == event2.end.getTime()\n return isSameStart && isSameEnd\n }\n}\n","","{{ heading.full }} {{ heading.small }} {{ heading.xsmall }} {{ heading.dayOfMonth }}
","import { render } from \"./weekdays-headings.vue?vue&type=template&id=339102eb&lang=pug\"\nimport script from \"./weekdays-headings.vue?vue&type=script&lang=js\"\nexport * from \"./weekdays-headings.vue?vue&type=script&lang=js\"\n\nimport \"./weekdays-headings.vue?vue&type=style&index=0&id=339102eb&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./header.vue?vue&type=template&id=19ea4718&lang=pug\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\n\nimport \"./header.vue?vue&type=style&index=0&id=19ea4718&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","","
","{{ vuecal.texts.deleteEvent }}
","import { render } from \"./event.vue?vue&type=template&id=22b11fb6&lang=pug\"\nimport script from \"./event.vue?vue&type=script&lang=js\"\nexport * from \"./event.vue?vue&type=script&lang=js\"\n\nimport \"./event.vue?vue&type=style&index=0&id=22b11fb6&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cell.vue?vue&type=template&id=e1fa9802&lang=pug\"\nimport script from \"./cell.vue?vue&type=script&lang=js\"\nexport * from \"./cell.vue?vue&type=script&lang=js\"\n\nimport \"./cell.vue?vue&type=style&index=0&id=e1fa9802&lang=scss\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./all-day-bar.vue?vue&type=template&id=1fec77b5&lang=pug\"\nimport script from \"./all-day-bar.vue?vue&type=script&lang=js\"\nexport * from \"./all-day-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=59399e28\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/romankravarik/gitrepo/jandl-taskmanager-app/app/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { App } \t\tfrom 'vue'\nimport VueCal from './index.vue'\n\n\nexport default {\n\tinstall: (app: App) => {\n\n\t\tapp.component('Vue-cal', VueCal)\n\t}\n}","import { createApp } \tfrom 'vue'\nimport { IonicVue } \tfrom '@ionic/vue'\nimport { loadFonts } \tfrom './webfontloader'\nimport vuetify \t\t\tfrom './vuetify'\nimport { registerQuillUrlSanitizer } from './quill.util'\nimport loader \t\t\tfrom 'vue-loading-overlay'\nimport App \t\t\t\tfrom './App.vue'\n\nimport router \t\t\tfrom './router'\nimport store \t\t\tfrom '@/store'\nimport w \t\t\t\tfrom '@/plugins/w/w'\nimport axiosCustom from '@/plugins/w@custom/axios'\nimport tmStore \t\t\tfrom '@/plugins/tm@_store'\nimport vueCal \t\t\tfrom '@/plugins/app@vendor/vue-cal'\nimport { Options } \t\tfrom '@/plugins/w/w/types'\n\nimport '@ionic/vue/css/core.css'\nimport '@ionic/vue/css/normalize.css'\nimport '@ionic/vue/css/structure.css'\nimport '@ionic/vue/css/typography.css'\nimport '@ionic/vue/css/padding.css'\nimport '@ionic/vue/css/float-elements.css'\nimport '@ionic/vue/css/text-alignment.css'\nimport '@ionic/vue/css/text-transformation.css'\nimport '@ionic/vue/css/flex-utils.css'\nimport '@ionic/vue/css/display.css'\n\nimport '@/plugins/app/_theme/index.sass'\nimport 'vue-loading-overlay/dist/vue-loading.css'\nimport '@vuepic/vue-datepicker/dist/main.css'\n\nloadFonts()\nregisterQuillUrlSanitizer()\n\nconst options: Options = {\n\taxios: {\n\t\tdisabled: true\n\t},\n\ti18n: {\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\ttitle: \"Slovenský\", flag: \"sk\", value: \"sk\"\n\t\t\t}\n\t\t],\n\t\tdefaultLanguage: 'sk'\n\t},\n\tmoxios: {\n\t\troutes: {\n\t\t\t// 'GET v1/auth/info': true,\n\t\t\t// 'POST v1/auth/forgot': true,\n\t\t\t// 'POST v1/auth/reset': true,\n\t\t\t// 'POST v1/auth/info': true,\n\t\t\t// 'POST v1/auth/invalidate': true,\n\t\t\t// 'POST v1/auth/login': true,\n\t\t\t// 'POST v1/auth/post': true,\n\n\t\t\t'GET v1/overview/teams': true,\n\t\t\t'GET v1/overview/tasks': true,\n\t\t\t// 'GET v1/search': true,\n\t\t}\n\t}\n}\n\nconst app = createApp(App)\n\t.use(router)\n\t.use(store)\n\t.use(axiosCustom)\n\t.use(w, options)\n\t.use(IonicVue)\n\t.use(vuetify)\n\t.use(vueCal)\n\t.use(tmStore)\n\t.use(loader, {\n\t\tcolor: '#6200EE'\n\t})\n\t.mount('#app')\n\n// @ts-expect-error\nexport const $t = app.$i18n.t\n","import { $t } from '@/plugins/app/_config/main'\n\nexport default {\n\tparseErrors(errors) {\n\t\t// @ts-expect-error\n\t\treturn Object.values(errors).map(error => $t(error?.$message)).join('. ')\n\t}\n}","export default {\n\tmethods: {\n\t\tcustomFilter(item, input) {\n\t\t\t// Replace accented characters with non-accented equivalents\n\t\t\tconst normalizedItem = item.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\tconst normalizedInput = input.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n\t\t\t\n\t\t\t// Remove any character that is not a letter, number, or space from both the item and the input\n\t\t\tconst pattern = /[^a-zA-Z0-9 ]/g;\n\t\t\tconst cleanedItem = normalizedItem.replace(pattern, '');\n\t\t\tconst cleanedInput = normalizedInput.replace(pattern, '');\n\t\t\t\n\t\t\t// Check if the cleaned item starts with the cleaned input and return empty value for dropdown if present\n\t\t\treturn cleanedItem.toLowerCase().includes(cleanedInput.toLowerCase()) || item === '';\n\t\t}\n\t}\n}","import moment from 'moment'\n\nexport default {\n\tenrichEmployees(employees) {\n\t\treturn employees.map(employee => ({\n\t\t\t...employee, \n\t\t\t_fullName: `${ employee.name } ${ employee.surname }`,\n\t\t\t_initials: employee.name.charAt(0) + employee.surname.charAt(0)\n\t\t}))\n\t},\n\n\tformatDateTime(date) {\n\t\tmoment(date)\n\t\treturn moment(date).format('DD.MM.yyyy, HH:mm')\n\t},\n\n\tformatDateTimeForBackend(date) {\n\t\treturn moment(date).format('YYYY-MM-DD HH:mm:ss')\n\t},\n\n\tformatDate(date) {\n\t\treturn moment(date).format('DD.MM.yyyy')\n\t},\n\n\tisBefore(date, compareTo = null) {\n\t\treturn moment(date).isBefore(moment(compareTo))\n\t},\n\n\tisAfter(date, compareTo = moment()) {\n\t\treturn moment(date).isAfter(moment(compareTo))\n\t}\n}","var map = {\n\t\"./en.json\": 20790,\n\t\"./sk.json\": 71941\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8973;","var map = {\n\t\"./ar.json\": [\n\t\t68568,\n\t\t8568\n\t],\n\t\"./bg.json\": [\n\t\t20684,\n\t\t684\n\t],\n\t\"./bn.json\": [\n\t\t61170,\n\t\t1170\n\t],\n\t\"./bs.json\": [\n\t\t41161,\n\t\t1161\n\t],\n\t\"./ca.json\": [\n\t\t40612,\n\t\t612\n\t],\n\t\"./cs.json\": [\n\t\t50213,\n\t\t213\n\t],\n\t\"./da.json\": [\n\t\t98542,\n\t\t8542\n\t],\n\t\"./de.json\": [\n\t\t4701,\n\t\t4701\n\t],\n\t\"./el.json\": [\n\t\t20453,\n\t\t453\n\t],\n\t\"./en.json\": [\n\t\t3320,\n\t\t3320\n\t],\n\t\"./es.json\": [\n\t\t60076,\n\t\t76\n\t],\n\t\"./et.json\": [\n\t\t44075,\n\t\t4075\n\t],\n\t\"./fa.json\": [\n\t\t69004,\n\t\t9004\n\t],\n\t\"./fr.json\": [\n\t\t60007,\n\t\t7\n\t],\n\t\"./he.json\": [\n\t\t23746,\n\t\t3746\n\t],\n\t\"./hr.json\": [\n\t\t92921,\n\t\t2921\n\t],\n\t\"./hu.json\": [\n\t\t75723,\n\t\t5723\n\t],\n\t\"./id.json\": [\n\t\t12502,\n\t\t2502\n\t],\n\t\"./is.json\": [\n\t\t13214,\n\t\t3214\n\t],\n\t\"./it.json\": [\n\t\t51380,\n\t\t1380\n\t],\n\t\"./ja.json\": [\n\t\t72484,\n\t\t2484\n\t],\n\t\"./ka.json\": [\n\t\t60285,\n\t\t285\n\t],\n\t\"./ko.json\": [\n\t\t79249,\n\t\t9249\n\t],\n\t\"./lt.json\": [\n\t\t42838,\n\t\t2838\n\t],\n\t\"./mn.json\": [\n\t\t6177,\n\t\t6177\n\t],\n\t\"./nl.json\": [\n\t\t99729,\n\t\t9729\n\t],\n\t\"./no.json\": [\n\t\t49409,\n\t\t9409\n\t],\n\t\"./pl.json\": [\n\t\t25409,\n\t\t5409\n\t],\n\t\"./pt-br.json\": [\n\t\t74529,\n\t\t4529\n\t],\n\t\"./ro.json\": [\n\t\t29715,\n\t\t9715\n\t],\n\t\"./ru.json\": [\n\t\t32113,\n\t\t2113\n\t],\n\t\"./sk.json\": [\n\t\t30229,\n\t\t229\n\t],\n\t\"./sl.json\": [\n\t\t28636,\n\t\t8636\n\t],\n\t\"./sq.json\": [\n\t\t204,\n\t\t204\n\t],\n\t\"./sr.json\": [\n\t\t55553,\n\t\t5553\n\t],\n\t\"./sv.json\": [\n\t\t75979,\n\t\t5979\n\t],\n\t\"./tr.json\": [\n\t\t5268,\n\t\t5268\n\t],\n\t\"./uk.json\": [\n\t\t14057,\n\t\t4057\n\t],\n\t\"./vi.json\": [\n\t\t88929,\n\t\t8929\n\t],\n\t\"./zh-cn.json\": [\n\t\t56730,\n\t\t6730\n\t],\n\t\"./zh-hk.json\": [\n\t\t30841,\n\t\t841\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 66667;\nmodule.exports = webpackAsyncContext;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"7\":\"7cef58a7\",\"76\":\"9977e9df\",\"188\":\"5e35d228\",\"204\":\"4dd3d03d\",\"213\":\"c9ed5252\",\"229\":\"b09f2145\",\"285\":\"6a0985b5\",\"453\":\"04d72c77\",\"612\":\"4ea201aa\",\"630\":\"73358fb6\",\"684\":\"017ebeb8\",\"841\":\"65cae984\",\"1161\":\"59a7c68b\",\"1170\":\"16217940\",\"1380\":\"fc40de11\",\"1466\":\"92176aab\",\"2113\":\"2a1bcdfa\",\"2484\":\"6def3002\",\"2502\":\"66addef9\",\"2704\":\"83ca6677\",\"2838\":\"aa69ee5c\",\"2921\":\"b5aad8e9\",\"2998\":\"e20db982\",\"3214\":\"72d306e7\",\"3311\":\"bcab8a66\",\"3320\":\"fe7033d0\",\"3539\":\"e2aabd54\",\"3657\":\"e558064c\",\"3728\":\"3e558208\",\"3746\":\"09ee0424\",\"4057\":\"4b3b38fd\",\"4075\":\"2d83f71e\",\"4252\":\"d8564809\",\"4529\":\"6ff3334b\",\"4701\":\"e34c277a\",\"5268\":\"5d463fbd\",\"5409\":\"4ce439c3\",\"5553\":\"032fcbe7\",\"5723\":\"09853a5d\",\"5921\":\"070bb4f8\",\"5979\":\"385e1b41\",\"6177\":\"12db94aa\",\"6730\":\"61289e01\",\"6901\":\"23ee64a2\",\"7023\":\"4a3b210c\",\"7073\":\"dc374d33\",\"7343\":\"1e290ed5\",\"8024\":\"bb377405\",\"8227\":\"58c16c3b\",\"8290\":\"38b1c1ab\",\"8520\":\"cb7009ea\",\"8542\":\"09badcc3\",\"8568\":\"7f0dfd32\",\"8581\":\"f314d0aa\",\"8636\":\"2a90cf11\",\"8731\":\"8acb20fc\",\"8929\":\"ea6da50f\",\"8990\":\"6dd37151\",\"9004\":\"ffe04245\",\"9215\":\"b69f417d\",\"9249\":\"d2b0f88c\",\"9409\":\"339f5afb\",\"9715\":\"21ca1afa\",\"9729\":\"812aea5b\",\"9983\":\"657ab52d\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"188\":\"37c2c58b\",\"630\":\"fc40f503\",\"3539\":\"2ae1c81e\",\"4252\":\"331045b7\",\"6901\":\"175f36fe\",\"7023\":\"c0c8bee7\",\"7073\":\"3978ef96\",\"8227\":\"440e256e\",\"8581\":\"0e24f0cc\",\"9215\":\"03c22964\",\"9983\":\"8667b7b1\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jandl:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"188\":1,\"630\":1,\"3539\":1,\"4252\":1,\"6901\":1,\"7023\":1,\"7073\":1,\"8227\":1,\"8581\":1,\"9215\":1,\"9983\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t4826: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjandl\"] = self[\"webpackChunkjandl\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(72807); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","async","loadFonts","webFontLoader","load","google","families","createVuetify","registerQuillUrlSanitizer","Link","Quill","CustomLinkSanitizer","static","url","sanitizedUrl","super","sanitize","protocolWhhitelist","hasWhitelistedProtocol","some","protocol","startsWith","_createVNode","_component_v_app","_component_v_main","_component_router_view","_component_Z_team_modal","ref","onUpdate","$options","_component_Z_delete_team_modal","_component_Z_task_modal","onOnSubtaskEdited","_component_Z_delete_task_modal","onOnSubtaskDeleted","_component_Z_delete_timeBlock_modal","_component_Z_delete_blocker_modal","onOnBlockerDeleted","_component_Z_delete_master_task_modal","onOnMastertaskDeleted","_component_Z_complete_task_modal","_component_Z_complete_master_task_modal","onMasterTaskEdited","_component_Z_task_add_time_modal","_component_Z_blocker_modal","_component_Z_master_task_modal","_component_Z_delete_team_member_modal","_component_Z_show_menu_modal","class","_createBlock","_component_v_dialog","$data","persistent","_component_v_card","_createElementVNode","_hoisted_1","name","_component_v_icon","onClick","icon","size","_component_v_card_actions","_component_v_btn","variant","disabled","mounted","window","addEventListener","this","handleKeyDown","methods","event","keyCode","visible","mixins","modalMixin","emits","data","team","isDeleting","closeModal","$axios","delete_auth","$emit","$store","commit","error","$toast","$parseError","__exports__","height","_component_W_loadable","content","_component_v_text_field","$errors","length","label","hint","parseErrors","_createElementBlock","_Fragment","employees","employee","index","key","_fullName","splice","_component_v_autocomplete","_ctx","items","clearable","atLeastOne","value","AutocompleteMixin","v$","useVuelidate","errorUtils","employeeSelect","computed","mapGetters","employeesOptions","selectedEmployeesIds","enrichedEmployees","filter","includes","validations","required","$nextTick","$reset","t","get_auth_data","_enrichTeam","$validate","put_auth","fullTeamResource","post_auth","tmUtils","watch","employeeId","find","push","$refs","autocomplete","search","project_code","subtask","_hoisted_2","timeblocks","timeblock","is_finished","formatDateTime","start","end","JSON","parse","stringify","deadline","_update","deleteTimeblockWithoutId","i","timesheets","timesheet","employee_name","$events","emit","message","d","_hoisted_3","_hoisted_4","_hoisted_7","_hoisted_8","onFocus","master_task_id","title","_component_Datepicker","Date","format","locale","placeholder","_deadline_time","type","employee_id","version","xmlns","width","viewBox","duration","substring","readonly","_hoisted_12","_hoisted_10","_component_A_timeblock","onUpdateTimeblock","val","onRemoveTimeblock","onOnDateFocus","deletable","editable","_hoisted_11","date","starts_at_time","ends_at_time","_hoisted_13","_component_QuillEditor","description","theme","onInput","$event","srcElement","innerHTML","_component_Z_files_upload","files","onFilesUploaded","_hoisted_14","_master_task","_hoisted_15","_hoisted_16","src","require","alt","_hoisted_19","_component_Z_task_readonly_info","onCloseModal","onUpdateSubtask","_hoisted_20","multiple","accept","onChange","fileUpload","click","file","_component_v_chip","toFixed","indexOf","$props","props","Array","default","isSaving","Boolean","uploadedFiles","created","maxSize","oversizedFiles","remove","_component_v_row","_component_v_col","cols","_component_v_sheet","_hoisted_5","_hoisted_6","form","components","Datepicker","showModal","splittedStartsAtTime","split","splittedEndsAtTime","moment","hours","parseInt","minutes","toISOString","isAfterDeadline","originalTimeblock","newTimeblock","getDeadline","mDate","mDeadline","Number","isAfter","master_task_deadline","preventInputFocus","setFocusEvent","document","querySelectorAll","forEach","input","onInputFocus","onDateFocus","undefined","target","blur","selectedEmployees","mastertask","projectsOptions","pattern","normalizedInput","projectCodeSearch","normalize","replace","projects","project","normalizedProjectCode","toLowerCase","filteredProjects","slice","project_id","selectedProject","onEmployeeSelected","console","log","showAddEmployeeInput","onEmployeeDurationChanged","totalDuration","parseFloat","invalid","teams","_component_A_mastertask_name","color","_component_A_mastertask_status","isFinished","_component_A_task_deadline","_component_A_task_timeblocks","_component_Z_created_by","created_by","_component_A_task_assigned_employee","_employee","_component_A_task_planned_time","_component_A_task_remaining_time","spent_time","_component_A_task_spent_time","_component_A_task_description","master_task_description","_component_Z_files","style","backgroundColor","String","openMastertask","editMode","_initials","charAt","surname","time","timestamp","_hoisted_9","numeric","minValue","user","formatDate","_component_v_tooltip","text","location","activator","_mergeProps","deadlineTime","getMasterTaskDeadline","mastertaskDescription","emptyMessage","file_size","isLoading","response","fetch","path","blob","FileSaver","ZFiles","AMastertaskName","AMastertaskStatus","ATaskTimeblocks","ZCreatedBy","ATaskAssignedEmployee","ATaskPlannedTime","ATaskSpentTime","ATaskRemainingTime","ATaskDescription","ATaskDeadline","requiredIf","updateDate","updateStartTime","updateEndTime","VuetifyFixFocusMixin","SelectsMixin","ZTaskReadonlyInfo","ATimeblock","ZFilesUpload","QuillEditor","employeeValidations","showDatePicker","selectedNewDate","on","_enrichTask","$forceUpdate","updateTimeblock","removeTimeblock","splittedDeadline","master_task","deleteTimeblock","$router","$route","employeesValid","_validateEmployees","timeblocksValid","_validateTimeblocks","getHTML","_mergeDeadlineTimeDate","patch_auth_form","subtaskCopy","subtasks","openDeleteTaskModal","showCompleteTaskModal","filesUploaded","updateSubtask","timeParts","setHours","setMinutes","isError","_created_by","mastertasks","oldValue","handler","lastEmployee","deep","setHTML","blocker","tempSubtask","tempMastertask","payload","datepicker","clearValue","_syncDatesTimes","splittedStart","splittedEnd","set","_component_v_select","team_id","_allEmployees","min","onKeyup","_component_A_mastertask_description","_component_A_tasks_table","_component_v_table","_employeeInitials","_employeeFullName","enrichedtasks","openTaskModal","_component_Z_status","status","_component_Z_deadline","_component_Z_team","_component_Z_planned_time","_component_Z_remaining_time","time_worked","_component_Z_spent_time","_component_Z_description","inheritedDescription","isExceeded","enrichedEmployeesInTeam","enrichedEmployeesOutsideTeam","employeesOutsideOfTeam","em","ZDeadline","ZDescription","ZPlannedTime","ZRemainingTime","ZSpentTime","ZStatus","ZTeam","AMastertaskDescription","ATasksTable","enrichedSubtasks","quillEditorRequired","minLength","$each","closeBothModals","teamId","memberId","task","beforeUnmount","off","removeEmployee","removeMemberAlert","member","toggleIsFinished","vuelidateValid","post_auth_data","openDeleteMasterTaskModal","addTask","onQuillEditorInput","isValid","getHours","getMinutes","toString","padStart","_component_v_card_text","_component_v_spacer","localData","createTask","onTaskCreated","createBlocker","onBlockerCreated","ZDeleteTeamModal","ZTeamModal","ZDeleteTaskModal","ZDeleteBlockerModal","ZTaskModal","ZMasterTaskModal","ZCompleteTaskModal","ZTaskAddTimeModal","ZBlockerModal","ZDeleteMasterTaskModal","ZDeleteTeamMemberModal","ZShowMenuModal","ZCompleteMasterTaskModal","ZDeleteTimeBlockModal","query","dispatch","_showModalsAfterInicialization","onTeamUpdate","onTaskDeleted","onBlockerDeleted","onTaskEdited","onMasterTaskDeleted","repeat","setTimeout","getters","render","createStore","state","mutations","actions","modules","routes","redirect","component","children","meta","requiresAuth","router","createRouter","history","createWebHashHistory","process","beforeEach","to","from","next","isLoggedIn","store","axios","config","catch","reject","_config","params","headers","Authorization","install","app","options","globalProperties","encodeGetParams","p","entries","kv","encodeURIComponent","join","strToRegex","s","re","Moxios","constructor","_redirectRequestToMock","bind","_mocks","mock","append","k","m","reUrl","matchMethod","mocked","method","match","fname","VUE_APP_PLATFORM","toUpperCase","c","origin","moxios","values","events","mitt","I18n","properties","instance","translated","availableLanguages","languages","defaultLanguage","language","languageKey","vendorI18n","createI18n","legacy","fallbackLocale","messages","_loadLocaleMessages","missing","_missingTranslation","postTranslation","_postTranslation","changeLanguage","flag","initCurrentLanguage","Preferences","currentLanguage","_addAxiosHeaders","global","locales","warn","matched","use","i18n","$w18n","IonContent","IonPage","IonLabel","IonBackButton","IonCheckbox","IonText","IonButton","IonItem","IonItemGroup","IonItemSliding","IonItemOption","IonItemOptions","IonToolbar","IonHeader","IonFooter","IonSlides","IonSlide","IonSpinner","IonRow","IonCol","IonGrid","IonInput","IonButtons","IonIcon","IonImg","IonList","IonSkeletonText","IonTitle","IonMenu","IonSplitPane","IonMenuButton","IonRouterOutlet","IonSegment","IonSegmentButton","IonVirtualScroll","IonTextarea","IonSearchbar","IonRefresherContent","IonRefresher","IonInfiniteScrollContent","IonInfiniteScroll","IonAvatar","IonThumbnail","IonModal","IonRadioGroup","IonRadio","IonNote","IonCard","IonCardContent","IonTabBar","IonTabButton","IonMenuToggle","IonFab","IonFabButton","IonFabList","IonReorderGroup","IonReorder","IonSelect","IonSelectOption","IonToggle","IonBadge","IonChip","IonTabs","_unauthorised","namespaced","token","localStorage","getItem","auth_success","setItem","auth_error","removeItem","logout","open","login","credentials","signup","finally","forgotPassword","resetPassword","updateUserInfo","registerModule","auth","VueToast","_renderSlot","loader","_startLoading","_stopLoading","WLoadable","ionic","toast","loadable","parseAndTranslate","errorsArray","_parseToArrayOfStrings","$t","statusText","toastUtils","_objectToFormData","formData","transformRequest","_buildFormData","parentKey","File","FormData","unscheduledSubtasks","ongoingSubtasks","initialized","set_mastertasks","set_employees","set_teams","set_projects","set_unscheduled_subtasks","set_ongoing_subtasks","update_team","save_team","delete_team","update_subtask","st","delete_subtask","initialize","all","reloadSubtasks","reloadMastertasks","loadMastertasks","loadEmployees","loadTeams","loadProjects","loadUnscheduledSubtasks","loadOngoingSubtasks","sort","a","b","isInitialized","tmStore","grow","row","column","_hoisted_27","lang","_component_vuecal_header","views","weekDaysInHeader","heading","view","_Transition","appear","_component_all_day_bar","titleEditable","contenteditable","onBlur","vuecal__flex","allDay","cell","week","wrap","_component_weekdays_headings","unscheduledTime","el","_component_vuecal_cell","selectCell","goNarrower","_hoisted_18","noEvent","_hoisted_22","formatTime","endTimeMinutes","daysCount","segments","formattedDate","isFirstDay","_hoisted_24","day","_hoisted_26","now","todayDate","todayF","self","_dateObject","_timeObject","DateUtils","texts","noPrototypes","_texts","prototype","addDays","_initDatePrototypes","days","subtractDays","addHours","subtractHours","addMinutes","subtractMinutes","getWeek","isToday","isLeapYear","removePrototypes","updateTexts","_todayFormatted","getDate","getFullYear","getMonth","valueOf","setDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","Math","ceil","year","getPreviousFirstDayOfWeek","weekStartsOnSunday","prevFirstDayOfWeek","dayModifier","getDay","stringToDate","countDays","timezoneDiffMs","getTimezoneOffset","datesInSameTimeStep","date1","date2","timeStep","abs","getTime","formatDateLite","dateObj","YYYY","_hydrateDateObject","YY","M","MM","MMM","MMMM","MMMMG","D","DD","S","dd","ddd","dddd","HH","_hydrateTimeObject","H","hh","h","am","AM","mm","contents","result","round","shouldRound","getSeconds","formatTimeLite","timeObj","formatted","_nth","dayNumber","months","monthsGenitive","weekDays","substr","floor","pm","minutesInADay","CellUtils","vuecal","force","_vuecal","clickToNavigate","switchToNarrowerView","dblclickToNavigate","domEvents","dblTapACell","taps","timeout","left","top","cellsEl","getBoundingClientRect","clientX","clientY","touches","x","y","cursorCoords","timeCellHeight","timeFrom","getPosition","max","defaultEventDuration","ud","_cellOverlaps","_comparisonArray","EventUtils","dateUtils","_eid","startTimeMinutes","background","deleting","resizable","resizing","draggable","dragging","draggingStatic","focused","createAnEvent","dateTime","eventOptions","dateToMinutes","eventDefaults","_","uid","eventIdIncrement","onEventCreate","deleteAnEvent","startDateF","endDateF","mutableEvents","addEventsToView","emitWithEvent","cleanupEvent","originalEvent","addEventSegment","isLastDay","previousSegment","removeEventSegment","segmentsCount","createEventSegments","viewStartDate","viewEndDate","viewStartTimestamp","viewEndTimestamp","eventStartAtMidnight","eventStart","eventEnd","repeatedEventStartFound","until","createSegment","nextMidnight","tmpDate","tmpDateFormatted","occurrences","checkCellOverlappingEvents","cellEvents","shift","overlaps","position","sameOverlaps","e2","eventIsInRange","eventInRange","eventSameOverlap","eventSameRange","eventsInSameTimeStep","overlapsPerTimeStep","pos1","pos2","Set","longestStreak","item","overlapsRow","id2","findIndex","getOverlapsStreak","cellOverlaps","streak","removeFromStreak","overlapsWithoutSelf","id3","startTimestamp","endTimestamp","event1","event2","isSameStart","isSameEnd","role","hideViewSelector","_createCommentVNode","_renderList","v","enabled","_normalizeClass","highlightedControl","onDragenter","drag","viewSelectorDragEnter","onDragleave","viewSelectorDragLeave","hideTitleBar","transitions","_resolveDynamicComponent","startDate","todayButton","_createSlots","$slots","fn","_createTextVNode","hide","today","clickable","toLocaleDateString","_normalizeStyle","onDblclick","dayOfMonth","full","small","xsmall","hasSplits","stickySplitLabels","daySplits","inject","transitionDirection","Function","DOMEvent","selectedDate","utils","cleanupHeading","initials","onTimelineScroll","viewPortOffset","headings","todayFound","startWeekOnSunday","short","cellWidth","reduce","total","weekdayCellStyles","hideWeekdays","cellHeadingsClickable","WeekdaysHeadings","editEvents","viewProps","goToToday","updateSelectedDate","switchToBroaderView","broaderView","switchView","get","direction","enabledViews","showDaySplits","minSplitWidth","dnd","isWeekView","isMonthView","minTimestamp","maxTimestamp","_TransitionGroup","tag","tabindex","onKeypress","_withKeys","onTouchstart","onMousedown","onContextmenu","cellContextmenu","cellDragEnter","onDragover","cellDragOver","cellDragLeave","onDrop","cellDragDrop","showTimeInCells","timeCells","block","eventsOnMonthView","j","_component_event","allOverlaps","overlapsStreak","cellOverlapsStreak","eventId","onMouseenter","onMouseleave","_withModifiers","onMouseup","onTouchend","onTouchmove","onDragstart","onDragend","delete","deleteEvent","cellFormattedDate","eventPosition","touch","dragThreshold","startX","startY","dragged","onMouseDown","clickHoldAnEvent","focusAnEvent","resizeAnEvent","dragAnEvent","focusEvent","timeoutId","onMouseUp","mousedUp","onMouseEnter","preventDefault","onMouseLeave","onTouchMove","onEventClick","onTouchStart","onEnterKeypress","onDblClick","onEventDblclick","onDragStart","eventDragStart","onDragEnd","eventDragEnd","onResizeHandleMouseDown","assign","segment","originalEnd","originalEndTimeMinutes","touchDeleteEvent","cancelDeleteEvent","focusedEvent","cancelDelete","eventDimensions","minutesFromTop","timeTo","bottom","eventStyles","zIdnex","master_task_color","isArray","sameOverlapsLength","parentNotSameOverlaps","minEventWidth","eventClasses","is_blocker","resize","Event","cellSplits","timeAtCursor","highlighted","highlightedSplit","getSplitAtCursor","targetIsSplit","classList","contains","findAncestor","attributes","splitClasses","isWeekend","eventsCount","splitsCount","isDOMElementAnEvent","onCellkeyPressEnter","isSelected","onCellFocus","keyPressEnterCell","isDisabled","onCellMouseDown","clickHoldACell","cancelClickEventCreation","eventCreated","minutesAtCursor","mouseDownOnEvent","create","setUpEventCreation","startCursorY","dragToCreateEvent","dragCreateAnEvent","snapToTime","timeMinutes","plusHalfSnapTime","cellClickHold","setUpCellHoldTimer","cellId","onCellTouchStart","onCellClick","offsetY","dateFrom","dateTo","isTeamCalendar","onCellDblClick","onCellContextMenu","stopPropagation","nowInMinutes","isBeforeMinDate","endDate","isAfterMaxDate","disableDays","isYearsOrYearView","selected","isWeekOrDayView","specialHours","timeScale","cellStart","cellEnd","eventsCountOnYearView","outOfScopeEvents","showAllDayEvents","singleDayInRange","multipleDayInRange","recurrMultDayInRange","splits","cellClasses","current","outOfScope","cellStyles","timelineVisible","todaysTimePosition","Cell","cells","shortEvents","cellOrSplitMinWidth","hasCellOrSplitWidth","minCellWidth","textsDefaults","fill","weekDaysShort","years","month","createEvent","dateFormat","validViews","Header","AllDayBar","provide","previous","activeView","scrollToHour","allDayBarHeight","disableDatePrototypes","disableViews","dragToCreateThreshold","editableEvents","hideBody","hideWeekends","maxDate","minDate","resizeX","showWeekNumbers","splitDays","timeFormat","twelveHour","watchRealTime","ready","firstCellDate","lastCellDate","timeTickerIds","startCell","endCell","loadDragAndDrop","DragAndDrop","validateView","fromViewSelector","viewDateBeforeChange","oldView","setSeconds","daysToAdd","daysToSubtract","weekDaysCount","viewDate","scrollTop","previousNext","modifier","viewId","weekDay","weekDayIndex","isDayHidden","daysWithIndex","dayToShow","daysFromDate","reverse","ue","filteredEvents","Class","parentElement","onMouseMove","eventResizing","eventDragCreation","isClickHoldingEvent","wasResizing","hasResized","dragCreatedEvent","dragCreateStarted","mouseUpOnEvent","eventClicked","mutableEvent","cleanEvent","oldDate","unfocusEvent","clearTimeout","eventClickHandler","onKeyUp","newEndTimeMins","offsetWidth","childElementCount","newEnd","newDaysCount","lastSegmentFormattedDate","dragFromBottom","onEventTitleBlur","oldTitle","updateMutableEvents","multipleDays","discardProps","prop","eventName","getWeekNumber","weekFromFirstCell","firstCellWeekNumber","firstCellDateWeekNumber","currentWeekNumber","timeTick","updateDateTexts","alignWithScrollbar","cellOrSplitHasEvents","loadLocale","currentView","hasTouch","hasEventClickHandler","passive","oncontextmenu","viewportTimelineOffset","removeEventListener","hasTimeColumn","isShortMonthView","TimeFormat","hasShortEvents","minWidth","visibleDaysCount","allDayBar","isNaN","viewCells","unshift","pop","specialDayHours","viewTitle","lastDayOfWeek","y1","m1","formattedMonthYear","y2","m2","fromYear","apply","firstDayOfWeek","dayOfWeek","isDayView","cssClasses","isYearsView","isYearView","oldEvents","newVal","VueCal","createApp","App","axiosCustom","w","IonicVue","vuetify","vueCal","mount","$i18n","errors","$message","customFilter","normalizedItem","cleanedItem","cleanedInput","enrichEmployees","formatDateTimeForBackend","isBefore","compareTo","webpackAsyncContext","ids","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","mode","ns","def","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","err","request","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file