@fullcalendar/angular
Advanced tools
Comparing version 4.1.1 to 4.2.0
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core'), require('@angular/core')) : | ||
typeof define === 'function' && define.amd ? define('@fullcalendar/angular', ['exports', '@fullcalendar/core', '@angular/core'], factory) : | ||
(factory((global.fullcalendar = global.fullcalendar || {}, global.fullcalendar.angular = {}),global.FullCalendar,global.ng.core)); | ||
}(this, (function (exports,core,core$1) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('fast-deep-equal'), require('deep-copy'), require('@fullcalendar/core'), require('@angular/core')) : | ||
typeof define === 'function' && define.amd ? define('@fullcalendar/angular', ['exports', 'fast-deep-equal', 'deep-copy', '@fullcalendar/core', '@angular/core'], factory) : | ||
(factory((global.fullcalendar = global.fullcalendar || {}, global.fullcalendar.angular = {}),global.deepEqual,global.deepCopy,global.FullCalendar,global.ng.core)); | ||
}(this, (function (exports,deepEqual,deepCopy,core,core$1) { 'use strict'; | ||
deepEqual = deepEqual && deepEqual.hasOwnProperty('default') ? deepEqual['default'] : deepEqual; | ||
deepCopy = deepCopy && deepCopy.hasOwnProperty('default') ? deepCopy['default'] : deepCopy; | ||
/*! ***************************************************************************** | ||
@@ -126,2 +129,3 @@ Copyright (c) Microsoft Corporation. All rights reserved. | ||
'selectMirror', | ||
'selectMinDistance', | ||
'unselectAuto', | ||
@@ -167,2 +171,12 @@ 'unselectCancel', | ||
'timeGridEventMinHeight', | ||
'allDayHtml', | ||
'eventDragMinDistance', | ||
'eventSourceFailure', | ||
'eventSourceSuccess', | ||
'forceEventDuration', | ||
'progressiveEventRendering', | ||
'selectLongPressDelay', | ||
'selectMinDistance', | ||
'timeZoneParam', | ||
'titleRangeSeparator', | ||
// compound OptionsInput... | ||
@@ -186,9 +200,16 @@ 'buttonText', | ||
'datesAboveResources', | ||
'googleCalendarApiKey' | ||
'googleCalendarApiKey', | ||
'refetchResourcesOnNavigate', | ||
'eventResourceEditable' | ||
]; | ||
/** @type {?} */ | ||
var EVENT_NAMES = [ | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
var INPUT_IS_DEEP = { | ||
header: true, | ||
footer: true, | ||
events: true, | ||
eventSources: true, | ||
resources: true | ||
}; | ||
/** @type {?} */ | ||
var OUTPUT_NAMES = [ | ||
'windowResize', | ||
@@ -202,5 +223,3 @@ 'dateClick', | ||
'loading', | ||
'eventRender', | ||
'eventPositioned', | ||
'eventDestroy', | ||
'eventDragStart', | ||
@@ -215,6 +234,11 @@ 'eventDragStop', | ||
'eventLeave', | ||
'_destroyed', | ||
// TODO: make these inputs... | ||
'viewSkeletonRender', | ||
'viewSkeletonDestroy', | ||
'_destroyed', | ||
// scheduler... | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
'eventRender', | ||
'eventDestroy', | ||
'resourceRender' | ||
@@ -230,5 +254,4 @@ ]; | ||
this.element = element; | ||
this.datesRender = new core$1.EventEmitter(); | ||
this.datesDestroy = new core$1.EventEmitter(); | ||
this.dayRender = new core$1.EventEmitter(); | ||
this.dirtyProps = {}; | ||
this.deepCopies = {}; // holds frozen states | ||
this.windowResize = new core$1.EventEmitter(); | ||
@@ -242,5 +265,3 @@ this.dateClick = new core$1.EventEmitter(); | ||
this.loading = new core$1.EventEmitter(); | ||
this.eventRender = new core$1.EventEmitter(); | ||
this.eventPositioned = new core$1.EventEmitter(); | ||
this.eventDestroy = new core$1.EventEmitter(); | ||
this.eventDragStart = new core$1.EventEmitter(); | ||
@@ -255,6 +276,11 @@ this.eventDragStop = new core$1.EventEmitter(); | ||
this.eventLeave = new core$1.EventEmitter(); | ||
this._destroyed = new core$1.EventEmitter(); | ||
// TODO: make these inputs... | ||
this.viewSkeletonRender = new core$1.EventEmitter(); | ||
this.viewSkeletonDestroy = new core$1.EventEmitter(); | ||
this._destroyed = new core$1.EventEmitter(); | ||
// scheduler... | ||
this.datesRender = new core$1.EventEmitter(); | ||
this.datesDestroy = new core$1.EventEmitter(); | ||
this.dayRender = new core$1.EventEmitter(); | ||
this.eventRender = new core$1.EventEmitter(); | ||
this.eventDestroy = new core$1.EventEmitter(); | ||
this.resourceRender = new core$1.EventEmitter(); | ||
@@ -273,5 +299,7 @@ } | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.buildOptions = /** | ||
* @private | ||
* @return {?} | ||
@@ -283,7 +311,7 @@ */ | ||
var options = {}; | ||
EVENT_NAMES.forEach(( /** | ||
* @param {?} eventName | ||
OUTPUT_NAMES.forEach(( /** | ||
* @param {?} outputName | ||
* @return {?} | ||
*/function (eventName) { | ||
options[eventName] = ( /** | ||
*/function (outputName) { | ||
options[outputName] = ( /** | ||
* @param {...?} args | ||
@@ -297,5 +325,6 @@ * @return {?} | ||
var _a; | ||
(_a = _this[eventName]).emit.apply(_a, __spread(args)); | ||
(_a = _this[outputName]).emit.apply(_a, __spread(args)); | ||
}); | ||
})); | ||
// do after outputs, so that inputs with same name override | ||
INPUT_NAMES.forEach(( /** | ||
@@ -305,4 +334,10 @@ * @param {?} inputName | ||
*/function (inputName) { | ||
if (_this[inputName] !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
options[inputName] = _this[inputName]; | ||
/** @type {?} */ | ||
var inputVal = _this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (_this.deepChangeDetection && INPUT_IS_DEEP[inputName]) { | ||
inputVal = deepCopy(inputVal); | ||
_this.deepCopies[inputName] = inputVal; // side effect! | ||
} | ||
options[inputName] = inputVal; | ||
} | ||
@@ -312,21 +347,66 @@ })); | ||
}; | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnChanges = /** | ||
FullCalendarComponent.prototype.ngDoCheck = /* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.calendar && this.deepChangeDetection) { // not the initial render AND we do deep-mutation checks | ||
// not the initial render AND we do deep-mutation checks | ||
var deepCopies = this.deepCopies; | ||
for (var inputName in INPUT_IS_DEEP) { | ||
if (INPUT_IS_DEEP.hasOwnProperty(inputName)) { | ||
/** @type {?} */ | ||
var inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (!deepEqual(inputVal, deepCopies[inputName])) { | ||
/** @type {?} */ | ||
var copy = deepCopy(inputVal); | ||
deepCopies[inputName] = copy; | ||
this.dirtyProps[inputName] = copy; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}; | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnChanges = /* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
function (changes) { | ||
if (this.calendar) { // not the initial render | ||
// not the initial render | ||
/** @type {?} */ | ||
var updatedInputs = {}; | ||
for (var inputName in changes) { | ||
if (changes.hasOwnProperty(inputName)) { | ||
updatedInputs[inputName] = changes[inputName].currentValue; | ||
if (this.deepCopies[inputName] === undefined) { // not already handled in ngDoCheck | ||
this.dirtyProps[inputName] = changes[inputName].currentValue; | ||
} | ||
} | ||
} | ||
this.calendar.setOptions(updatedInputs); | ||
} | ||
@@ -337,2 +417,15 @@ }; | ||
*/ | ||
FullCalendarComponent.prototype.ngAfterContentChecked = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
var dirtyProps = this.dirtyProps; | ||
if (Object.keys(dirtyProps).length > 0) { | ||
this.dirtyProps = {}; // clear first, in case the rerender causes new dirtiness | ||
this.calendar.mutateOptions(dirtyProps, [], false, deepEqual); | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnDestroy = /** | ||
@@ -367,2 +460,3 @@ * @return {?} | ||
FullCalendarComponent.propDecorators = { | ||
deepChangeDetection: [{ type: core$1.Input }], | ||
header: [{ type: core$1.Input }], | ||
@@ -442,2 +536,3 @@ footer: [{ type: core$1.Input }], | ||
selectAllow: [{ type: core$1.Input }], | ||
selectMinDistance: [{ type: core$1.Input }], | ||
editable: [{ type: core$1.Input }], | ||
@@ -474,2 +569,11 @@ eventStartEditable: [{ type: core$1.Input }], | ||
timeGridEventMinHeight: [{ type: core$1.Input }], | ||
allDayHtml: [{ type: core$1.Input }], | ||
eventDragMinDistance: [{ type: core$1.Input }], | ||
eventSourceFailure: [{ type: core$1.Input }], | ||
eventSourceSuccess: [{ type: core$1.Input }], | ||
forceEventDuration: [{ type: core$1.Input }], | ||
progressiveEventRendering: [{ type: core$1.Input }], | ||
selectLongPressDelay: [{ type: core$1.Input }], | ||
timeZoneParam: [{ type: core$1.Input }], | ||
titleRangeSeparator: [{ type: core$1.Input }], | ||
buttonText: [{ type: core$1.Input }], | ||
@@ -492,5 +596,4 @@ views: [{ type: core$1.Input }], | ||
googleCalendarApiKey: [{ type: core$1.Input }], | ||
datesRender: [{ type: core$1.Output }], | ||
datesDestroy: [{ type: core$1.Output }], | ||
dayRender: [{ type: core$1.Output }], | ||
refetchResourcesOnNavigate: [{ type: core$1.Input }], | ||
eventResourceEditable: [{ type: core$1.Input }], | ||
windowResize: [{ type: core$1.Output }], | ||
@@ -504,5 +607,3 @@ dateClick: [{ type: core$1.Output }], | ||
loading: [{ type: core$1.Output }], | ||
eventRender: [{ type: core$1.Output }], | ||
eventPositioned: [{ type: core$1.Output }], | ||
eventDestroy: [{ type: core$1.Output }], | ||
eventDragStart: [{ type: core$1.Output }], | ||
@@ -517,5 +618,10 @@ eventDragStop: [{ type: core$1.Output }], | ||
eventLeave: [{ type: core$1.Output }], | ||
_destroyed: [{ type: core$1.Output }], | ||
viewSkeletonRender: [{ type: core$1.Output }], | ||
viewSkeletonDestroy: [{ type: core$1.Output }], | ||
_destroyed: [{ type: core$1.Output }], | ||
datesRender: [{ type: core$1.Output }], | ||
datesDestroy: [{ type: core$1.Output }], | ||
dayRender: [{ type: core$1.Output }], | ||
eventRender: [{ type: core$1.Output }], | ||
eventDestroy: [{ type: core$1.Output }], | ||
resourceRender: [{ type: core$1.Output }] | ||
@@ -522,0 +628,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core"),require("@angular/core")):"function"==typeof define&&define.amd?define("@fullcalendar/angular",["exports","@fullcalendar/core","@angular/core"],t):t((e.fullcalendar=e.fullcalendar||{},e.fullcalendar.angular={}),e.FullCalendar,e.ng.core)}(this,function(e,t,n){"use strict";function a(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,p,u=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=u.next()).done;)a.push(r.value)}catch(o){p={error:o}}finally{try{r&&!r.done&&(n=u["return"])&&n.call(u)}finally{if(p)throw p.error}}return a}var r=["header","footer","customButtons","buttonIcons","themeSystem","bootstrapFontAwesome","firstDay","dir","weekends","hiddenDays","fixedWeekCount","weekNumbers","weekNumbersWithinDays","weekNumberCalculation","businessHours","showNonCurrentDates","height","contentHeight","aspectRatio","handleWindowResize","windowResizeDelay","eventLimit","eventLimitClick","timeZone","now","defaultView","allDaySlot","allDayText","slotDuration","slotLabelFormat","slotLabelInterval","snapDuration","scrollTime","minTime","maxTime","slotEventOverlap","listDayFormat","listDayAltFormat","noEventsMessage","defaultDate","nowIndicator","visibleRange","validRange","dateIncrement","dateAlignment","duration","dayCount","locales","locale","eventTimeFormat","columnHeader","columnHeaderFormat","columnHeaderText","columnHeaderHtml","titleFormat","weekLabel","displayEventTime","displayEventEnd","eventLimitText","dayPopoverFormat","navLinks","navLinkDayClick","navLinkWeekClick","selectable","selectMirror","unselectAuto","unselectCancel","defaultAllDayEventDuration","defaultTimedEventDuration","cmdFormatter","defaultRangeSeparator","selectConstraint","selectOverlap","selectAllow","editable","eventStartEditable","eventDurationEditable","eventConstraint","eventOverlap","eventAllow","eventClassName","eventClassNames","eventBackgroundColor","eventBorderColor","eventTextColor","eventColor","events","eventSources","allDayDefault","startParam","endParam","lazyFetching","nextDayThreshold","eventOrder","rerenderDelay","dragRevertDuration","dragScroll","longPressDelay","eventLongPressDelay","droppable","dropAccept","eventDataTransform","allDayMaintainDuration","eventResizableFromStart","timeGridEventMinHeight","buttonText","views","plugins","schedulerLicenseKey","resources","resourceLabelText","resourceOrder","filterResourcesWithEvents","resourceText","resourceGroupField","resourceGroupText","resourceAreaWidth","resourceColumns","resourcesInitiallyExpanded","slotWidth","datesAboveResources","googleCalendarApiKey"],p=["datesRender","datesDestroy","dayRender","windowResize","dateClick","eventClick","eventMouseEnter","eventMouseLeave","select","unselect","loading","eventRender","eventPositioned","eventDestroy","eventDragStart","eventDragStop","eventDrop","eventResizeStart","eventResizeStop","eventResize","drop","eventReceive","eventLeave","viewSkeletonRender","viewSkeletonDestroy","_destroyed","resourceRender"],u=function(){function e(e){this.element=e,this.datesRender=new n.EventEmitter,this.datesDestroy=new n.EventEmitter,this.dayRender=new n.EventEmitter,this.windowResize=new n.EventEmitter,this.dateClick=new n.EventEmitter,this.eventClick=new n.EventEmitter,this.eventMouseEnter=new n.EventEmitter,this.eventMouseLeave=new n.EventEmitter,this.select=new n.EventEmitter,this.unselect=new n.EventEmitter,this.loading=new n.EventEmitter,this.eventRender=new n.EventEmitter,this.eventPositioned=new n.EventEmitter,this.eventDestroy=new n.EventEmitter,this.eventDragStart=new n.EventEmitter,this.eventDragStop=new n.EventEmitter,this.eventDrop=new n.EventEmitter,this.eventResizeStart=new n.EventEmitter,this.eventResizeStop=new n.EventEmitter,this.eventResize=new n.EventEmitter,this.drop=new n.EventEmitter,this.eventReceive=new n.EventEmitter,this.eventLeave=new n.EventEmitter,this.viewSkeletonRender=new n.EventEmitter,this.viewSkeletonDestroy=new n.EventEmitter,this._destroyed=new n.EventEmitter,this.resourceRender=new n.EventEmitter}return e.prototype.ngAfterViewInit=function(){this.calendar=new t.Calendar(this.element.nativeElement,this.buildOptions()),this.calendar.render()},e.prototype.buildOptions=function(){var u=this,t={};return p.forEach(function(p){t[p]=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=u[p]).emit.apply(e,function r(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(a(arguments[t]));return e}(t))}}),r.forEach(function(e){u[e]!==undefined&&(t[e]=u[e])}),t},e.prototype.ngOnChanges=function(e){if(this.calendar){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n].currentValue);this.calendar.setOptions(t)}},e.prototype.ngOnDestroy=function(){this.calendar.destroy(),this.calendar=null},e.prototype.getApi=function(){return this.calendar},e.decorators=[{type:n.Component,args:[{selector:"full-calendar",template:""}]}],e.ctorParameters=function(){return[{type:n.ElementRef}]},e.propDecorators={header:[{type:n.Input}],footer:[{type:n.Input}],customButtons:[{type:n.Input}],buttonIcons:[{type:n.Input}],themeSystem:[{type:n.Input}],bootstrapFontAwesome:[{type:n.Input}],firstDay:[{type:n.Input}],dir:[{type:n.Input}],weekends:[{type:n.Input}],hiddenDays:[{type:n.Input}],fixedWeekCount:[{type:n.Input}],weekNumbers:[{type:n.Input}],weekNumbersWithinDays:[{type:n.Input}],weekNumberCalculation:[{type:n.Input}],businessHours:[{type:n.Input}],showNonCurrentDates:[{type:n.Input}],height:[{type:n.Input}],contentHeight:[{type:n.Input}],aspectRatio:[{type:n.Input}],handleWindowResize:[{type:n.Input}],windowResizeDelay:[{type:n.Input}],eventLimit:[{type:n.Input}],eventLimitClick:[{type:n.Input}],timeZone:[{type:n.Input}],now:[{type:n.Input}],defaultView:[{type:n.Input}],allDaySlot:[{type:n.Input}],allDayText:[{type:n.Input}],slotDuration:[{type:n.Input}],slotLabelFormat:[{type:n.Input}],slotLabelInterval:[{type:n.Input}],snapDuration:[{type:n.Input}],scrollTime:[{type:n.Input}],minTime:[{type:n.Input}],maxTime:[{type:n.Input}],slotEventOverlap:[{type:n.Input}],listDayFormat:[{type:n.Input}],listDayAltFormat:[{type:n.Input}],noEventsMessage:[{type:n.Input}],defaultDate:[{type:n.Input}],nowIndicator:[{type:n.Input}],visibleRange:[{type:n.Input}],validRange:[{type:n.Input}],dateIncrement:[{type:n.Input}],dateAlignment:[{type:n.Input}],duration:[{type:n.Input}],dayCount:[{type:n.Input}],locales:[{type:n.Input}],locale:[{type:n.Input}],eventTimeFormat:[{type:n.Input}],columnHeader:[{type:n.Input}],columnHeaderFormat:[{type:n.Input}],columnHeaderText:[{type:n.Input}],columnHeaderHtml:[{type:n.Input}],titleFormat:[{type:n.Input}],weekLabel:[{type:n.Input}],displayEventTime:[{type:n.Input}],displayEventEnd:[{type:n.Input}],eventLimitText:[{type:n.Input}],dayPopoverFormat:[{type:n.Input}],navLinks:[{type:n.Input}],navLinkDayClick:[{type:n.Input}],navLinkWeekClick:[{type:n.Input}],selectable:[{type:n.Input}],selectMirror:[{type:n.Input}],unselectAuto:[{type:n.Input}],unselectCancel:[{type:n.Input}],defaultAllDayEventDuration:[{type:n.Input}],defaultTimedEventDuration:[{type:n.Input}],cmdFormatter:[{type:n.Input}],defaultRangeSeparator:[{type:n.Input}],selectConstraint:[{type:n.Input}],selectOverlap:[{type:n.Input}],selectAllow:[{type:n.Input}],editable:[{type:n.Input}],eventStartEditable:[{type:n.Input}],eventDurationEditable:[{type:n.Input}],eventConstraint:[{type:n.Input}],eventOverlap:[{type:n.Input}],eventAllow:[{type:n.Input}],eventClassName:[{type:n.Input}],eventClassNames:[{type:n.Input}],eventBackgroundColor:[{type:n.Input}],eventBorderColor:[{type:n.Input}],eventTextColor:[{type:n.Input}],eventColor:[{type:n.Input}],events:[{type:n.Input}],eventSources:[{type:n.Input}],allDayDefault:[{type:n.Input}],startParam:[{type:n.Input}],endParam:[{type:n.Input}],lazyFetching:[{type:n.Input}],nextDayThreshold:[{type:n.Input}],eventOrder:[{type:n.Input}],rerenderDelay:[{type:n.Input}],dragRevertDuration:[{type:n.Input}],dragScroll:[{type:n.Input}],longPressDelay:[{type:n.Input}],eventLongPressDelay:[{type:n.Input}],droppable:[{type:n.Input}],dropAccept:[{type:n.Input}],eventDataTransform:[{type:n.Input}],allDayMaintainDuration:[{type:n.Input}],eventResizableFromStart:[{type:n.Input}],timeGridEventMinHeight:[{type:n.Input}],buttonText:[{type:n.Input}],views:[{type:n.Input}],plugins:[{type:n.Input}],schedulerLicenseKey:[{type:n.Input}],resources:[{type:n.Input}],resourceLabelText:[{type:n.Input}],resourceOrder:[{type:n.Input}],filterResourcesWithEvents:[{type:n.Input}],resourceText:[{type:n.Input}],resourceGroupField:[{type:n.Input}],resourceGroupText:[{type:n.Input}],resourceAreaWidth:[{type:n.Input}],resourceColumns:[{type:n.Input}],resourcesInitiallyExpanded:[{type:n.Input}],slotWidth:[{type:n.Input}],datesAboveResources:[{type:n.Input}],googleCalendarApiKey:[{type:n.Input}],datesRender:[{type:n.Output}],datesDestroy:[{type:n.Output}],dayRender:[{type:n.Output}],windowResize:[{type:n.Output}],dateClick:[{type:n.Output}],eventClick:[{type:n.Output}],eventMouseEnter:[{type:n.Output}],eventMouseLeave:[{type:n.Output}],select:[{type:n.Output}],unselect:[{type:n.Output}],loading:[{type:n.Output}],eventRender:[{type:n.Output}],eventPositioned:[{type:n.Output}],eventDestroy:[{type:n.Output}],eventDragStart:[{type:n.Output}],eventDragStop:[{type:n.Output}],eventDrop:[{type:n.Output}],eventResizeStart:[{type:n.Output}],eventResizeStop:[{type:n.Output}],eventResize:[{type:n.Output}],drop:[{type:n.Output}],eventReceive:[{type:n.Output}],eventLeave:[{type:n.Output}],viewSkeletonRender:[{type:n.Output}],viewSkeletonDestroy:[{type:n.Output}],_destroyed:[{type:n.Output}],resourceRender:[{type:n.Output}]},e}(),o=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[u],imports:[],exports:[u]}]}],e}();e.FullCalendarComponent=u,e.FullCalendarModule=o,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fast-deep-equal"),require("deep-copy"),require("@fullcalendar/core"),require("@angular/core")):"function"==typeof define&&define.amd?define("@fullcalendar/angular",["exports","fast-deep-equal","deep-copy","@fullcalendar/core","@angular/core"],t):t((e.fullcalendar=e.fullcalendar||{},e.fullcalendar.angular={}),e.deepEqual,e.deepCopy,e.FullCalendar,e.ng.core)}(this,function(e,p,u,t,n){"use strict";function o(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,p,a=n.call(e),u=[];try{for(;(void 0===t||0<t--)&&!(r=a.next()).done;)u.push(r.value)}catch(o){p={error:o}}finally{try{r&&!r.done&&(n=a["return"])&&n.call(a)}finally{if(p)throw p.error}}return u}p=p&&p.hasOwnProperty("default")?p["default"]:p,u=u&&u.hasOwnProperty("default")?u["default"]:u;var r=["header","footer","customButtons","buttonIcons","themeSystem","bootstrapFontAwesome","firstDay","dir","weekends","hiddenDays","fixedWeekCount","weekNumbers","weekNumbersWithinDays","weekNumberCalculation","businessHours","showNonCurrentDates","height","contentHeight","aspectRatio","handleWindowResize","windowResizeDelay","eventLimit","eventLimitClick","timeZone","now","defaultView","allDaySlot","allDayText","slotDuration","slotLabelFormat","slotLabelInterval","snapDuration","scrollTime","minTime","maxTime","slotEventOverlap","listDayFormat","listDayAltFormat","noEventsMessage","defaultDate","nowIndicator","visibleRange","validRange","dateIncrement","dateAlignment","duration","dayCount","locales","locale","eventTimeFormat","columnHeader","columnHeaderFormat","columnHeaderText","columnHeaderHtml","titleFormat","weekLabel","displayEventTime","displayEventEnd","eventLimitText","dayPopoverFormat","navLinks","navLinkDayClick","navLinkWeekClick","selectable","selectMirror","selectMinDistance","unselectAuto","unselectCancel","defaultAllDayEventDuration","defaultTimedEventDuration","cmdFormatter","defaultRangeSeparator","selectConstraint","selectOverlap","selectAllow","editable","eventStartEditable","eventDurationEditable","eventConstraint","eventOverlap","eventAllow","eventClassName","eventClassNames","eventBackgroundColor","eventBorderColor","eventTextColor","eventColor","events","eventSources","allDayDefault","startParam","endParam","lazyFetching","nextDayThreshold","eventOrder","rerenderDelay","dragRevertDuration","dragScroll","longPressDelay","eventLongPressDelay","droppable","dropAccept","eventDataTransform","allDayMaintainDuration","eventResizableFromStart","timeGridEventMinHeight","allDayHtml","eventDragMinDistance","eventSourceFailure","eventSourceSuccess","forceEventDuration","progressiveEventRendering","selectLongPressDelay","selectMinDistance","timeZoneParam","titleRangeSeparator","buttonText","views","plugins","schedulerLicenseKey","resources","resourceLabelText","resourceOrder","filterResourcesWithEvents","resourceText","resourceGroupField","resourceGroupText","resourceAreaWidth","resourceColumns","resourcesInitiallyExpanded","slotWidth","datesAboveResources","googleCalendarApiKey","refetchResourcesOnNavigate","eventResourceEditable"],i={header:!0,footer:!0,events:!0,eventSources:!0,resources:!0},s=["windowResize","dateClick","eventClick","eventMouseEnter","eventMouseLeave","select","unselect","loading","eventPositioned","eventDragStart","eventDragStop","eventDrop","eventResizeStart","eventResizeStop","eventResize","drop","eventReceive","eventLeave","_destroyed","viewSkeletonRender","viewSkeletonDestroy","datesRender","datesDestroy","dayRender","eventRender","eventDestroy","resourceRender"],a=function(){function e(e){this.element=e,this.dirtyProps={},this.deepCopies={},this.windowResize=new n.EventEmitter,this.dateClick=new n.EventEmitter,this.eventClick=new n.EventEmitter,this.eventMouseEnter=new n.EventEmitter,this.eventMouseLeave=new n.EventEmitter,this.select=new n.EventEmitter,this.unselect=new n.EventEmitter,this.loading=new n.EventEmitter,this.eventPositioned=new n.EventEmitter,this.eventDragStart=new n.EventEmitter,this.eventDragStop=new n.EventEmitter,this.eventDrop=new n.EventEmitter,this.eventResizeStart=new n.EventEmitter,this.eventResizeStop=new n.EventEmitter,this.eventResize=new n.EventEmitter,this.drop=new n.EventEmitter,this.eventReceive=new n.EventEmitter,this.eventLeave=new n.EventEmitter,this._destroyed=new n.EventEmitter,this.viewSkeletonRender=new n.EventEmitter,this.viewSkeletonDestroy=new n.EventEmitter,this.datesRender=new n.EventEmitter,this.datesDestroy=new n.EventEmitter,this.dayRender=new n.EventEmitter,this.eventRender=new n.EventEmitter,this.eventDestroy=new n.EventEmitter,this.resourceRender=new n.EventEmitter}return e.prototype.ngAfterViewInit=function(){this.calendar=new t.Calendar(this.element.nativeElement,this.buildOptions()),this.calendar.render()},e.prototype.buildOptions=function(){var a=this,n={};return s.forEach(function(p){n[p]=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=a[p]).emit.apply(e,function r(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e}(t))}}),r.forEach(function(e){var t=a[e];t!==undefined&&(a.deepChangeDetection&&i[e]&&(t=u(t),a.deepCopies[e]=t),n[e]=t)}),n},e.prototype.ngDoCheck=function(){if(this.calendar&&this.deepChangeDetection){var e=this.deepCopies;for(var t in i)if(i.hasOwnProperty(t)){var n=this[t];if(n!==undefined&&!p(n,e[t])){var r=u(n);e[t]=r,this.dirtyProps[t]=r}}}},e.prototype.ngOnChanges=function(e){if(this.calendar)for(var t in e)e.hasOwnProperty(t)&&this.deepCopies[t]===undefined&&(this.dirtyProps[t]=e[t].currentValue)},e.prototype.ngAfterContentChecked=function(){var e=this.dirtyProps;0<Object.keys(e).length&&(this.dirtyProps={},this.calendar.mutateOptions(e,[],!1,p))},e.prototype.ngOnDestroy=function(){this.calendar.destroy(),this.calendar=null},e.prototype.getApi=function(){return this.calendar},e.decorators=[{type:n.Component,args:[{selector:"full-calendar",template:""}]}],e.ctorParameters=function(){return[{type:n.ElementRef}]},e.propDecorators={deepChangeDetection:[{type:n.Input}],header:[{type:n.Input}],footer:[{type:n.Input}],customButtons:[{type:n.Input}],buttonIcons:[{type:n.Input}],themeSystem:[{type:n.Input}],bootstrapFontAwesome:[{type:n.Input}],firstDay:[{type:n.Input}],dir:[{type:n.Input}],weekends:[{type:n.Input}],hiddenDays:[{type:n.Input}],fixedWeekCount:[{type:n.Input}],weekNumbers:[{type:n.Input}],weekNumbersWithinDays:[{type:n.Input}],weekNumberCalculation:[{type:n.Input}],businessHours:[{type:n.Input}],showNonCurrentDates:[{type:n.Input}],height:[{type:n.Input}],contentHeight:[{type:n.Input}],aspectRatio:[{type:n.Input}],handleWindowResize:[{type:n.Input}],windowResizeDelay:[{type:n.Input}],eventLimit:[{type:n.Input}],eventLimitClick:[{type:n.Input}],timeZone:[{type:n.Input}],now:[{type:n.Input}],defaultView:[{type:n.Input}],allDaySlot:[{type:n.Input}],allDayText:[{type:n.Input}],slotDuration:[{type:n.Input}],slotLabelFormat:[{type:n.Input}],slotLabelInterval:[{type:n.Input}],snapDuration:[{type:n.Input}],scrollTime:[{type:n.Input}],minTime:[{type:n.Input}],maxTime:[{type:n.Input}],slotEventOverlap:[{type:n.Input}],listDayFormat:[{type:n.Input}],listDayAltFormat:[{type:n.Input}],noEventsMessage:[{type:n.Input}],defaultDate:[{type:n.Input}],nowIndicator:[{type:n.Input}],visibleRange:[{type:n.Input}],validRange:[{type:n.Input}],dateIncrement:[{type:n.Input}],dateAlignment:[{type:n.Input}],duration:[{type:n.Input}],dayCount:[{type:n.Input}],locales:[{type:n.Input}],locale:[{type:n.Input}],eventTimeFormat:[{type:n.Input}],columnHeader:[{type:n.Input}],columnHeaderFormat:[{type:n.Input}],columnHeaderText:[{type:n.Input}],columnHeaderHtml:[{type:n.Input}],titleFormat:[{type:n.Input}],weekLabel:[{type:n.Input}],displayEventTime:[{type:n.Input}],displayEventEnd:[{type:n.Input}],eventLimitText:[{type:n.Input}],dayPopoverFormat:[{type:n.Input}],navLinks:[{type:n.Input}],navLinkDayClick:[{type:n.Input}],navLinkWeekClick:[{type:n.Input}],selectable:[{type:n.Input}],selectMirror:[{type:n.Input}],unselectAuto:[{type:n.Input}],unselectCancel:[{type:n.Input}],defaultAllDayEventDuration:[{type:n.Input}],defaultTimedEventDuration:[{type:n.Input}],cmdFormatter:[{type:n.Input}],defaultRangeSeparator:[{type:n.Input}],selectConstraint:[{type:n.Input}],selectOverlap:[{type:n.Input}],selectAllow:[{type:n.Input}],selectMinDistance:[{type:n.Input}],editable:[{type:n.Input}],eventStartEditable:[{type:n.Input}],eventDurationEditable:[{type:n.Input}],eventConstraint:[{type:n.Input}],eventOverlap:[{type:n.Input}],eventAllow:[{type:n.Input}],eventClassName:[{type:n.Input}],eventClassNames:[{type:n.Input}],eventBackgroundColor:[{type:n.Input}],eventBorderColor:[{type:n.Input}],eventTextColor:[{type:n.Input}],eventColor:[{type:n.Input}],events:[{type:n.Input}],eventSources:[{type:n.Input}],allDayDefault:[{type:n.Input}],startParam:[{type:n.Input}],endParam:[{type:n.Input}],lazyFetching:[{type:n.Input}],nextDayThreshold:[{type:n.Input}],eventOrder:[{type:n.Input}],rerenderDelay:[{type:n.Input}],dragRevertDuration:[{type:n.Input}],dragScroll:[{type:n.Input}],longPressDelay:[{type:n.Input}],eventLongPressDelay:[{type:n.Input}],droppable:[{type:n.Input}],dropAccept:[{type:n.Input}],eventDataTransform:[{type:n.Input}],allDayMaintainDuration:[{type:n.Input}],eventResizableFromStart:[{type:n.Input}],timeGridEventMinHeight:[{type:n.Input}],allDayHtml:[{type:n.Input}],eventDragMinDistance:[{type:n.Input}],eventSourceFailure:[{type:n.Input}],eventSourceSuccess:[{type:n.Input}],forceEventDuration:[{type:n.Input}],progressiveEventRendering:[{type:n.Input}],selectLongPressDelay:[{type:n.Input}],timeZoneParam:[{type:n.Input}],titleRangeSeparator:[{type:n.Input}],buttonText:[{type:n.Input}],views:[{type:n.Input}],plugins:[{type:n.Input}],schedulerLicenseKey:[{type:n.Input}],resources:[{type:n.Input}],resourceLabelText:[{type:n.Input}],resourceOrder:[{type:n.Input}],filterResourcesWithEvents:[{type:n.Input}],resourceText:[{type:n.Input}],resourceGroupField:[{type:n.Input}],resourceGroupText:[{type:n.Input}],resourceAreaWidth:[{type:n.Input}],resourceColumns:[{type:n.Input}],resourcesInitiallyExpanded:[{type:n.Input}],slotWidth:[{type:n.Input}],datesAboveResources:[{type:n.Input}],googleCalendarApiKey:[{type:n.Input}],refetchResourcesOnNavigate:[{type:n.Input}],eventResourceEditable:[{type:n.Input}],windowResize:[{type:n.Output}],dateClick:[{type:n.Output}],eventClick:[{type:n.Output}],eventMouseEnter:[{type:n.Output}],eventMouseLeave:[{type:n.Output}],select:[{type:n.Output}],unselect:[{type:n.Output}],loading:[{type:n.Output}],eventPositioned:[{type:n.Output}],eventDragStart:[{type:n.Output}],eventDragStop:[{type:n.Output}],eventDrop:[{type:n.Output}],eventResizeStart:[{type:n.Output}],eventResizeStop:[{type:n.Output}],eventResize:[{type:n.Output}],drop:[{type:n.Output}],eventReceive:[{type:n.Output}],eventLeave:[{type:n.Output}],_destroyed:[{type:n.Output}],viewSkeletonRender:[{type:n.Output}],viewSkeletonDestroy:[{type:n.Output}],datesRender:[{type:n.Output}],datesDestroy:[{type:n.Output}],dayRender:[{type:n.Output}],eventRender:[{type:n.Output}],eventDestroy:[{type:n.Output}],resourceRender:[{type:n.Output}]},e}(),l=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[a],imports:[],exports:[a]}]}],e}();e.FullCalendarComponent=a,e.FullCalendarModule=l,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=fullcalendar-angular.umd.min.js.map |
@@ -76,2 +76,3 @@ /** | ||
'selectMirror', | ||
'selectMinDistance', | ||
'unselectAuto', | ||
@@ -117,2 +118,12 @@ 'unselectCancel', | ||
'timeGridEventMinHeight', | ||
'allDayHtml', | ||
'eventDragMinDistance', | ||
'eventSourceFailure', | ||
'eventSourceSuccess', | ||
'forceEventDuration', | ||
'progressiveEventRendering', | ||
'selectLongPressDelay', | ||
'selectMinDistance', | ||
'timeZoneParam', | ||
'titleRangeSeparator', | ||
// compound OptionsInput... | ||
@@ -136,9 +147,16 @@ 'buttonText', | ||
'datesAboveResources', | ||
'googleCalendarApiKey' | ||
'googleCalendarApiKey', | ||
'refetchResourcesOnNavigate', | ||
'eventResourceEditable' | ||
]; | ||
/** @type {?} */ | ||
export const EVENT_NAMES = [ | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
export const INPUT_IS_DEEP = { | ||
header: true, | ||
footer: true, | ||
events: true, | ||
eventSources: true, | ||
resources: true | ||
}; | ||
/** @type {?} */ | ||
export const OUTPUT_NAMES = [ | ||
'windowResize', | ||
@@ -152,5 +170,3 @@ 'dateClick', | ||
'loading', | ||
'eventRender', | ||
'eventPositioned', | ||
'eventDestroy', | ||
'eventDragStart', | ||
@@ -165,8 +181,13 @@ 'eventDragStop', | ||
'eventLeave', | ||
'_destroyed', | ||
// TODO: make these inputs... | ||
'viewSkeletonRender', | ||
'viewSkeletonDestroy', | ||
'_destroyed', | ||
// scheduler... | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
'eventRender', | ||
'eventDestroy', | ||
'resourceRender' | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZnVsbGNhbGVuZGFyL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZnVsbGNhbGVuZGFyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsTUFBTSxPQUFPLFdBQVcsR0FBRztJQUN6QixRQUFRO0lBQ1IsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixVQUFVO0lBQ1YsS0FBSztJQUNMLFVBQVU7SUFDVixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixLQUFLO0lBQ0wsYUFBYTtJQUNiLFlBQVk7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFlBQVk7SUFDWixTQUFTO0lBQ1QsU0FBUztJQUNULGtCQUFrQjtJQUNsQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2QsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsYUFBYTtJQUNiLFVBQVU7SUFDVixvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFFBQVE7SUFDUixjQUFjO0lBQ2QsZUFBZTtJQUNmLFlBQVk7SUFDWixVQUFVO0lBQ1YsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osZUFBZTtJQUNmLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4QiwyQkFBMkI7SUFDM0IsWUFBWTtJQUNaLE9BQU87SUFDUCxTQUFTO0lBQ1QsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixzQkFBc0I7Q0FDdkI7O0FBRUQsTUFBTSxPQUFPLFdBQVcsR0FBRztJQUN6QixhQUFhO0lBQ2IsY0FBYztJQUNkLFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLFFBQVE7SUFDUixVQUFVO0lBQ1YsU0FBUztJQUNULGFBQWE7SUFDYixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLE1BQU07SUFDTixjQUFjO0lBQ2QsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7Q0FDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxudGhlIGRvY3MgcG9pbnQgdG8gdGhpcyBmaWxlIGFzIGFuIGluZGV4IG9mIG9wdGlvbnMuXG53aGVuIHRoaXMgZmlsZXMgaXMgbW92ZWQsIHVwZGF0ZSB0aGUgZG9jcy5cbiovXG5cbmV4cG9ydCBjb25zdCBJTlBVVF9OQU1FUyA9IFtcbiAgJ2hlYWRlcicsXG4gICdmb290ZXInLFxuICAnY3VzdG9tQnV0dG9ucycsXG4gICdidXR0b25JY29ucycsXG4gICd0aGVtZVN5c3RlbScsXG4gICdib290c3RyYXBGb250QXdlc29tZScsXG4gICdmaXJzdERheScsXG4gICdkaXInLFxuICAnd2Vla2VuZHMnLFxuICAnaGlkZGVuRGF5cycsXG4gICdmaXhlZFdlZWtDb3VudCcsXG4gICd3ZWVrTnVtYmVycycsXG4gICd3ZWVrTnVtYmVyc1dpdGhpbkRheXMnLFxuICAnd2Vla051bWJlckNhbGN1bGF0aW9uJyxcbiAgJ2J1c2luZXNzSG91cnMnLFxuICAnc2hvd05vbkN1cnJlbnREYXRlcycsXG4gICdoZWlnaHQnLFxuICAnY29udGVudEhlaWdodCcsXG4gICdhc3BlY3RSYXRpbycsXG4gICdoYW5kbGVXaW5kb3dSZXNpemUnLFxuICAnd2luZG93UmVzaXplRGVsYXknLFxuICAnZXZlbnRMaW1pdCcsXG4gICdldmVudExpbWl0Q2xpY2snLFxuICAndGltZVpvbmUnLFxuICAnbm93JyxcbiAgJ2RlZmF1bHRWaWV3JyxcbiAgJ2FsbERheVNsb3QnLFxuICAnYWxsRGF5VGV4dCcsXG4gICdzbG90RHVyYXRpb24nLFxuICAnc2xvdExhYmVsRm9ybWF0JyxcbiAgJ3Nsb3RMYWJlbEludGVydmFsJyxcbiAgJ3NuYXBEdXJhdGlvbicsXG4gICdzY3JvbGxUaW1lJyxcbiAgJ21pblRpbWUnLFxuICAnbWF4VGltZScsXG4gICdzbG90RXZlbnRPdmVybGFwJyxcbiAgJ2xpc3REYXlGb3JtYXQnLFxuICAnbGlzdERheUFsdEZvcm1hdCcsXG4gICdub0V2ZW50c01lc3NhZ2UnLFxuICAnZGVmYXVsdERhdGUnLFxuICAnbm93SW5kaWNhdG9yJyxcbiAgJ3Zpc2libGVSYW5nZScsXG4gICd2YWxpZFJhbmdlJyxcbiAgJ2RhdGVJbmNyZW1lbnQnLFxuICAnZGF0ZUFsaWdubWVudCcsXG4gICdkdXJhdGlvbicsXG4gICdkYXlDb3VudCcsXG4gICdsb2NhbGVzJyxcbiAgJ2xvY2FsZScsXG4gICdldmVudFRpbWVGb3JtYXQnLFxuICAnY29sdW1uSGVhZGVyJyxcbiAgJ2NvbHVtbkhlYWRlckZvcm1hdCcsXG4gICdjb2x1bW5IZWFkZXJUZXh0JyxcbiAgJ2NvbHVtbkhlYWRlckh0bWwnLFxuICAndGl0bGVGb3JtYXQnLFxuICAnd2Vla0xhYmVsJyxcbiAgJ2Rpc3BsYXlFdmVudFRpbWUnLFxuICAnZGlzcGxheUV2ZW50RW5kJyxcbiAgJ2V2ZW50TGltaXRUZXh0JyxcbiAgJ2RheVBvcG92ZXJGb3JtYXQnLFxuICAnbmF2TGlua3MnLFxuICAnbmF2TGlua0RheUNsaWNrJyxcbiAgJ25hdkxpbmtXZWVrQ2xpY2snLFxuICAnc2VsZWN0YWJsZScsXG4gICdzZWxlY3RNaXJyb3InLFxuICAndW5zZWxlY3RBdXRvJyxcbiAgJ3Vuc2VsZWN0Q2FuY2VsJyxcbiAgJ2RlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uJyxcbiAgJ2RlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24nLFxuICAnY21kRm9ybWF0dGVyJyxcbiAgJ2RlZmF1bHRSYW5nZVNlcGFyYXRvcicsXG4gICdzZWxlY3RDb25zdHJhaW50JyxcbiAgJ3NlbGVjdE92ZXJsYXAnLFxuICAnc2VsZWN0QWxsb3cnLFxuICAnZWRpdGFibGUnLFxuICAnZXZlbnRTdGFydEVkaXRhYmxlJyxcbiAgJ2V2ZW50RHVyYXRpb25FZGl0YWJsZScsXG4gICdldmVudENvbnN0cmFpbnQnLFxuICAnZXZlbnRPdmVybGFwJyxcbiAgJ2V2ZW50QWxsb3cnLFxuICAnZXZlbnRDbGFzc05hbWUnLFxuICAnZXZlbnRDbGFzc05hbWVzJyxcbiAgJ2V2ZW50QmFja2dyb3VuZENvbG9yJyxcbiAgJ2V2ZW50Qm9yZGVyQ29sb3InLFxuICAnZXZlbnRUZXh0Q29sb3InLFxuICAnZXZlbnRDb2xvcicsXG4gICdldmVudHMnLFxuICAnZXZlbnRTb3VyY2VzJyxcbiAgJ2FsbERheURlZmF1bHQnLFxuICAnc3RhcnRQYXJhbScsXG4gICdlbmRQYXJhbScsXG4gICdsYXp5RmV0Y2hpbmcnLFxuICAnbmV4dERheVRocmVzaG9sZCcsXG4gICdldmVudE9yZGVyJyxcbiAgJ3JlcmVuZGVyRGVsYXknLFxuICAnZHJhZ1JldmVydER1cmF0aW9uJyxcbiAgJ2RyYWdTY3JvbGwnLFxuICAnbG9uZ1ByZXNzRGVsYXknLFxuICAnZXZlbnRMb25nUHJlc3NEZWxheScsXG4gICdkcm9wcGFibGUnLFxuICAnZHJvcEFjY2VwdCcsXG4gICdldmVudERhdGFUcmFuc2Zvcm0nLFxuICAnYWxsRGF5TWFpbnRhaW5EdXJhdGlvbicsXG4gICdldmVudFJlc2l6YWJsZUZyb21TdGFydCcsXG4gICd0aW1lR3JpZEV2ZW50TWluSGVpZ2h0JyxcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gICdidXR0b25UZXh0JyxcbiAgJ3ZpZXdzJyxcbiAgJ3BsdWdpbnMnLFxuICAvLyBzY2hlZHVsZXIuLi5cbiAgJ3NjaGVkdWxlckxpY2Vuc2VLZXknLFxuICAncmVzb3VyY2VzJyxcbiAgJ3Jlc291cmNlTGFiZWxUZXh0JyxcbiAgJ3Jlc291cmNlT3JkZXInLFxuICAnZmlsdGVyUmVzb3VyY2VzV2l0aEV2ZW50cycsXG4gICdyZXNvdXJjZVRleHQnLFxuICAncmVzb3VyY2VHcm91cEZpZWxkJyxcbiAgJ3Jlc291cmNlR3JvdXBUZXh0JyxcbiAgJ3Jlc291cmNlQXJlYVdpZHRoJyxcbiAgJ3Jlc291cmNlQ29sdW1ucycsXG4gICdyZXNvdXJjZXNJbml0aWFsbHlFeHBhbmRlZCcsXG4gICdzbG90V2lkdGgnLFxuICAnZGF0ZXNBYm92ZVJlc291cmNlcycsXG4gICdnb29nbGVDYWxlbmRhckFwaUtleSdcbl07XG5cbmV4cG9ydCBjb25zdCBFVkVOVF9OQU1FUyA9IFtcbiAgJ2RhdGVzUmVuZGVyJyxcbiAgJ2RhdGVzRGVzdHJveScsXG4gICdkYXlSZW5kZXInLFxuICAnd2luZG93UmVzaXplJyxcbiAgJ2RhdGVDbGljaycsXG4gICdldmVudENsaWNrJyxcbiAgJ2V2ZW50TW91c2VFbnRlcicsXG4gICdldmVudE1vdXNlTGVhdmUnLFxuICAnc2VsZWN0JyxcbiAgJ3Vuc2VsZWN0JyxcbiAgJ2xvYWRpbmcnLFxuICAnZXZlbnRSZW5kZXInLFxuICAnZXZlbnRQb3NpdGlvbmVkJyxcbiAgJ2V2ZW50RGVzdHJveScsXG4gICdldmVudERyYWdTdGFydCcsXG4gICdldmVudERyYWdTdG9wJyxcbiAgJ2V2ZW50RHJvcCcsXG4gICdldmVudFJlc2l6ZVN0YXJ0JyxcbiAgJ2V2ZW50UmVzaXplU3RvcCcsXG4gICdldmVudFJlc2l6ZScsXG4gICdkcm9wJyxcbiAgJ2V2ZW50UmVjZWl2ZScsXG4gICdldmVudExlYXZlJyxcbiAgJ3ZpZXdTa2VsZXRvblJlbmRlcicsXG4gICd2aWV3U2tlbGV0b25EZXN0cm95JyxcbiAgJ19kZXN0cm95ZWQnLFxuICAvLyBzY2hlZHVsZXIuLi5cbiAgJ3Jlc291cmNlUmVuZGVyJ1xuXTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZnVsbGNhbGVuZGFyL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZnVsbGNhbGVuZGFyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsTUFBTSxPQUFPLFdBQVcsR0FBRztJQUN6QixRQUFRO0lBQ1IsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixVQUFVO0lBQ1YsS0FBSztJQUNMLFVBQVU7SUFDVixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixLQUFLO0lBQ0wsYUFBYTtJQUNiLFlBQVk7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFlBQVk7SUFDWixTQUFTO0lBQ1QsU0FBUztJQUNULGtCQUFrQjtJQUNsQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztJQUNkLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGFBQWE7SUFDYixVQUFVO0lBQ1Ysb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixRQUFRO0lBQ1IsY0FBYztJQUNkLGVBQWU7SUFDZixZQUFZO0lBQ1osVUFBVTtJQUNWLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQixZQUFZO0lBQ1osT0FBTztJQUNQLFNBQVM7SUFDVCxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLDRCQUE0QjtJQUM1QixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsdUJBQXVCO0NBQ3hCOztBQUVELE1BQU0sT0FBTyxhQUFhLEdBQUc7SUFDM0IsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osWUFBWSxFQUFFLElBQUk7SUFDbEIsU0FBUyxFQUFFLElBQUk7Q0FDaEI7O0FBRUQsTUFBTSxPQUFPLFlBQVksR0FBRztJQUMxQixjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLFFBQVE7SUFDUixVQUFVO0lBQ1YsU0FBUztJQUNULGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixNQUFNO0lBQ04sY0FBYztJQUNkLFlBQVk7SUFDWixZQUFZO0lBQ1osNkJBQTZCO0lBQzdCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLGNBQWM7SUFDZCxXQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQWM7SUFDZCxnQkFBZ0I7Q0FDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxudGhlIGRvY3MgcG9pbnQgdG8gdGhpcyBmaWxlIGFzIGFuIGluZGV4IG9mIG9wdGlvbnMuXG53aGVuIHRoaXMgZmlsZXMgaXMgbW92ZWQsIHVwZGF0ZSB0aGUgZG9jcy5cbiovXG5cbmV4cG9ydCBjb25zdCBJTlBVVF9OQU1FUyA9IFtcbiAgJ2hlYWRlcicsXG4gICdmb290ZXInLFxuICAnY3VzdG9tQnV0dG9ucycsXG4gICdidXR0b25JY29ucycsXG4gICd0aGVtZVN5c3RlbScsXG4gICdib290c3RyYXBGb250QXdlc29tZScsXG4gICdmaXJzdERheScsXG4gICdkaXInLFxuICAnd2Vla2VuZHMnLFxuICAnaGlkZGVuRGF5cycsXG4gICdmaXhlZFdlZWtDb3VudCcsXG4gICd3ZWVrTnVtYmVycycsXG4gICd3ZWVrTnVtYmVyc1dpdGhpbkRheXMnLFxuICAnd2Vla051bWJlckNhbGN1bGF0aW9uJyxcbiAgJ2J1c2luZXNzSG91cnMnLFxuICAnc2hvd05vbkN1cnJlbnREYXRlcycsXG4gICdoZWlnaHQnLFxuICAnY29udGVudEhlaWdodCcsXG4gICdhc3BlY3RSYXRpbycsXG4gICdoYW5kbGVXaW5kb3dSZXNpemUnLFxuICAnd2luZG93UmVzaXplRGVsYXknLFxuICAnZXZlbnRMaW1pdCcsXG4gICdldmVudExpbWl0Q2xpY2snLFxuICAndGltZVpvbmUnLFxuICAnbm93JyxcbiAgJ2RlZmF1bHRWaWV3JyxcbiAgJ2FsbERheVNsb3QnLFxuICAnYWxsRGF5VGV4dCcsXG4gICdzbG90RHVyYXRpb24nLFxuICAnc2xvdExhYmVsRm9ybWF0JyxcbiAgJ3Nsb3RMYWJlbEludGVydmFsJyxcbiAgJ3NuYXBEdXJhdGlvbicsXG4gICdzY3JvbGxUaW1lJyxcbiAgJ21pblRpbWUnLFxuICAnbWF4VGltZScsXG4gICdzbG90RXZlbnRPdmVybGFwJyxcbiAgJ2xpc3REYXlGb3JtYXQnLFxuICAnbGlzdERheUFsdEZvcm1hdCcsXG4gICdub0V2ZW50c01lc3NhZ2UnLFxuICAnZGVmYXVsdERhdGUnLFxuICAnbm93SW5kaWNhdG9yJyxcbiAgJ3Zpc2libGVSYW5nZScsXG4gICd2YWxpZFJhbmdlJyxcbiAgJ2RhdGVJbmNyZW1lbnQnLFxuICAnZGF0ZUFsaWdubWVudCcsXG4gICdkdXJhdGlvbicsXG4gICdkYXlDb3VudCcsXG4gICdsb2NhbGVzJyxcbiAgJ2xvY2FsZScsXG4gICdldmVudFRpbWVGb3JtYXQnLFxuICAnY29sdW1uSGVhZGVyJyxcbiAgJ2NvbHVtbkhlYWRlckZvcm1hdCcsXG4gICdjb2x1bW5IZWFkZXJUZXh0JyxcbiAgJ2NvbHVtbkhlYWRlckh0bWwnLFxuICAndGl0bGVGb3JtYXQnLFxuICAnd2Vla0xhYmVsJyxcbiAgJ2Rpc3BsYXlFdmVudFRpbWUnLFxuICAnZGlzcGxheUV2ZW50RW5kJyxcbiAgJ2V2ZW50TGltaXRUZXh0JyxcbiAgJ2RheVBvcG92ZXJGb3JtYXQnLFxuICAnbmF2TGlua3MnLFxuICAnbmF2TGlua0RheUNsaWNrJyxcbiAgJ25hdkxpbmtXZWVrQ2xpY2snLFxuICAnc2VsZWN0YWJsZScsXG4gICdzZWxlY3RNaXJyb3InLFxuICAnc2VsZWN0TWluRGlzdGFuY2UnLFxuICAndW5zZWxlY3RBdXRvJyxcbiAgJ3Vuc2VsZWN0Q2FuY2VsJyxcbiAgJ2RlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uJyxcbiAgJ2RlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24nLFxuICAnY21kRm9ybWF0dGVyJyxcbiAgJ2RlZmF1bHRSYW5nZVNlcGFyYXRvcicsXG4gICdzZWxlY3RDb25zdHJhaW50JyxcbiAgJ3NlbGVjdE92ZXJsYXAnLFxuICAnc2VsZWN0QWxsb3cnLFxuICAnZWRpdGFibGUnLFxuICAnZXZlbnRTdGFydEVkaXRhYmxlJyxcbiAgJ2V2ZW50RHVyYXRpb25FZGl0YWJsZScsXG4gICdldmVudENvbnN0cmFpbnQnLFxuICAnZXZlbnRPdmVybGFwJyxcbiAgJ2V2ZW50QWxsb3cnLFxuICAnZXZlbnRDbGFzc05hbWUnLFxuICAnZXZlbnRDbGFzc05hbWVzJyxcbiAgJ2V2ZW50QmFja2dyb3VuZENvbG9yJyxcbiAgJ2V2ZW50Qm9yZGVyQ29sb3InLFxuICAnZXZlbnRUZXh0Q29sb3InLFxuICAnZXZlbnRDb2xvcicsXG4gICdldmVudHMnLFxuICAnZXZlbnRTb3VyY2VzJyxcbiAgJ2FsbERheURlZmF1bHQnLFxuICAnc3RhcnRQYXJhbScsXG4gICdlbmRQYXJhbScsXG4gICdsYXp5RmV0Y2hpbmcnLFxuICAnbmV4dERheVRocmVzaG9sZCcsXG4gICdldmVudE9yZGVyJyxcbiAgJ3JlcmVuZGVyRGVsYXknLFxuICAnZHJhZ1JldmVydER1cmF0aW9uJyxcbiAgJ2RyYWdTY3JvbGwnLFxuICAnbG9uZ1ByZXNzRGVsYXknLFxuICAnZXZlbnRMb25nUHJlc3NEZWxheScsXG4gICdkcm9wcGFibGUnLFxuICAnZHJvcEFjY2VwdCcsXG4gICdldmVudERhdGFUcmFuc2Zvcm0nLFxuICAnYWxsRGF5TWFpbnRhaW5EdXJhdGlvbicsXG4gICdldmVudFJlc2l6YWJsZUZyb21TdGFydCcsXG4gICd0aW1lR3JpZEV2ZW50TWluSGVpZ2h0JyxcbiAgJ2FsbERheUh0bWwnLFxuICAnZXZlbnREcmFnTWluRGlzdGFuY2UnLFxuICAnZXZlbnRTb3VyY2VGYWlsdXJlJyxcbiAgJ2V2ZW50U291cmNlU3VjY2VzcycsXG4gICdmb3JjZUV2ZW50RHVyYXRpb24nLFxuICAncHJvZ3Jlc3NpdmVFdmVudFJlbmRlcmluZycsXG4gICdzZWxlY3RMb25nUHJlc3NEZWxheScsXG4gICdzZWxlY3RNaW5EaXN0YW5jZScsXG4gICd0aW1lWm9uZVBhcmFtJyxcbiAgJ3RpdGxlUmFuZ2VTZXBhcmF0b3InLFxuICAvLyBjb21wb3VuZCBPcHRpb25zSW5wdXQuLi5cbiAgJ2J1dHRvblRleHQnLFxuICAndmlld3MnLFxuICAncGx1Z2lucycsXG4gIC8vIHNjaGVkdWxlci4uLlxuICAnc2NoZWR1bGVyTGljZW5zZUtleScsXG4gICdyZXNvdXJjZXMnLFxuICAncmVzb3VyY2VMYWJlbFRleHQnLFxuICAncmVzb3VyY2VPcmRlcicsXG4gICdmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzJyxcbiAgJ3Jlc291cmNlVGV4dCcsXG4gICdyZXNvdXJjZUdyb3VwRmllbGQnLFxuICAncmVzb3VyY2VHcm91cFRleHQnLFxuICAncmVzb3VyY2VBcmVhV2lkdGgnLFxuICAncmVzb3VyY2VDb2x1bW5zJyxcbiAgJ3Jlc291cmNlc0luaXRpYWxseUV4cGFuZGVkJyxcbiAgJ3Nsb3RXaWR0aCcsXG4gICdkYXRlc0Fib3ZlUmVzb3VyY2VzJyxcbiAgJ2dvb2dsZUNhbGVuZGFyQXBpS2V5JyxcbiAgJ3JlZmV0Y2hSZXNvdXJjZXNPbk5hdmlnYXRlJyxcbiAgJ2V2ZW50UmVzb3VyY2VFZGl0YWJsZSdcbl07XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9JU19ERUVQID0ge1xuICBoZWFkZXI6IHRydWUsXG4gIGZvb3RlcjogdHJ1ZSxcbiAgZXZlbnRzOiB0cnVlLFxuICBldmVudFNvdXJjZXM6IHRydWUsXG4gIHJlc291cmNlczogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IE9VVFBVVF9OQU1FUyA9IFtcbiAgJ3dpbmRvd1Jlc2l6ZScsXG4gICdkYXRlQ2xpY2snLFxuICAnZXZlbnRDbGljaycsXG4gICdldmVudE1vdXNlRW50ZXInLFxuICAnZXZlbnRNb3VzZUxlYXZlJyxcbiAgJ3NlbGVjdCcsXG4gICd1bnNlbGVjdCcsXG4gICdsb2FkaW5nJyxcbiAgJ2V2ZW50UG9zaXRpb25lZCcsXG4gICdldmVudERyYWdTdGFydCcsXG4gICdldmVudERyYWdTdG9wJyxcbiAgJ2V2ZW50RHJvcCcsXG4gICdldmVudFJlc2l6ZVN0YXJ0JyxcbiAgJ2V2ZW50UmVzaXplU3RvcCcsXG4gICdldmVudFJlc2l6ZScsXG4gICdkcm9wJyxcbiAgJ2V2ZW50UmVjZWl2ZScsXG4gICdldmVudExlYXZlJyxcbiAgJ19kZXN0cm95ZWQnLFxuICAvLyBUT0RPOiBtYWtlIHRoZXNlIGlucHV0cy4uLlxuICAndmlld1NrZWxldG9uUmVuZGVyJyxcbiAgJ3ZpZXdTa2VsZXRvbkRlc3Ryb3knLFxuICAnZGF0ZXNSZW5kZXInLFxuICAnZGF0ZXNEZXN0cm95JyxcbiAgJ2RheVJlbmRlcicsXG4gICdldmVudFJlbmRlcicsXG4gICdldmVudERlc3Ryb3knLFxuICAncmVzb3VyY2VSZW5kZXInXG5dO1xuIl19 |
@@ -5,6 +5,9 @@ /** | ||
*/ | ||
import deepEqual from 'fast-deep-equal'; | ||
import { default as deepCopy } from 'deep-copy'; | ||
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core'; | ||
import { Calendar } from '@fullcalendar/core'; | ||
import { INPUT_NAMES, EVENT_NAMES } from './fullcalendar-options'; | ||
import { INPUT_NAMES, INPUT_IS_DEEP, OUTPUT_NAMES } from './fullcalendar-options'; | ||
export class FullCalendarComponent { | ||
// holds frozen states | ||
/** | ||
@@ -15,5 +18,4 @@ * @param {?} element | ||
this.element = element; | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.dirtyProps = {}; | ||
this.deepCopies = {}; // holds frozen states | ||
this.windowResize = new EventEmitter(); | ||
@@ -27,5 +29,3 @@ this.dateClick = new EventEmitter(); | ||
this.loading = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventPositioned = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.eventDragStart = new EventEmitter(); | ||
@@ -40,6 +40,11 @@ this.eventDragStop = new EventEmitter(); | ||
this.eventLeave = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// TODO: make these inputs... | ||
this.viewSkeletonRender = new EventEmitter(); | ||
this.viewSkeletonDestroy = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// scheduler... | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.resourceRender = new EventEmitter(); | ||
@@ -55,2 +60,3 @@ } | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -61,8 +67,8 @@ */ | ||
const options = {}; | ||
EVENT_NAMES.forEach((/** | ||
* @param {?} eventName | ||
OUTPUT_NAMES.forEach((/** | ||
* @param {?} outputName | ||
* @return {?} | ||
*/ | ||
eventName => { | ||
options[eventName] = (/** | ||
outputName => { | ||
options[outputName] = (/** | ||
* @param {...?} args | ||
@@ -72,5 +78,6 @@ * @return {?} | ||
(...args) => { | ||
this[eventName].emit(...args); | ||
this[outputName].emit(...args); | ||
}); | ||
})); | ||
// do after outputs, so that inputs with same name override | ||
INPUT_NAMES.forEach((/** | ||
@@ -81,4 +88,10 @@ * @param {?} inputName | ||
inputName => { | ||
if (this[inputName] !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
options[inputName] = this[inputName]; | ||
/** @type {?} */ | ||
let inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (this.deepChangeDetection && INPUT_IS_DEEP[inputName]) { | ||
inputVal = deepCopy(inputVal); | ||
this.deepCopies[inputName] = inputVal; // side effect! | ||
} | ||
options[inputName] = inputVal; | ||
} | ||
@@ -88,3 +101,33 @@ })); | ||
} | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
ngDoCheck() { | ||
if (this.calendar && this.deepChangeDetection) { // not the initial render AND we do deep-mutation checks | ||
// not the initial render AND we do deep-mutation checks | ||
const { deepCopies } = this; | ||
for (const inputName in INPUT_IS_DEEP) { | ||
if (INPUT_IS_DEEP.hasOwnProperty(inputName)) { | ||
/** @type {?} */ | ||
const inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (!deepEqual(inputVal, deepCopies[inputName])) { | ||
/** @type {?} */ | ||
const copy = deepCopy(inputVal); | ||
deepCopies[inputName] = copy; | ||
this.dirtyProps[inputName] = copy; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
@@ -95,11 +138,9 @@ * @return {?} | ||
if (this.calendar) { // not the initial render | ||
// not the initial render | ||
/** @type {?} */ | ||
const updatedInputs = {}; | ||
for (const inputName in changes) { | ||
if (changes.hasOwnProperty(inputName)) { | ||
updatedInputs[inputName] = changes[inputName].currentValue; | ||
if (this.deepCopies[inputName] === undefined) { // not already handled in ngDoCheck | ||
this.dirtyProps[inputName] = changes[inputName].currentValue; | ||
} | ||
} | ||
} | ||
this.calendar.setOptions(updatedInputs); | ||
} | ||
@@ -110,2 +151,12 @@ } | ||
*/ | ||
ngAfterContentChecked() { | ||
const { dirtyProps } = this; | ||
if (Object.keys(dirtyProps).length > 0) { | ||
this.dirtyProps = {}; // clear first, in case the rerender causes new dirtiness | ||
this.calendar.mutateOptions(dirtyProps, [], false, deepEqual); | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnDestroy() { | ||
@@ -133,2 +184,3 @@ this.calendar.destroy(); | ||
FullCalendarComponent.propDecorators = { | ||
deepChangeDetection: [{ type: Input }], | ||
header: [{ type: Input }], | ||
@@ -208,2 +260,3 @@ footer: [{ type: Input }], | ||
selectAllow: [{ type: Input }], | ||
selectMinDistance: [{ type: Input }], | ||
editable: [{ type: Input }], | ||
@@ -240,2 +293,11 @@ eventStartEditable: [{ type: Input }], | ||
timeGridEventMinHeight: [{ type: Input }], | ||
allDayHtml: [{ type: Input }], | ||
eventDragMinDistance: [{ type: Input }], | ||
eventSourceFailure: [{ type: Input }], | ||
eventSourceSuccess: [{ type: Input }], | ||
forceEventDuration: [{ type: Input }], | ||
progressiveEventRendering: [{ type: Input }], | ||
selectLongPressDelay: [{ type: Input }], | ||
timeZoneParam: [{ type: Input }], | ||
titleRangeSeparator: [{ type: Input }], | ||
buttonText: [{ type: Input }], | ||
@@ -258,5 +320,4 @@ views: [{ type: Input }], | ||
googleCalendarApiKey: [{ type: Input }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
refetchResourcesOnNavigate: [{ type: Input }], | ||
eventResourceEditable: [{ type: Input }], | ||
windowResize: [{ type: Output }], | ||
@@ -270,5 +331,3 @@ dateClick: [{ type: Output }], | ||
loading: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventPositioned: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
eventDragStart: [{ type: Output }], | ||
@@ -283,8 +342,15 @@ eventDragStop: [{ type: Output }], | ||
eventLeave: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
viewSkeletonRender: [{ type: Output }], | ||
viewSkeletonDestroy: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
resourceRender: [{ type: Output }] | ||
}; | ||
if (false) { | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.deepChangeDetection; | ||
/** | ||
@@ -295,2 +361,12 @@ * @type {?} | ||
FullCalendarComponent.prototype.calendar; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
FullCalendarComponent.prototype.dirtyProps; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
FullCalendarComponent.prototype.deepCopies; | ||
/** @type {?} */ | ||
@@ -445,2 +521,4 @@ FullCalendarComponent.prototype.header; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.selectMinDistance; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.editable; | ||
@@ -508,2 +586,20 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.allDayHtml; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDragMinDistance; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventSourceFailure; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventSourceSuccess; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.forceEventDuration; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.progressiveEventRendering; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.selectLongPressDelay; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.timeZoneParam; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.titleRangeSeparator; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.buttonText; | ||
@@ -543,8 +639,6 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.datesRender; | ||
FullCalendarComponent.prototype.refetchResourcesOnNavigate; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.datesDestroy; | ||
FullCalendarComponent.prototype.eventResourceEditable; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.dayRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.windowResize; | ||
@@ -566,8 +660,4 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventPositioned; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDestroy; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDragStart; | ||
@@ -591,2 +681,4 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype._destroyed; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.viewSkeletonRender; | ||
@@ -596,4 +688,12 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype._destroyed; | ||
FullCalendarComponent.prototype.datesRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.datesDestroy; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.dayRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDestroy; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.resourceRender; | ||
@@ -606,2 +706,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFLYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUE0RCxNQUFNLG9CQUFvQixDQUFDO0FBZXhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFNbEUsTUFBTSxPQUFPLHFCQUFxQjs7OztJQUloQyxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBcUw3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsaUJBQVksR0FB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RCxvREFBd0Q7O0lBQ3hELDJDQUErQzs7SUFFL0MsK0NBQW1EOzs7OztJQWhOdkMsd0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXIsIEJ1c2luZXNzSG91cnNJbnB1dCwgQ29uc3RyYWludElucHV0LCBFdmVudEFwaSwgUGx1Z2luRGVmIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlJztcbmltcG9ydCB7XG4gIFRvb2xiYXJJbnB1dCxcbiAgQ3VzdG9tQnV0dG9uSW5wdXQsXG4gIEJ1dHRvbkljb25zSW5wdXQsIENlbGxJbmZvLFxuICBCdXR0b25UZXh0Q29tcG91bmRJbnB1dCxcbiAgVmlld09wdGlvbnNJbnB1dFxufSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvdHlwZXMvaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZW52JztcbmltcG9ydCB7IER1cmF0aW9uSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kdXJhdGlvbic7XG5pbXBvcnQgeyBGb3JtYXR0ZXJJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2Zvcm1hdHRpbmcnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFJhd0xvY2FsZSwgTG9jYWxlU2luZ3VsYXJBcmcgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9sb2NhbGUnO1xuaW1wb3J0IHsgT3ZlcmxhcEZ1bmMsIEFsbG93RnVuYyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS92YWxpZGF0aW9uJztcbmltcG9ydCB7IEV2ZW50U291cmNlSW5wdXQsIEV2ZW50SW5wdXRUcmFuc2Zvcm1lciB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9zdHJ1Y3RzL2V2ZW50LXNvdXJjZSc7XG5pbXBvcnQgeyBJTlBVVF9OQU1FUywgRVZFTlRfTkFNRVMgfSBmcm9tICcuL2Z1bGxjYWxlbmRhci1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnVsbC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBGdWxsQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBjYWxlbmRhcjogQ2FsZW5kYXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNhbGVuZGFyID0gbmV3IENhbGVuZGFyKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmJ1aWxkT3B0aW9ucygpKTtcbiAgICB0aGlzLmNhbGVuZGFyLnJlbmRlcigpO1xuICB9XG5cbiAgYnVpbGRPcHRpb25zKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIEVWRU5UX05BTUVTLmZvckVhY2goZXZlbnROYW1lID0+IHtcbiAgICAgIG9wdGlvbnNbZXZlbnROYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHRoaXNbZXZlbnROYW1lXS5lbWl0KC4uLmFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIElOUFVUX05BTUVTLmZvckVhY2goaW5wdXROYW1lID0+IHtcbiAgICAgIGlmICh0aGlzW2lucHV0TmFtZV0gIT09IHVuZGVmaW5lZCkgeyAvLyB1bmZvcnR1bmF0ZWx5IEZDIGNob2tlcyB3aGVuIHNvbWUgcHJvcHMgYXJlIHNldCB0byB1bmRlZmluZWRcbiAgICAgICAgb3B0aW9uc1tpbnB1dE5hbWVdID0gdGhpc1tpbnB1dE5hbWVdO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIpIHsgLy8gbm90IHRoZSBpbml0aWFsIHJlbmRlclxuICAgICAgY29uc3QgdXBkYXRlZElucHV0cyA9IHt9O1xuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICB1cGRhdGVkSW5wdXRzW2lucHV0TmFtZV0gPSBjaGFuZ2VzW2lucHV0TmFtZV0uY3VycmVudFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2FsZW5kYXIuc2V0T3B0aW9ucyh1cGRhdGVkSW5wdXRzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNhbGVuZGFyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmNhbGVuZGFyID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcGkoKTogQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyO1xuICB9XG5cblxuICAvKlxuICBUT0RPOiB0aGUgZm9sbG93aW5nIElucHV0cy9PdXRwdXRzIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJld3JpdHRlbiBmb3IgZWFjaCB2ZXJzaW9uIGJ1bXBcbiAgb2YgdGhlIGNvcmUgcHJvamVjdC4gQSBzY3JpcHQgd2lsbCBiZSB3cml0dGVuIHRvIG92ZXJ3cml0ZSB0aGUgYWN0dWFseSBzb3VyY2UgY29kZSBoZXJlLlxuICBJdCBpcyB1c3VhbGx5IGdvb2QgdG8gcHV0IGEgY2xhc3MncyBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgQkVGT1JFIHRoZSBtZXRob2RzLCBidXQgaW4gdGhpcyBjYXNlLFxuICBzaW5jZSB0aGUgcHJvcGVydGllcyB3aWxsIGJlIHByb2dyYW1tYXRpY2FsbHkgZ2VuZXJhdGVkLCBiZXR0ZXIgdG8gcHV0IHRoZW0gYWZ0ZXIuXG4gICovXG5cbiAgQElucHV0KCkgaGVhZGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgZm9vdGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgY3VzdG9tQnV0dG9ucz86IHsgW25hbWU6IHN0cmluZ106IEN1c3RvbUJ1dHRvbklucHV0IH07XG4gIEBJbnB1dCgpIGJ1dHRvbkljb25zPzogYm9vbGVhbiB8IEJ1dHRvbkljb25zSW5wdXQ7XG4gIEBJbnB1dCgpIHRoZW1lU3lzdGVtPzogJ3N0YW5kYXJkJyB8IHN0cmluZztcbiAgQElucHV0KCkgYm9vdHN0cmFwRm9udEF3ZXNvbWU/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgZmlyc3REYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpcj86ICdsdHInIHwgJ3J0bCcgfCAnYXV0byc7XG4gIEBJbnB1dCgpIHdlZWtlbmRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuRGF5cz86IG51bWJlcltdO1xuICBASW5wdXQoKSBmaXhlZFdlZWtDb3VudD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnNXaXRoaW5EYXlzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlckNhbGN1bGF0aW9uPzogJ2xvY2FsJyB8ICdJU08nIHwgKChtOiBEYXRlKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBidXNpbmVzc0hvdXJzPzogQnVzaW5lc3NIb3Vyc0lucHV0O1xuICBASW5wdXQoKSBzaG93Tm9uQ3VycmVudERhdGVzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhcmVudCcgfCAoKCkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgY29udGVudEhlaWdodD86IG51bWJlciB8ICdhdXRvJyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBhc3BlY3RSYXRpbz86IG51bWJlcjtcbiAgQElucHV0KCkgaGFuZGxlV2luZG93UmVzaXplPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2luZG93UmVzaXplRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXQ/OiBib29sZWFuIHwgbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExpbWl0Q2xpY2s/OiAncG9wb3ZlcicgfCAnd2VlaycgfCAnZGF5JyB8IHN0cmluZyB8ICgoY2VsbGluZm86IENlbGxJbmZvLCBqc2V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHRpbWVab25lPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm93PzogRGF0ZUlucHV0IHwgKCgpID0+IERhdGVJbnB1dCk7XG4gIEBJbnB1dCgpIGRlZmF1bHRWaWV3Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbGxEYXlTbG90PzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsRGF5VGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgc2xvdER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RMYWJlbEludGVydmFsPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc25hcER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2Nyb2xsVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1pblRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBtYXhUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdEV2ZW50T3ZlcmxhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlBbHRGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5vRXZlbnRzTWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdERhdGU/OiBEYXRlSW5wdXQ7XG4gIEBJbnB1dCgpIG5vd0luZGljYXRvcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpc2libGVSYW5nZT86ICgoY3VycmVudERhdGU6IERhdGUpID0+IERhdGVSYW5nZUlucHV0KSB8IERhdGVSYW5nZUlucHV0O1xuICBASW5wdXQoKSB2YWxpZFJhbmdlPzogRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVJbmNyZW1lbnQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkYXRlQWxpZ25tZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRheUNvdW50PzogbnVtYmVyO1xuICBASW5wdXQoKSBsb2NhbGVzPzogUmF3TG9jYWxlW107XG4gIEBJbnB1dCgpIGxvY2FsZT86IExvY2FsZVNpbmd1bGFyQXJnO1xuICBASW5wdXQoKSBldmVudFRpbWVGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlclRleHQ/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGVJbnB1dCkgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVySHRtbD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSB0aXRsZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSB3ZWVrTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudFRpbWU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNwbGF5RXZlbnRFbmQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudExpbWl0VGV4dD86IHN0cmluZyB8ICgoZXZlbnRDbnQ6IG51bWJlcikgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgZGF5UG9wb3ZlckZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBuYXZMaW5rcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5hdkxpbmtEYXlDbGljaz86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBuYXZMaW5rV2Vla0NsaWNrPzogc3RyaW5nIHwgKCh3ZWVrU3RhcnQ6IGFueSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0TWlycm9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RBdXRvPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RDYW5jZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGNtZEZvcm1hdHRlcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBzZWxlY3RPdmVybGFwPzogYm9vbGVhbiB8IE92ZXJsYXBGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgZWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudFN0YXJ0RWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudER1cmF0aW9uRWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudENvbnN0cmFpbnQ/OiBDb25zdHJhaW50SW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50T3ZlcmxhcD86IGJvb2xlYW4gfCBPdmVybGFwRnVuYztcbiAgQElucHV0KCkgZXZlbnRBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWU/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWVzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudFRleHRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRzPzogRXZlbnRTb3VyY2VJbnB1dDtcbiAgQElucHV0KCkgZXZlbnRTb3VyY2VzPzogRXZlbnRTb3VyY2VJbnB1dFtdO1xuICBASW5wdXQoKSBhbGxEYXlEZWZhdWx0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhcnRQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgZW5kUGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhenlGZXRjaGluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5leHREYXlUaHJlc2hvbGQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBldmVudE9yZGVyPzogc3RyaW5nIHwgQXJyYXk8KChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikgfCAoc3RyaW5nIHwgKChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikpPjtcbiAgQElucHV0KCkgcmVyZW5kZXJEZWxheT86IG51bWJlciB8IG51bGw7XG4gIEBJbnB1dCgpIGRyYWdSZXZlcnREdXJhdGlvbj86IG51bWJlcjtcbiAgQElucHV0KCkgZHJhZ1Njcm9sbD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBkcm9wcGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkcm9wQWNjZXB0Pzogc3RyaW5nIHwgKChkcmFnZ2FibGU6IGFueSkgPT4gYm9vbGVhbik7XG4gIEBJbnB1dCgpIGV2ZW50RGF0YVRyYW5zZm9ybT86IEV2ZW50SW5wdXRUcmFuc2Zvcm1lcjtcbiAgQElucHV0KCkgYWxsRGF5TWFpbnRhaW5EdXJhdGlvbj86IEJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzaXphYmxlRnJvbVN0YXJ0PzogQm9vbGVhbjtcbiAgQElucHV0KCkgdGltZUdyaWRFdmVudE1pbkhlaWdodD86IG51bWJlcjtcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBCdXR0b25UZXh0Q29tcG91bmRJbnB1dDtcbiAgQElucHV0KCkgdmlld3M/OiB7IFt2aWV3SWQ6IHN0cmluZ106IFZpZXdPcHRpb25zSW5wdXQgfTtcbiAgQElucHV0KCkgcGx1Z2lucz86IChQbHVnaW5EZWYgfCBzdHJpbmcpW107XG4gIC8vIHNjaGVkdWxlci4uLlxuICBASW5wdXQoKSBzY2hlZHVsZXJMaWNlbnNlS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlTGFiZWxUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZU9yZGVyPzogYW55O1xuICBASW5wdXQoKSBmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZVRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlR3JvdXBGaWVsZD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cFRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQXJlYVdpZHRoPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUNvbHVtbnM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlc0luaXRpYWxseUV4cGFuZGVkPzogYW55O1xuICBASW5wdXQoKSBzbG90V2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGVzQWJvdmVSZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGdvb2dsZUNhbGVuZGFyQXBpS2V5Pzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBkYXRlc1JlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNEZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXlSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHdpbmRvd1Jlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudE1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UG9zaXRpb25lZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcmFnU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0b3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlY2VpdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHZpZXdTa2VsZXRvblJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgX2Rlc3Ryb3llZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvLyBzY2hlZHVsZXIuLi5cbiAgQE91dHB1dCgpIHJlc291cmNlUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFPYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUE0RCxNQUFNLG9CQUFvQixDQUFDO0FBb0J4RyxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU1sRixNQUFNLE9BQU8scUJBQXFCOzs7OztJQVFoQyxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSC9CLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFRLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtRQStPMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FB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QThDOztJQUM5QyxzQ0FBd0Q7O0lBQ3hELHdDQUEwQzs7SUFFMUMsb0RBQXNDOztJQUN0QywwQ0FBeUI7O0lBQ3pCLGtEQUFvQzs7SUFDcEMsOENBQTZCOztJQUM3QiwwREFBeUM7O0lBQ3pDLDZDQUE0Qjs7SUFDNUIsbURBQWtDOztJQUNsQyxrREFBaUM7O0lBQ2pDLGtEQUFpQzs7SUFDakMsZ0RBQStCOztJQUMvQiwyREFBMEM7O0lBQzFDLDBDQUF5Qjs7SUFDekIsb0RBQW1DOztJQUNuQyxxREFBdUM7O0lBQ3ZDLDJEQUE4Qzs7SUFDOUMsc0RBQXlDOztJQUV6Qyw2Q0FBaUQ7O0lBQ2pELDBDQUE4Qzs7SUFDOUMsMkNBQStDOztJQUMvQyxnREFBb0Q7O0lBQ3BELGdEQUFvRDs7SUFDcEQsdUNBQTJDOztJQUMzQyx5Q0FBNkM7O0lBQzdDLHdDQUE0Qzs7SUFDNUMsZ0RBQW9EOztJQUNwRCwrQ0FBbUQ7O0lBQ25ELDhDQUFrRDs7SUFDbEQsMENBQThDOztJQUM5QyxpREFBcUQ7O0lBQ3JELGdEQUFvRDs7SUFDcEQsNENBQWdEOztJQUNoRCxxQ0FBeUM7O0lBQ3pDLDZDQUFpRDs7SUFDakQsMkNBQStDOztJQUMvQywyQ0FBK0M7O0lBRS9DLG1EQUF1RDs7SUFDdkQsb0RBQXdEOztJQUN4RCw0Q0FBZ0Q7O0lBQ2hELDZDQUFpRDs7SUFDakQsMENBQThDOztJQUM5Qyw0Q0FBZ0Q7O0lBQ2hELDZDQUFpRDs7SUFDakQsK0NBQW1EOzs7OztJQXhRdkMsd0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBkZWVwQ29weSB9IGZyb20gJ2RlZXAtY29weSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRG9DaGVjayxcbiAgT25DaGFuZ2VzLFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxlbmRhciwgQnVzaW5lc3NIb3Vyc0lucHV0LCBDb25zdHJhaW50SW5wdXQsIEV2ZW50QXBpLCBQbHVnaW5EZWYgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVG9vbGJhcklucHV0LFxuICBDdXN0b21CdXR0b25JbnB1dCxcbiAgQnV0dG9uSWNvbnNJbnB1dCwgQ2VsbEluZm8sXG4gIEJ1dHRvblRleHRDb21wb3VuZElucHV0LFxuICBWaWV3T3B0aW9uc0lucHV0XG59IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS90eXBlcy9pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBEYXRlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9lbnYnO1xuaW1wb3J0IHsgRHVyYXRpb25JbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2R1cmF0aW9uJztcbmltcG9ydCB7IEZvcm1hdHRlcklucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZm9ybWF0dGluZyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2RhdGUtcmFuZ2UnO1xuaW1wb3J0IHsgUmF3TG9jYWxlLCBMb2NhbGVTaW5ndWxhckFyZyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2xvY2FsZSc7XG5pbXBvcnQgeyBPdmVybGFwRnVuYywgQWxsb3dGdW5jIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHtcbiAgRXZlbnRTb3VyY2VJbnB1dCxcbiAgRXZlbnRJbnB1dFRyYW5zZm9ybWVyLFxuICBFdmVudFNvdXJjZUVycm9yUmVzcG9uc2VIYW5kbGVyLFxuICBFdmVudFNvdXJjZVN1Y2Nlc3NSZXNwb25zZUhhbmRsZXJcbn0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL3N0cnVjdHMvZXZlbnQtc291cmNlJztcbmltcG9ydCB7IElOUFVUX05BTUVTLCBJTlBVVF9JU19ERUVQLCBPVVRQVVRfTkFNRVMgfSBmcm9tICcuL2Z1bGxjYWxlbmRhci1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnVsbC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBGdWxsQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgZGVlcENoYW5nZURldGVjdGlvbj86IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBjYWxlbmRhcjogQ2FsZW5kYXI7XG4gIHByaXZhdGUgZGlydHlQcm9wczogYW55ID0ge307XG4gIHByaXZhdGUgZGVlcENvcGllczogYW55ID0ge307IC8vIGhvbGRzIGZyb3plbiBzdGF0ZXNcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNhbGVuZGFyID0gbmV3IENhbGVuZGFyKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmJ1aWxkT3B0aW9ucygpKTtcbiAgICB0aGlzLmNhbGVuZGFyLnJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE9wdGlvbnMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuXG4gICAgT1VUUFVUX05BTUVTLmZvckVhY2gob3V0cHV0TmFtZSA9PiB7XG4gICAgICBvcHRpb25zW291dHB1dE5hbWVdID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdGhpc1tvdXRwdXROYW1lXS5lbWl0KC4uLmFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIGRvIGFmdGVyIG91dHB1dHMsIHNvIHRoYXQgaW5wdXRzIHdpdGggc2FtZSBuYW1lIG92ZXJyaWRlXG4gICAgSU5QVVRfTkFNRVMuZm9yRWFjaChpbnB1dE5hbWUgPT4ge1xuICAgICAgbGV0IGlucHV0VmFsID0gdGhpc1tpbnB1dE5hbWVdO1xuXG4gICAgICBpZiAoaW5wdXRWYWwgIT09IHVuZGVmaW5lZCkgeyAvLyB1bmZvcnR1bmF0ZWx5IEZDIGNob2tlcyB3aGVuIHNvbWUgcHJvcHMgYXJlIHNldCB0byB1bmRlZmluZWRcblxuICAgICAgICBpZiAodGhpcy5kZWVwQ2hhbmdlRGV0ZWN0aW9uICYmIElOUFVUX0lTX0RFRVBbaW5wdXROYW1lXSkge1xuICAgICAgICAgIGlucHV0VmFsID0gZGVlcENvcHkoaW5wdXRWYWwpO1xuICAgICAgICAgIHRoaXMuZGVlcENvcGllc1tpbnB1dE5hbWVdID0gaW5wdXRWYWw7IC8vIHNpZGUgZWZmZWN0IVxuICAgICAgICB9XG5cbiAgICAgICAgb3B0aW9uc1tpbnB1dE5hbWVdID0gaW5wdXRWYWw7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIC8qXG4gIGNhbGxlZCBiZWZvcmUgbmdPbkNoYW5nZXMsIGFsbG93cyB1cyB0byBtYW51YWxseSBkZXRlY3QgaW5wdXQgY2hhbmdlcy5cbiAgY2FsbGVkIG11Y2ggbW9yZSBvZnRlbiB0aGFuIG5nT25DaGFuZ2VzLlxuICAqL1xuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIgJiYgdGhpcy5kZWVwQ2hhbmdlRGV0ZWN0aW9uKSB7IC8vIG5vdCB0aGUgaW5pdGlhbCByZW5kZXIgQU5EIHdlIGRvIGRlZXAtbXV0YXRpb24gY2hlY2tzXG4gICAgICBjb25zdCB7IGRlZXBDb3BpZXMgfSA9IHRoaXM7XG5cbiAgICAgIGZvciAoY29uc3QgaW5wdXROYW1lIGluIElOUFVUX0lTX0RFRVApIHtcbiAgICAgICAgaWYgKElOUFVUX0lTX0RFRVAuaGFzT3duUHJvcGVydHkoaW5wdXROYW1lKSkge1xuICAgICAgICAgIGNvbnN0IGlucHV0VmFsID0gdGhpc1tpbnB1dE5hbWVdO1xuXG4gICAgICAgICAgaWYgKGlucHV0VmFsICE9PSB1bmRlZmluZWQpIHsgLy8gdW5mb3J0dW5hdGVseSBGQyBjaG9rZXMgd2hlbiBzb21lIHByb3BzIGFyZSBzZXQgdG8gdW5kZWZpbmVkXG4gICAgICAgICAgICBpZiAoIWRlZXBFcXVhbChpbnB1dFZhbCwgZGVlcENvcGllc1tpbnB1dE5hbWVdKSkge1xuICAgICAgICAgICAgICBjb25zdCBjb3B5ID0gZGVlcENvcHkoaW5wdXRWYWwpO1xuICAgICAgICAgICAgICBkZWVwQ29waWVzW2lucHV0TmFtZV0gPSBjb3B5O1xuICAgICAgICAgICAgICB0aGlzLmRpcnR5UHJvcHNbaW5wdXROYW1lXSA9IGNvcHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLypcbiAgY2FsbGVkIHdpdGggY29uZmlybWVkIGNoYW5nZXMgdG8gaW5wdXQgcmVmZXJlbmNlc1xuICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIpIHsgLy8gbm90IHRoZSBpbml0aWFsIHJlbmRlclxuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICBpZiAodGhpcy5kZWVwQ29waWVzW2lucHV0TmFtZV0gPT09IHVuZGVmaW5lZCkgeyAvLyBub3QgYWxyZWFkeSBoYW5kbGVkIGluIG5nRG9DaGVja1xuICAgICAgICAgICAgdGhpcy5kaXJ0eVByb3BzW2lucHV0TmFtZV0gPSBjaGFuZ2VzW2lucHV0TmFtZV0uY3VycmVudFZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICBjb25zdCB7IGRpcnR5UHJvcHMgfSA9IHRoaXM7IC8vIGhvbGQgb24gdG8gcmVmZXJlbmNlIGJlZm9yZSBjbGVhcmluZ1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKGRpcnR5UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZGlydHlQcm9wcyA9IHt9OyAvLyBjbGVhciBmaXJzdCwgaW4gY2FzZSB0aGUgcmVyZW5kZXIgY2F1c2VzIG5ldyBkaXJ0aW5lc3NcbiAgICAgIHRoaXMuY2FsZW5kYXIubXV0YXRlT3B0aW9ucyhkaXJ0eVByb3BzLCBbXSwgZmFsc2UsIGRlZXBFcXVhbCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jYWxlbmRhci5kZXN0cm95KCk7XG4gICAgdGhpcy5jYWxlbmRhciA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXBpKCk6IENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5jYWxlbmRhcjtcbiAgfVxuXG4gIC8qXG4gIFRPRE86IHRoZSBmb2xsb3dpbmcgSW5wdXRzL091dHB1dHMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgcmV3cml0dGVuIGZvciBlYWNoIHZlcnNpb24gYnVtcFxuICBvZiB0aGUgY29yZSBwcm9qZWN0LiBBIHNjcmlwdCB3aWxsIGJlIHdyaXR0ZW4gdG8gb3ZlcndyaXRlIHRoZSBhY3R1YWx5IHNvdXJjZSBjb2RlIGhlcmUuXG4gIEl0IGlzIHVzdWFsbHkgZ29vZCB0byBwdXQgYSBjbGFzcydzIHByb3BlcnR5IGRlY2xhcmF0aW9ucyBCRUZPUkUgdGhlIG1ldGhvZHMsIGJ1dCBpbiB0aGlzIGNhc2UsXG4gIHNpbmNlIHRoZSBwcm9wZXJ0aWVzIHdpbGwgYmUgcHJvZ3JhbW1hdGljYWxseSBnZW5lcmF0ZWQsIGJldHRlciB0byBwdXQgdGhlbSBhZnRlci5cbiAgKi9cblxuICBASW5wdXQoKSBoZWFkZXI/OiBib29sZWFuIHwgVG9vbGJhcklucHV0O1xuICBASW5wdXQoKSBmb290ZXI/OiBib29sZWFuIHwgVG9vbGJhcklucHV0O1xuICBASW5wdXQoKSBjdXN0b21CdXR0b25zPzogeyBbbmFtZTogc3RyaW5nXTogQ3VzdG9tQnV0dG9uSW5wdXQgfTtcbiAgQElucHV0KCkgYnV0dG9uSWNvbnM/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgdGhlbWVTeXN0ZW0/OiAnc3RhbmRhcmQnIHwgc3RyaW5nO1xuICBASW5wdXQoKSBib290c3RyYXBGb250QXdlc29tZT86IGJvb2xlYW4gfCBCdXR0b25JY29uc0lucHV0O1xuICBASW5wdXQoKSBmaXJzdERheT86IG51bWJlcjtcbiAgQElucHV0KCkgZGlyPzogJ2x0cicgfCAncnRsJyB8ICdhdXRvJztcbiAgQElucHV0KCkgd2Vla2VuZHM/OiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRkZW5EYXlzPzogbnVtYmVyW107XG4gIEBJbnB1dCgpIGZpeGVkV2Vla0NvdW50PzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnM/OiBib29sZWFuO1xuICBASW5wdXQoKSB3ZWVrTnVtYmVyc1dpdGhpbkRheXM/OiBib29sZWFuO1xuICBASW5wdXQoKSB3ZWVrTnVtYmVyQ2FsY3VsYXRpb24/OiAnbG9jYWwnIHwgJ0lTTycgfCAoKG06IERhdGUpID0+IG51bWJlcik7XG4gIEBJbnB1dCgpIGJ1c2luZXNzSG91cnM/OiBCdXNpbmVzc0hvdXJzSW5wdXQ7XG4gIEBJbnB1dCgpIHNob3dOb25DdXJyZW50RGF0ZXM/OiBib29sZWFuO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXIgfCAnYXV0bycgfCAncGFyZW50JyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBjb250ZW50SGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgKCgpID0+IG51bWJlcik7XG4gIEBJbnB1dCgpIGFzcGVjdFJhdGlvPzogbnVtYmVyO1xuICBASW5wdXQoKSBoYW5kbGVXaW5kb3dSZXNpemU/OiBib29sZWFuO1xuICBASW5wdXQoKSB3aW5kb3dSZXNpemVEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRMaW1pdD86IGJvb2xlYW4gfCBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXRDbGljaz86ICdwb3BvdmVyJyB8ICd3ZWVrJyB8ICdkYXknIHwgc3RyaW5nIHwgKChjZWxsaW5mbzogQ2VsbEluZm8sIGpzZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKTtcbiAgQElucHV0KCkgdGltZVpvbmU/OiBzdHJpbmcgfCBib29sZWFuO1xuICBASW5wdXQoKSBub3c/OiBEYXRlSW5wdXQgfCAoKCkgPT4gRGF0ZUlucHV0KTtcbiAgQElucHV0KCkgZGVmYXVsdFZpZXc/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFsbERheVNsb3Q/OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxEYXlUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzbG90RHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzbG90TGFiZWxGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsSW50ZXJ2YWw/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzbmFwRHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzY3JvbGxUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgbWluVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1heFRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzbG90RXZlbnRPdmVybGFwPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbGlzdERheUZvcm1hdD86IEZvcm1hdHRlcklucHV0IHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbGlzdERheUFsdEZvcm1hdD86IEZvcm1hdHRlcklucHV0IHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm9FdmVudHNNZXNzYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0RGF0ZT86IERhdGVJbnB1dDtcbiAgQElucHV0KCkgbm93SW5kaWNhdG9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdmlzaWJsZVJhbmdlPzogKChjdXJyZW50RGF0ZTogRGF0ZSkgPT4gRGF0ZVJhbmdlSW5wdXQpIHwgRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIHZhbGlkUmFuZ2U/OiBEYXRlUmFuZ2VJbnB1dDtcbiAgQElucHV0KCkgZGF0ZUluY3JlbWVudD86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVBbGlnbm1lbnQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGF5Q291bnQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGxvY2FsZXM/OiBSYXdMb2NhbGVbXTtcbiAgQElucHV0KCkgbG9jYWxlPzogTG9jYWxlU2luZ3VsYXJBcmc7XG4gIEBJbnB1dCgpIGV2ZW50VGltZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXJGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyVGV4dD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXJIdG1sPzogc3RyaW5nIHwgKChkYXRlOiBEYXRlSW5wdXQpID0+IHN0cmluZyk7XG4gIEBJbnB1dCgpIHRpdGxlRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHdlZWtMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgZGlzcGxheUV2ZW50VGltZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudEVuZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50TGltaXRUZXh0Pzogc3RyaW5nIHwgKChldmVudENudDogbnVtYmVyKSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSBkYXlQb3BvdmVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIG5hdkxpbmtzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbmF2TGlua0RheUNsaWNrPzogc3RyaW5nIHwgKChkYXRlOiBEYXRlLCBqc0V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIG5hdkxpbmtXZWVrQ2xpY2s/OiBzdHJpbmcgfCAoKHdlZWtTdGFydDogYW55LCBqc0V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHNlbGVjdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RNaXJyb3I/OiBib29sZWFuO1xuICBASW5wdXQoKSB1bnNlbGVjdEF1dG8/OiBib29sZWFuO1xuICBASW5wdXQoKSB1bnNlbGVjdENhbmNlbD86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdEFsbERheUV2ZW50RHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkZWZhdWx0VGltZWRFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgY21kRm9ybWF0dGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0UmFuZ2VTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdENvbnN0cmFpbnQ/OiBDb25zdHJhaW50SW5wdXQ7XG4gIEBJbnB1dCgpIHNlbGVjdE92ZXJsYXA/OiBib29sZWFuIHwgT3ZlcmxhcEZ1bmM7XG4gIEBJbnB1dCgpIHNlbGVjdEFsbG93PzogQWxsb3dGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RNaW5EaXN0YW5jZT86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudFN0YXJ0RWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudER1cmF0aW9uRWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudENvbnN0cmFpbnQ/OiBDb25zdHJhaW50SW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50T3ZlcmxhcD86IGJvb2xlYW4gfCBPdmVybGFwRnVuYztcbiAgQElucHV0KCkgZXZlbnRBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWU/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWVzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudFRleHRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRzPzogRXZlbnRTb3VyY2VJbnB1dDtcbiAgQElucHV0KCkgZXZlbnRTb3VyY2VzPzogRXZlbnRTb3VyY2VJbnB1dFtdO1xuICBASW5wdXQoKSBhbGxEYXlEZWZhdWx0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhcnRQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgZW5kUGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhenlGZXRjaGluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5leHREYXlUaHJlc2hvbGQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBldmVudE9yZGVyPzogc3RyaW5nIHwgQXJyYXk8KChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikgfCAoc3RyaW5nIHwgKChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikpPjtcbiAgQElucHV0KCkgcmVyZW5kZXJEZWxheT86IG51bWJlciB8IG51bGw7XG4gIEBJbnB1dCgpIGRyYWdSZXZlcnREdXJhdGlvbj86IG51bWJlcjtcbiAgQElucHV0KCkgZHJhZ1Njcm9sbD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBkcm9wcGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkcm9wQWNjZXB0Pzogc3RyaW5nIHwgKChkcmFnZ2FibGU6IGFueSkgPT4gYm9vbGVhbik7XG4gIEBJbnB1dCgpIGV2ZW50RGF0YVRyYW5zZm9ybT86IEV2ZW50SW5wdXRUcmFuc2Zvcm1lcjtcbiAgQElucHV0KCkgYWxsRGF5TWFpbnRhaW5EdXJhdGlvbj86IEJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzaXphYmxlRnJvbVN0YXJ0PzogQm9vbGVhbjtcbiAgQElucHV0KCkgdGltZUdyaWRFdmVudE1pbkhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgYWxsRGF5SHRtbD86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnREcmFnTWluRGlzdGFuY2U/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlRmFpbHVyZT86IEV2ZW50U291cmNlRXJyb3JSZXNwb25zZUhhbmRsZXI7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlU3VjY2Vzcz86IEV2ZW50U291cmNlU3VjY2Vzc1Jlc3BvbnNlSGFuZGxlcjtcbiAgQElucHV0KCkgZm9yY2VFdmVudER1cmF0aW9uPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcHJvZ3Jlc3NpdmVFdmVudFJlbmRlcmluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdExvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSB0aW1lWm9uZVBhcmFtPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZVJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICAvLyBjb21wb3VuZCBPcHRpb25zSW5wdXQuLi5cbiAgQElucHV0KCkgYnV0dG9uVGV4dD86IEJ1dHRvblRleHRDb21wb3VuZElucHV0O1xuICBASW5wdXQoKSB2aWV3cz86IHsgW3ZpZXdJZDogc3RyaW5nXTogVmlld09wdGlvbnNJbnB1dCB9O1xuICBASW5wdXQoKSBwbHVnaW5zPzogKFBsdWdpbkRlZiB8IHN0cmluZylbXTtcbiAgLy8gc2NoZWR1bGVyLi4uXG4gIEBJbnB1dCgpIHNjaGVkdWxlckxpY2Vuc2VLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlc291cmNlcz86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VMYWJlbFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlc291cmNlT3JkZXI/OiBhbnk7XG4gIEBJbnB1dCgpIGZpbHRlclJlc291cmNlc1dpdGhFdmVudHM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlVGV4dD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cEZpZWxkPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUdyb3VwVGV4dD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VBcmVhV2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQ29sdW1ucz86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VzSW5pdGlhbGx5RXhwYW5kZWQ/OiBhbnk7XG4gIEBJbnB1dCgpIHNsb3RXaWR0aD86IGFueTtcbiAgQElucHV0KCkgZGF0ZXNBYm92ZVJlc291cmNlcz86IGFueTtcbiAgQElucHV0KCkgZ29vZ2xlQ2FsZW5kYXJBcGlLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlZmV0Y2hSZXNvdXJjZXNPbk5hdmlnYXRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRSZXNvdXJjZUVkaXRhYmxlPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgd2luZG93UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRNb3VzZUxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBsb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFBvc2l0aW9uZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50RHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdG9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZXNpemUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVjZWl2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgX2Rlc3Ryb3llZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvLyBUT0RPOiBtYWtlIHRoZXNlIGlucHV0cy4uLlxuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB2aWV3U2tlbGV0b25EZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXRlc1JlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNEZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXlSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERlc3Ryb3kgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJlc291cmNlUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG59XG4iXX0= |
@@ -76,2 +76,3 @@ /** | ||
'selectMirror', | ||
'selectMinDistance', | ||
'unselectAuto', | ||
@@ -117,2 +118,12 @@ 'unselectCancel', | ||
'timeGridEventMinHeight', | ||
'allDayHtml', | ||
'eventDragMinDistance', | ||
'eventSourceFailure', | ||
'eventSourceSuccess', | ||
'forceEventDuration', | ||
'progressiveEventRendering', | ||
'selectLongPressDelay', | ||
'selectMinDistance', | ||
'timeZoneParam', | ||
'titleRangeSeparator', | ||
// compound OptionsInput... | ||
@@ -136,9 +147,16 @@ 'buttonText', | ||
'datesAboveResources', | ||
'googleCalendarApiKey' | ||
'googleCalendarApiKey', | ||
'refetchResourcesOnNavigate', | ||
'eventResourceEditable' | ||
]; | ||
/** @type {?} */ | ||
export var EVENT_NAMES = [ | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
export var INPUT_IS_DEEP = { | ||
header: true, | ||
footer: true, | ||
events: true, | ||
eventSources: true, | ||
resources: true | ||
}; | ||
/** @type {?} */ | ||
export var OUTPUT_NAMES = [ | ||
'windowResize', | ||
@@ -152,5 +170,3 @@ 'dateClick', | ||
'loading', | ||
'eventRender', | ||
'eventPositioned', | ||
'eventDestroy', | ||
'eventDragStart', | ||
@@ -165,8 +181,13 @@ 'eventDragStop', | ||
'eventLeave', | ||
'_destroyed', | ||
// TODO: make these inputs... | ||
'viewSkeletonRender', | ||
'viewSkeletonDestroy', | ||
'_destroyed', | ||
// scheduler... | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
'eventRender', | ||
'eventDestroy', | ||
'resourceRender' | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZnVsbGNhbGVuZGFyL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZnVsbGNhbGVuZGFyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsTUFBTSxLQUFPLFdBQVcsR0FBRztJQUN6QixRQUFRO0lBQ1IsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixVQUFVO0lBQ1YsS0FBSztJQUNMLFVBQVU7SUFDVixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixLQUFLO0lBQ0wsYUFBYTtJQUNiLFlBQVk7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFlBQVk7SUFDWixTQUFTO0lBQ1QsU0FBUztJQUNULGtCQUFrQjtJQUNsQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztJQUNkLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2QsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsYUFBYTtJQUNiLFVBQVU7SUFDVixvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFFBQVE7SUFDUixjQUFjO0lBQ2QsZUFBZTtJQUNmLFlBQVk7SUFDWixVQUFVO0lBQ1YsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osZUFBZTtJQUNmLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4QiwyQkFBMkI7SUFDM0IsWUFBWTtJQUNaLE9BQU87SUFDUCxTQUFTO0lBQ1QsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixzQkFBc0I7Q0FDdkI7O0FBRUQsTUFBTSxLQUFPLFdBQVcsR0FBRztJQUN6QixhQUFhO0lBQ2IsY0FBYztJQUNkLFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLFFBQVE7SUFDUixVQUFVO0lBQ1YsU0FBUztJQUNULGFBQWE7SUFDYixpQkFBaUI7SUFDakIsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLE1BQU07SUFDTixjQUFjO0lBQ2QsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsWUFBWTtJQUNaLGVBQWU7SUFDZixnQkFBZ0I7Q0FDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxudGhlIGRvY3MgcG9pbnQgdG8gdGhpcyBmaWxlIGFzIGFuIGluZGV4IG9mIG9wdGlvbnMuXG53aGVuIHRoaXMgZmlsZXMgaXMgbW92ZWQsIHVwZGF0ZSB0aGUgZG9jcy5cbiovXG5cbmV4cG9ydCBjb25zdCBJTlBVVF9OQU1FUyA9IFtcbiAgJ2hlYWRlcicsXG4gICdmb290ZXInLFxuICAnY3VzdG9tQnV0dG9ucycsXG4gICdidXR0b25JY29ucycsXG4gICd0aGVtZVN5c3RlbScsXG4gICdib290c3RyYXBGb250QXdlc29tZScsXG4gICdmaXJzdERheScsXG4gICdkaXInLFxuICAnd2Vla2VuZHMnLFxuICAnaGlkZGVuRGF5cycsXG4gICdmaXhlZFdlZWtDb3VudCcsXG4gICd3ZWVrTnVtYmVycycsXG4gICd3ZWVrTnVtYmVyc1dpdGhpbkRheXMnLFxuICAnd2Vla051bWJlckNhbGN1bGF0aW9uJyxcbiAgJ2J1c2luZXNzSG91cnMnLFxuICAnc2hvd05vbkN1cnJlbnREYXRlcycsXG4gICdoZWlnaHQnLFxuICAnY29udGVudEhlaWdodCcsXG4gICdhc3BlY3RSYXRpbycsXG4gICdoYW5kbGVXaW5kb3dSZXNpemUnLFxuICAnd2luZG93UmVzaXplRGVsYXknLFxuICAnZXZlbnRMaW1pdCcsXG4gICdldmVudExpbWl0Q2xpY2snLFxuICAndGltZVpvbmUnLFxuICAnbm93JyxcbiAgJ2RlZmF1bHRWaWV3JyxcbiAgJ2FsbERheVNsb3QnLFxuICAnYWxsRGF5VGV4dCcsXG4gICdzbG90RHVyYXRpb24nLFxuICAnc2xvdExhYmVsRm9ybWF0JyxcbiAgJ3Nsb3RMYWJlbEludGVydmFsJyxcbiAgJ3NuYXBEdXJhdGlvbicsXG4gICdzY3JvbGxUaW1lJyxcbiAgJ21pblRpbWUnLFxuICAnbWF4VGltZScsXG4gICdzbG90RXZlbnRPdmVybGFwJyxcbiAgJ2xpc3REYXlGb3JtYXQnLFxuICAnbGlzdERheUFsdEZvcm1hdCcsXG4gICdub0V2ZW50c01lc3NhZ2UnLFxuICAnZGVmYXVsdERhdGUnLFxuICAnbm93SW5kaWNhdG9yJyxcbiAgJ3Zpc2libGVSYW5nZScsXG4gICd2YWxpZFJhbmdlJyxcbiAgJ2RhdGVJbmNyZW1lbnQnLFxuICAnZGF0ZUFsaWdubWVudCcsXG4gICdkdXJhdGlvbicsXG4gICdkYXlDb3VudCcsXG4gICdsb2NhbGVzJyxcbiAgJ2xvY2FsZScsXG4gICdldmVudFRpbWVGb3JtYXQnLFxuICAnY29sdW1uSGVhZGVyJyxcbiAgJ2NvbHVtbkhlYWRlckZvcm1hdCcsXG4gICdjb2x1bW5IZWFkZXJUZXh0JyxcbiAgJ2NvbHVtbkhlYWRlckh0bWwnLFxuICAndGl0bGVGb3JtYXQnLFxuICAnd2Vla0xhYmVsJyxcbiAgJ2Rpc3BsYXlFdmVudFRpbWUnLFxuICAnZGlzcGxheUV2ZW50RW5kJyxcbiAgJ2V2ZW50TGltaXRUZXh0JyxcbiAgJ2RheVBvcG92ZXJGb3JtYXQnLFxuICAnbmF2TGlua3MnLFxuICAnbmF2TGlua0RheUNsaWNrJyxcbiAgJ25hdkxpbmtXZWVrQ2xpY2snLFxuICAnc2VsZWN0YWJsZScsXG4gICdzZWxlY3RNaXJyb3InLFxuICAndW5zZWxlY3RBdXRvJyxcbiAgJ3Vuc2VsZWN0Q2FuY2VsJyxcbiAgJ2RlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uJyxcbiAgJ2RlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24nLFxuICAnY21kRm9ybWF0dGVyJyxcbiAgJ2RlZmF1bHRSYW5nZVNlcGFyYXRvcicsXG4gICdzZWxlY3RDb25zdHJhaW50JyxcbiAgJ3NlbGVjdE92ZXJsYXAnLFxuICAnc2VsZWN0QWxsb3cnLFxuICAnZWRpdGFibGUnLFxuICAnZXZlbnRTdGFydEVkaXRhYmxlJyxcbiAgJ2V2ZW50RHVyYXRpb25FZGl0YWJsZScsXG4gICdldmVudENvbnN0cmFpbnQnLFxuICAnZXZlbnRPdmVybGFwJyxcbiAgJ2V2ZW50QWxsb3cnLFxuICAnZXZlbnRDbGFzc05hbWUnLFxuICAnZXZlbnRDbGFzc05hbWVzJyxcbiAgJ2V2ZW50QmFja2dyb3VuZENvbG9yJyxcbiAgJ2V2ZW50Qm9yZGVyQ29sb3InLFxuICAnZXZlbnRUZXh0Q29sb3InLFxuICAnZXZlbnRDb2xvcicsXG4gICdldmVudHMnLFxuICAnZXZlbnRTb3VyY2VzJyxcbiAgJ2FsbERheURlZmF1bHQnLFxuICAnc3RhcnRQYXJhbScsXG4gICdlbmRQYXJhbScsXG4gICdsYXp5RmV0Y2hpbmcnLFxuICAnbmV4dERheVRocmVzaG9sZCcsXG4gICdldmVudE9yZGVyJyxcbiAgJ3JlcmVuZGVyRGVsYXknLFxuICAnZHJhZ1JldmVydER1cmF0aW9uJyxcbiAgJ2RyYWdTY3JvbGwnLFxuICAnbG9uZ1ByZXNzRGVsYXknLFxuICAnZXZlbnRMb25nUHJlc3NEZWxheScsXG4gICdkcm9wcGFibGUnLFxuICAnZHJvcEFjY2VwdCcsXG4gICdldmVudERhdGFUcmFuc2Zvcm0nLFxuICAnYWxsRGF5TWFpbnRhaW5EdXJhdGlvbicsXG4gICdldmVudFJlc2l6YWJsZUZyb21TdGFydCcsXG4gICd0aW1lR3JpZEV2ZW50TWluSGVpZ2h0JyxcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gICdidXR0b25UZXh0JyxcbiAgJ3ZpZXdzJyxcbiAgJ3BsdWdpbnMnLFxuICAvLyBzY2hlZHVsZXIuLi5cbiAgJ3NjaGVkdWxlckxpY2Vuc2VLZXknLFxuICAncmVzb3VyY2VzJyxcbiAgJ3Jlc291cmNlTGFiZWxUZXh0JyxcbiAgJ3Jlc291cmNlT3JkZXInLFxuICAnZmlsdGVyUmVzb3VyY2VzV2l0aEV2ZW50cycsXG4gICdyZXNvdXJjZVRleHQnLFxuICAncmVzb3VyY2VHcm91cEZpZWxkJyxcbiAgJ3Jlc291cmNlR3JvdXBUZXh0JyxcbiAgJ3Jlc291cmNlQXJlYVdpZHRoJyxcbiAgJ3Jlc291cmNlQ29sdW1ucycsXG4gICdyZXNvdXJjZXNJbml0aWFsbHlFeHBhbmRlZCcsXG4gICdzbG90V2lkdGgnLFxuICAnZGF0ZXNBYm92ZVJlc291cmNlcycsXG4gICdnb29nbGVDYWxlbmRhckFwaUtleSdcbl07XG5cbmV4cG9ydCBjb25zdCBFVkVOVF9OQU1FUyA9IFtcbiAgJ2RhdGVzUmVuZGVyJyxcbiAgJ2RhdGVzRGVzdHJveScsXG4gICdkYXlSZW5kZXInLFxuICAnd2luZG93UmVzaXplJyxcbiAgJ2RhdGVDbGljaycsXG4gICdldmVudENsaWNrJyxcbiAgJ2V2ZW50TW91c2VFbnRlcicsXG4gICdldmVudE1vdXNlTGVhdmUnLFxuICAnc2VsZWN0JyxcbiAgJ3Vuc2VsZWN0JyxcbiAgJ2xvYWRpbmcnLFxuICAnZXZlbnRSZW5kZXInLFxuICAnZXZlbnRQb3NpdGlvbmVkJyxcbiAgJ2V2ZW50RGVzdHJveScsXG4gICdldmVudERyYWdTdGFydCcsXG4gICdldmVudERyYWdTdG9wJyxcbiAgJ2V2ZW50RHJvcCcsXG4gICdldmVudFJlc2l6ZVN0YXJ0JyxcbiAgJ2V2ZW50UmVzaXplU3RvcCcsXG4gICdldmVudFJlc2l6ZScsXG4gICdkcm9wJyxcbiAgJ2V2ZW50UmVjZWl2ZScsXG4gICdldmVudExlYXZlJyxcbiAgJ3ZpZXdTa2VsZXRvblJlbmRlcicsXG4gICd2aWV3U2tlbGV0b25EZXN0cm95JyxcbiAgJ19kZXN0cm95ZWQnLFxuICAvLyBzY2hlZHVsZXIuLi5cbiAgJ3Jlc291cmNlUmVuZGVyJ1xuXTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZnVsbGNhbGVuZGFyL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZnVsbGNhbGVuZGFyLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBS0EsTUFBTSxLQUFPLFdBQVcsR0FBRztJQUN6QixRQUFRO0lBQ1IsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2IsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixVQUFVO0lBQ1YsS0FBSztJQUNMLFVBQVU7SUFDVixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixLQUFLO0lBQ0wsYUFBYTtJQUNiLFlBQVk7SUFDWixZQUFZO0lBQ1osY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLFlBQVk7SUFDWixTQUFTO0lBQ1QsU0FBUztJQUNULGtCQUFrQjtJQUNsQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxZQUFZO0lBQ1osZUFBZTtJQUNmLGVBQWU7SUFDZixVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osY0FBYztJQUNkLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsY0FBYztJQUNkLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGFBQWE7SUFDYixVQUFVO0lBQ1Ysb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixRQUFRO0lBQ1IsY0FBYztJQUNkLGVBQWU7SUFDZixZQUFZO0lBQ1osVUFBVTtJQUNWLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsV0FBVztJQUNYLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQixZQUFZO0lBQ1osT0FBTztJQUNQLFNBQVM7SUFDVCxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLDRCQUE0QjtJQUM1QixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsdUJBQXVCO0NBQ3hCOztBQUVELE1BQU0sS0FBTyxhQUFhLEdBQUc7SUFDM0IsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxJQUFJO0lBQ1osWUFBWSxFQUFFLElBQUk7SUFDbEIsU0FBUyxFQUFFLElBQUk7Q0FDaEI7O0FBRUQsTUFBTSxLQUFPLFlBQVksR0FBRztJQUMxQixjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLFFBQVE7SUFDUixVQUFVO0lBQ1YsU0FBUztJQUNULGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixNQUFNO0lBQ04sY0FBYztJQUNkLFlBQVk7SUFDWixZQUFZO0lBQ1osNkJBQTZCO0lBQzdCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLGNBQWM7SUFDZCxXQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQWM7SUFDZCxnQkFBZ0I7Q0FDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxudGhlIGRvY3MgcG9pbnQgdG8gdGhpcyBmaWxlIGFzIGFuIGluZGV4IG9mIG9wdGlvbnMuXG53aGVuIHRoaXMgZmlsZXMgaXMgbW92ZWQsIHVwZGF0ZSB0aGUgZG9jcy5cbiovXG5cbmV4cG9ydCBjb25zdCBJTlBVVF9OQU1FUyA9IFtcbiAgJ2hlYWRlcicsXG4gICdmb290ZXInLFxuICAnY3VzdG9tQnV0dG9ucycsXG4gICdidXR0b25JY29ucycsXG4gICd0aGVtZVN5c3RlbScsXG4gICdib290c3RyYXBGb250QXdlc29tZScsXG4gICdmaXJzdERheScsXG4gICdkaXInLFxuICAnd2Vla2VuZHMnLFxuICAnaGlkZGVuRGF5cycsXG4gICdmaXhlZFdlZWtDb3VudCcsXG4gICd3ZWVrTnVtYmVycycsXG4gICd3ZWVrTnVtYmVyc1dpdGhpbkRheXMnLFxuICAnd2Vla051bWJlckNhbGN1bGF0aW9uJyxcbiAgJ2J1c2luZXNzSG91cnMnLFxuICAnc2hvd05vbkN1cnJlbnREYXRlcycsXG4gICdoZWlnaHQnLFxuICAnY29udGVudEhlaWdodCcsXG4gICdhc3BlY3RSYXRpbycsXG4gICdoYW5kbGVXaW5kb3dSZXNpemUnLFxuICAnd2luZG93UmVzaXplRGVsYXknLFxuICAnZXZlbnRMaW1pdCcsXG4gICdldmVudExpbWl0Q2xpY2snLFxuICAndGltZVpvbmUnLFxuICAnbm93JyxcbiAgJ2RlZmF1bHRWaWV3JyxcbiAgJ2FsbERheVNsb3QnLFxuICAnYWxsRGF5VGV4dCcsXG4gICdzbG90RHVyYXRpb24nLFxuICAnc2xvdExhYmVsRm9ybWF0JyxcbiAgJ3Nsb3RMYWJlbEludGVydmFsJyxcbiAgJ3NuYXBEdXJhdGlvbicsXG4gICdzY3JvbGxUaW1lJyxcbiAgJ21pblRpbWUnLFxuICAnbWF4VGltZScsXG4gICdzbG90RXZlbnRPdmVybGFwJyxcbiAgJ2xpc3REYXlGb3JtYXQnLFxuICAnbGlzdERheUFsdEZvcm1hdCcsXG4gICdub0V2ZW50c01lc3NhZ2UnLFxuICAnZGVmYXVsdERhdGUnLFxuICAnbm93SW5kaWNhdG9yJyxcbiAgJ3Zpc2libGVSYW5nZScsXG4gICd2YWxpZFJhbmdlJyxcbiAgJ2RhdGVJbmNyZW1lbnQnLFxuICAnZGF0ZUFsaWdubWVudCcsXG4gICdkdXJhdGlvbicsXG4gICdkYXlDb3VudCcsXG4gICdsb2NhbGVzJyxcbiAgJ2xvY2FsZScsXG4gICdldmVudFRpbWVGb3JtYXQnLFxuICAnY29sdW1uSGVhZGVyJyxcbiAgJ2NvbHVtbkhlYWRlckZvcm1hdCcsXG4gICdjb2x1bW5IZWFkZXJUZXh0JyxcbiAgJ2NvbHVtbkhlYWRlckh0bWwnLFxuICAndGl0bGVGb3JtYXQnLFxuICAnd2Vla0xhYmVsJyxcbiAgJ2Rpc3BsYXlFdmVudFRpbWUnLFxuICAnZGlzcGxheUV2ZW50RW5kJyxcbiAgJ2V2ZW50TGltaXRUZXh0JyxcbiAgJ2RheVBvcG92ZXJGb3JtYXQnLFxuICAnbmF2TGlua3MnLFxuICAnbmF2TGlua0RheUNsaWNrJyxcbiAgJ25hdkxpbmtXZWVrQ2xpY2snLFxuICAnc2VsZWN0YWJsZScsXG4gICdzZWxlY3RNaXJyb3InLFxuICAnc2VsZWN0TWluRGlzdGFuY2UnLFxuICAndW5zZWxlY3RBdXRvJyxcbiAgJ3Vuc2VsZWN0Q2FuY2VsJyxcbiAgJ2RlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uJyxcbiAgJ2RlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24nLFxuICAnY21kRm9ybWF0dGVyJyxcbiAgJ2RlZmF1bHRSYW5nZVNlcGFyYXRvcicsXG4gICdzZWxlY3RDb25zdHJhaW50JyxcbiAgJ3NlbGVjdE92ZXJsYXAnLFxuICAnc2VsZWN0QWxsb3cnLFxuICAnZWRpdGFibGUnLFxuICAnZXZlbnRTdGFydEVkaXRhYmxlJyxcbiAgJ2V2ZW50RHVyYXRpb25FZGl0YWJsZScsXG4gICdldmVudENvbnN0cmFpbnQnLFxuICAnZXZlbnRPdmVybGFwJyxcbiAgJ2V2ZW50QWxsb3cnLFxuICAnZXZlbnRDbGFzc05hbWUnLFxuICAnZXZlbnRDbGFzc05hbWVzJyxcbiAgJ2V2ZW50QmFja2dyb3VuZENvbG9yJyxcbiAgJ2V2ZW50Qm9yZGVyQ29sb3InLFxuICAnZXZlbnRUZXh0Q29sb3InLFxuICAnZXZlbnRDb2xvcicsXG4gICdldmVudHMnLFxuICAnZXZlbnRTb3VyY2VzJyxcbiAgJ2FsbERheURlZmF1bHQnLFxuICAnc3RhcnRQYXJhbScsXG4gICdlbmRQYXJhbScsXG4gICdsYXp5RmV0Y2hpbmcnLFxuICAnbmV4dERheVRocmVzaG9sZCcsXG4gICdldmVudE9yZGVyJyxcbiAgJ3JlcmVuZGVyRGVsYXknLFxuICAnZHJhZ1JldmVydER1cmF0aW9uJyxcbiAgJ2RyYWdTY3JvbGwnLFxuICAnbG9uZ1ByZXNzRGVsYXknLFxuICAnZXZlbnRMb25nUHJlc3NEZWxheScsXG4gICdkcm9wcGFibGUnLFxuICAnZHJvcEFjY2VwdCcsXG4gICdldmVudERhdGFUcmFuc2Zvcm0nLFxuICAnYWxsRGF5TWFpbnRhaW5EdXJhdGlvbicsXG4gICdldmVudFJlc2l6YWJsZUZyb21TdGFydCcsXG4gICd0aW1lR3JpZEV2ZW50TWluSGVpZ2h0JyxcbiAgJ2FsbERheUh0bWwnLFxuICAnZXZlbnREcmFnTWluRGlzdGFuY2UnLFxuICAnZXZlbnRTb3VyY2VGYWlsdXJlJyxcbiAgJ2V2ZW50U291cmNlU3VjY2VzcycsXG4gICdmb3JjZUV2ZW50RHVyYXRpb24nLFxuICAncHJvZ3Jlc3NpdmVFdmVudFJlbmRlcmluZycsXG4gICdzZWxlY3RMb25nUHJlc3NEZWxheScsXG4gICdzZWxlY3RNaW5EaXN0YW5jZScsXG4gICd0aW1lWm9uZVBhcmFtJyxcbiAgJ3RpdGxlUmFuZ2VTZXBhcmF0b3InLFxuICAvLyBjb21wb3VuZCBPcHRpb25zSW5wdXQuLi5cbiAgJ2J1dHRvblRleHQnLFxuICAndmlld3MnLFxuICAncGx1Z2lucycsXG4gIC8vIHNjaGVkdWxlci4uLlxuICAnc2NoZWR1bGVyTGljZW5zZUtleScsXG4gICdyZXNvdXJjZXMnLFxuICAncmVzb3VyY2VMYWJlbFRleHQnLFxuICAncmVzb3VyY2VPcmRlcicsXG4gICdmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzJyxcbiAgJ3Jlc291cmNlVGV4dCcsXG4gICdyZXNvdXJjZUdyb3VwRmllbGQnLFxuICAncmVzb3VyY2VHcm91cFRleHQnLFxuICAncmVzb3VyY2VBcmVhV2lkdGgnLFxuICAncmVzb3VyY2VDb2x1bW5zJyxcbiAgJ3Jlc291cmNlc0luaXRpYWxseUV4cGFuZGVkJyxcbiAgJ3Nsb3RXaWR0aCcsXG4gICdkYXRlc0Fib3ZlUmVzb3VyY2VzJyxcbiAgJ2dvb2dsZUNhbGVuZGFyQXBpS2V5JyxcbiAgJ3JlZmV0Y2hSZXNvdXJjZXNPbk5hdmlnYXRlJyxcbiAgJ2V2ZW50UmVzb3VyY2VFZGl0YWJsZSdcbl07XG5cbmV4cG9ydCBjb25zdCBJTlBVVF9JU19ERUVQID0ge1xuICBoZWFkZXI6IHRydWUsXG4gIGZvb3RlcjogdHJ1ZSxcbiAgZXZlbnRzOiB0cnVlLFxuICBldmVudFNvdXJjZXM6IHRydWUsXG4gIHJlc291cmNlczogdHJ1ZVxufTtcblxuZXhwb3J0IGNvbnN0IE9VVFBVVF9OQU1FUyA9IFtcbiAgJ3dpbmRvd1Jlc2l6ZScsXG4gICdkYXRlQ2xpY2snLFxuICAnZXZlbnRDbGljaycsXG4gICdldmVudE1vdXNlRW50ZXInLFxuICAnZXZlbnRNb3VzZUxlYXZlJyxcbiAgJ3NlbGVjdCcsXG4gICd1bnNlbGVjdCcsXG4gICdsb2FkaW5nJyxcbiAgJ2V2ZW50UG9zaXRpb25lZCcsXG4gICdldmVudERyYWdTdGFydCcsXG4gICdldmVudERyYWdTdG9wJyxcbiAgJ2V2ZW50RHJvcCcsXG4gICdldmVudFJlc2l6ZVN0YXJ0JyxcbiAgJ2V2ZW50UmVzaXplU3RvcCcsXG4gICdldmVudFJlc2l6ZScsXG4gICdkcm9wJyxcbiAgJ2V2ZW50UmVjZWl2ZScsXG4gICdldmVudExlYXZlJyxcbiAgJ19kZXN0cm95ZWQnLFxuICAvLyBUT0RPOiBtYWtlIHRoZXNlIGlucHV0cy4uLlxuICAndmlld1NrZWxldG9uUmVuZGVyJyxcbiAgJ3ZpZXdTa2VsZXRvbkRlc3Ryb3knLFxuICAnZGF0ZXNSZW5kZXInLFxuICAnZGF0ZXNEZXN0cm95JyxcbiAgJ2RheVJlbmRlcicsXG4gICdldmVudFJlbmRlcicsXG4gICdldmVudERlc3Ryb3knLFxuICAncmVzb3VyY2VSZW5kZXInXG5dO1xuIl19 |
@@ -6,11 +6,12 @@ /** | ||
import * as tslib_1 from "tslib"; | ||
import deepEqual from 'fast-deep-equal'; | ||
import { default as deepCopy } from 'deep-copy'; | ||
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core'; | ||
import { Calendar } from '@fullcalendar/core'; | ||
import { INPUT_NAMES, EVENT_NAMES } from './fullcalendar-options'; | ||
import { INPUT_NAMES, INPUT_IS_DEEP, OUTPUT_NAMES } from './fullcalendar-options'; | ||
var FullCalendarComponent = /** @class */ (function () { | ||
function FullCalendarComponent(element) { | ||
this.element = element; | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.dirtyProps = {}; | ||
this.deepCopies = {}; // holds frozen states | ||
this.windowResize = new EventEmitter(); | ||
@@ -24,5 +25,3 @@ this.dateClick = new EventEmitter(); | ||
this.loading = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventPositioned = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.eventDragStart = new EventEmitter(); | ||
@@ -37,6 +36,11 @@ this.eventDragStop = new EventEmitter(); | ||
this.eventLeave = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// TODO: make these inputs... | ||
this.viewSkeletonRender = new EventEmitter(); | ||
this.viewSkeletonDestroy = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// scheduler... | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.resourceRender = new EventEmitter(); | ||
@@ -55,5 +59,7 @@ } | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.buildOptions = /** | ||
* @private | ||
* @return {?} | ||
@@ -65,8 +71,8 @@ */ | ||
var options = {}; | ||
EVENT_NAMES.forEach((/** | ||
* @param {?} eventName | ||
OUTPUT_NAMES.forEach((/** | ||
* @param {?} outputName | ||
* @return {?} | ||
*/ | ||
function (eventName) { | ||
options[eventName] = (/** | ||
function (outputName) { | ||
options[outputName] = (/** | ||
* @param {...?} args | ||
@@ -81,5 +87,6 @@ * @return {?} | ||
var _a; | ||
(_a = _this[eventName]).emit.apply(_a, tslib_1.__spread(args)); | ||
(_a = _this[outputName]).emit.apply(_a, tslib_1.__spread(args)); | ||
}); | ||
})); | ||
// do after outputs, so that inputs with same name override | ||
INPUT_NAMES.forEach((/** | ||
@@ -90,4 +97,10 @@ * @param {?} inputName | ||
function (inputName) { | ||
if (_this[inputName] !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
options[inputName] = _this[inputName]; | ||
/** @type {?} */ | ||
var inputVal = _this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (_this.deepChangeDetection && INPUT_IS_DEEP[inputName]) { | ||
inputVal = deepCopy(inputVal); | ||
_this.deepCopies[inputName] = inputVal; // side effect! | ||
} | ||
options[inputName] = inputVal; | ||
} | ||
@@ -97,7 +110,54 @@ })); | ||
}; | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngDoCheck = /* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.calendar && this.deepChangeDetection) { // not the initial render AND we do deep-mutation checks | ||
// not the initial render AND we do deep-mutation checks | ||
var deepCopies = this.deepCopies; | ||
for (var inputName in INPUT_IS_DEEP) { | ||
if (INPUT_IS_DEEP.hasOwnProperty(inputName)) { | ||
/** @type {?} */ | ||
var inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (!deepEqual(inputVal, deepCopies[inputName])) { | ||
/** @type {?} */ | ||
var copy = deepCopy(inputVal); | ||
deepCopies[inputName] = copy; | ||
this.dirtyProps[inputName] = copy; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}; | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnChanges = /** | ||
FullCalendarComponent.prototype.ngOnChanges = /* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
@@ -108,11 +168,9 @@ * @return {?} | ||
if (this.calendar) { // not the initial render | ||
// not the initial render | ||
/** @type {?} */ | ||
var updatedInputs = {}; | ||
for (var inputName in changes) { | ||
if (changes.hasOwnProperty(inputName)) { | ||
updatedInputs[inputName] = changes[inputName].currentValue; | ||
if (this.deepCopies[inputName] === undefined) { // not already handled in ngDoCheck | ||
this.dirtyProps[inputName] = changes[inputName].currentValue; | ||
} | ||
} | ||
} | ||
this.calendar.setOptions(updatedInputs); | ||
} | ||
@@ -123,2 +181,15 @@ }; | ||
*/ | ||
FullCalendarComponent.prototype.ngAfterContentChecked = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
var dirtyProps = this.dirtyProps; | ||
if (Object.keys(dirtyProps).length > 0) { | ||
this.dirtyProps = {}; // clear first, in case the rerender causes new dirtiness | ||
this.calendar.mutateOptions(dirtyProps, [], false, deepEqual); | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnDestroy = /** | ||
@@ -151,2 +222,3 @@ * @return {?} | ||
FullCalendarComponent.propDecorators = { | ||
deepChangeDetection: [{ type: Input }], | ||
header: [{ type: Input }], | ||
@@ -226,2 +298,3 @@ footer: [{ type: Input }], | ||
selectAllow: [{ type: Input }], | ||
selectMinDistance: [{ type: Input }], | ||
editable: [{ type: Input }], | ||
@@ -258,2 +331,11 @@ eventStartEditable: [{ type: Input }], | ||
timeGridEventMinHeight: [{ type: Input }], | ||
allDayHtml: [{ type: Input }], | ||
eventDragMinDistance: [{ type: Input }], | ||
eventSourceFailure: [{ type: Input }], | ||
eventSourceSuccess: [{ type: Input }], | ||
forceEventDuration: [{ type: Input }], | ||
progressiveEventRendering: [{ type: Input }], | ||
selectLongPressDelay: [{ type: Input }], | ||
timeZoneParam: [{ type: Input }], | ||
titleRangeSeparator: [{ type: Input }], | ||
buttonText: [{ type: Input }], | ||
@@ -276,5 +358,4 @@ views: [{ type: Input }], | ||
googleCalendarApiKey: [{ type: Input }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
refetchResourcesOnNavigate: [{ type: Input }], | ||
eventResourceEditable: [{ type: Input }], | ||
windowResize: [{ type: Output }], | ||
@@ -288,5 +369,3 @@ dateClick: [{ type: Output }], | ||
loading: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventPositioned: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
eventDragStart: [{ type: Output }], | ||
@@ -301,5 +380,10 @@ eventDragStop: [{ type: Output }], | ||
eventLeave: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
viewSkeletonRender: [{ type: Output }], | ||
viewSkeletonDestroy: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
resourceRender: [{ type: Output }] | ||
@@ -311,2 +395,4 @@ }; | ||
if (false) { | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.deepChangeDetection; | ||
/** | ||
@@ -317,2 +403,12 @@ * @type {?} | ||
FullCalendarComponent.prototype.calendar; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
FullCalendarComponent.prototype.dirtyProps; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
FullCalendarComponent.prototype.deepCopies; | ||
/** @type {?} */ | ||
@@ -467,2 +563,4 @@ FullCalendarComponent.prototype.header; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.selectMinDistance; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.editable; | ||
@@ -530,2 +628,20 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.allDayHtml; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDragMinDistance; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventSourceFailure; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventSourceSuccess; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.forceEventDuration; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.progressiveEventRendering; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.selectLongPressDelay; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.timeZoneParam; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.titleRangeSeparator; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.buttonText; | ||
@@ -565,8 +681,6 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.datesRender; | ||
FullCalendarComponent.prototype.refetchResourcesOnNavigate; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.datesDestroy; | ||
FullCalendarComponent.prototype.eventResourceEditable; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.dayRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.windowResize; | ||
@@ -588,8 +702,4 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventPositioned; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDestroy; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDragStart; | ||
@@ -613,2 +723,4 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype._destroyed; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.viewSkeletonRender; | ||
@@ -618,4 +730,12 @@ /** @type {?} */ | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype._destroyed; | ||
FullCalendarComponent.prototype.datesRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.datesDestroy; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.dayRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventRender; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.eventDestroy; | ||
/** @type {?} */ | ||
FullCalendarComponent.prototype.resourceRender; | ||
@@ -628,2 +748,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBS2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBNEQsTUFBTSxvQkFBb0IsQ0FBQztBQWV4RyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxFO0lBUUUsK0JBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFxTDdCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENB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Qzs7SUFDOUMsaURBQXFEOztJQUNyRCxnREFBb0Q7O0lBQ3BELDRDQUFnRDs7SUFDaEQscUNBQXlDOztJQUN6Qyw2Q0FBaUQ7O0lBQ2pELDJDQUErQzs7SUFDL0MsbURBQXVEOztJQUN2RCxvREFBd0Q7O0lBQ3hELDJDQUErQzs7SUFFL0MsK0NBQW1EOzs7OztJQWhOdkMsd0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXIsIEJ1c2luZXNzSG91cnNJbnB1dCwgQ29uc3RyYWludElucHV0LCBFdmVudEFwaSwgUGx1Z2luRGVmIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlJztcbmltcG9ydCB7XG4gIFRvb2xiYXJJbnB1dCxcbiAgQ3VzdG9tQnV0dG9uSW5wdXQsXG4gIEJ1dHRvbkljb25zSW5wdXQsIENlbGxJbmZvLFxuICBCdXR0b25UZXh0Q29tcG91bmRJbnB1dCxcbiAgVmlld09wdGlvbnNJbnB1dFxufSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvdHlwZXMvaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZW52JztcbmltcG9ydCB7IER1cmF0aW9uSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kdXJhdGlvbic7XG5pbXBvcnQgeyBGb3JtYXR0ZXJJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2Zvcm1hdHRpbmcnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFJhd0xvY2FsZSwgTG9jYWxlU2luZ3VsYXJBcmcgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9sb2NhbGUnO1xuaW1wb3J0IHsgT3ZlcmxhcEZ1bmMsIEFsbG93RnVuYyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS92YWxpZGF0aW9uJztcbmltcG9ydCB7IEV2ZW50U291cmNlSW5wdXQsIEV2ZW50SW5wdXRUcmFuc2Zvcm1lciB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9zdHJ1Y3RzL2V2ZW50LXNvdXJjZSc7XG5pbXBvcnQgeyBJTlBVVF9OQU1FUywgRVZFTlRfTkFNRVMgfSBmcm9tICcuL2Z1bGxjYWxlbmRhci1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnVsbC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBGdWxsQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBjYWxlbmRhcjogQ2FsZW5kYXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNhbGVuZGFyID0gbmV3IENhbGVuZGFyKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmJ1aWxkT3B0aW9ucygpKTtcbiAgICB0aGlzLmNhbGVuZGFyLnJlbmRlcigpO1xuICB9XG5cbiAgYnVpbGRPcHRpb25zKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIEVWRU5UX05BTUVTLmZvckVhY2goZXZlbnROYW1lID0+IHtcbiAgICAgIG9wdGlvbnNbZXZlbnROYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHRoaXNbZXZlbnROYW1lXS5lbWl0KC4uLmFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIElOUFVUX05BTUVTLmZvckVhY2goaW5wdXROYW1lID0+IHtcbiAgICAgIGlmICh0aGlzW2lucHV0TmFtZV0gIT09IHVuZGVmaW5lZCkgeyAvLyB1bmZvcnR1bmF0ZWx5IEZDIGNob2tlcyB3aGVuIHNvbWUgcHJvcHMgYXJlIHNldCB0byB1bmRlZmluZWRcbiAgICAgICAgb3B0aW9uc1tpbnB1dE5hbWVdID0gdGhpc1tpbnB1dE5hbWVdO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIpIHsgLy8gbm90IHRoZSBpbml0aWFsIHJlbmRlclxuICAgICAgY29uc3QgdXBkYXRlZElucHV0cyA9IHt9O1xuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICB1cGRhdGVkSW5wdXRzW2lucHV0TmFtZV0gPSBjaGFuZ2VzW2lucHV0TmFtZV0uY3VycmVudFZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2FsZW5kYXIuc2V0T3B0aW9ucyh1cGRhdGVkSW5wdXRzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNhbGVuZGFyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmNhbGVuZGFyID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcGkoKTogQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyO1xuICB9XG5cblxuICAvKlxuICBUT0RPOiB0aGUgZm9sbG93aW5nIElucHV0cy9PdXRwdXRzIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJld3JpdHRlbiBmb3IgZWFjaCB2ZXJzaW9uIGJ1bXBcbiAgb2YgdGhlIGNvcmUgcHJvamVjdC4gQSBzY3JpcHQgd2lsbCBiZSB3cml0dGVuIHRvIG92ZXJ3cml0ZSB0aGUgYWN0dWFseSBzb3VyY2UgY29kZSBoZXJlLlxuICBJdCBpcyB1c3VhbGx5IGdvb2QgdG8gcHV0IGEgY2xhc3MncyBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgQkVGT1JFIHRoZSBtZXRob2RzLCBidXQgaW4gdGhpcyBjYXNlLFxuICBzaW5jZSB0aGUgcHJvcGVydGllcyB3aWxsIGJlIHByb2dyYW1tYXRpY2FsbHkgZ2VuZXJhdGVkLCBiZXR0ZXIgdG8gcHV0IHRoZW0gYWZ0ZXIuXG4gICovXG5cbiAgQElucHV0KCkgaGVhZGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgZm9vdGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgY3VzdG9tQnV0dG9ucz86IHsgW25hbWU6IHN0cmluZ106IEN1c3RvbUJ1dHRvbklucHV0IH07XG4gIEBJbnB1dCgpIGJ1dHRvbkljb25zPzogYm9vbGVhbiB8IEJ1dHRvbkljb25zSW5wdXQ7XG4gIEBJbnB1dCgpIHRoZW1lU3lzdGVtPzogJ3N0YW5kYXJkJyB8IHN0cmluZztcbiAgQElucHV0KCkgYm9vdHN0cmFwRm9udEF3ZXNvbWU/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgZmlyc3REYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpcj86ICdsdHInIHwgJ3J0bCcgfCAnYXV0byc7XG4gIEBJbnB1dCgpIHdlZWtlbmRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuRGF5cz86IG51bWJlcltdO1xuICBASW5wdXQoKSBmaXhlZFdlZWtDb3VudD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnNXaXRoaW5EYXlzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlckNhbGN1bGF0aW9uPzogJ2xvY2FsJyB8ICdJU08nIHwgKChtOiBEYXRlKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBidXNpbmVzc0hvdXJzPzogQnVzaW5lc3NIb3Vyc0lucHV0O1xuICBASW5wdXQoKSBzaG93Tm9uQ3VycmVudERhdGVzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhcmVudCcgfCAoKCkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgY29udGVudEhlaWdodD86IG51bWJlciB8ICdhdXRvJyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBhc3BlY3RSYXRpbz86IG51bWJlcjtcbiAgQElucHV0KCkgaGFuZGxlV2luZG93UmVzaXplPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2luZG93UmVzaXplRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXQ/OiBib29sZWFuIHwgbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExpbWl0Q2xpY2s/OiAncG9wb3ZlcicgfCAnd2VlaycgfCAnZGF5JyB8IHN0cmluZyB8ICgoY2VsbGluZm86IENlbGxJbmZvLCBqc2V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHRpbWVab25lPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm93PzogRGF0ZUlucHV0IHwgKCgpID0+IERhdGVJbnB1dCk7XG4gIEBJbnB1dCgpIGRlZmF1bHRWaWV3Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbGxEYXlTbG90PzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsRGF5VGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgc2xvdER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RMYWJlbEludGVydmFsPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc25hcER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2Nyb2xsVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1pblRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBtYXhUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdEV2ZW50T3ZlcmxhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlBbHRGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5vRXZlbnRzTWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdERhdGU/OiBEYXRlSW5wdXQ7XG4gIEBJbnB1dCgpIG5vd0luZGljYXRvcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpc2libGVSYW5nZT86ICgoY3VycmVudERhdGU6IERhdGUpID0+IERhdGVSYW5nZUlucHV0KSB8IERhdGVSYW5nZUlucHV0O1xuICBASW5wdXQoKSB2YWxpZFJhbmdlPzogRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVJbmNyZW1lbnQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkYXRlQWxpZ25tZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRheUNvdW50PzogbnVtYmVyO1xuICBASW5wdXQoKSBsb2NhbGVzPzogUmF3TG9jYWxlW107XG4gIEBJbnB1dCgpIGxvY2FsZT86IExvY2FsZVNpbmd1bGFyQXJnO1xuICBASW5wdXQoKSBldmVudFRpbWVGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlclRleHQ/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGVJbnB1dCkgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVySHRtbD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSB0aXRsZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSB3ZWVrTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudFRpbWU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNwbGF5RXZlbnRFbmQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudExpbWl0VGV4dD86IHN0cmluZyB8ICgoZXZlbnRDbnQ6IG51bWJlcikgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgZGF5UG9wb3ZlckZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBuYXZMaW5rcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5hdkxpbmtEYXlDbGljaz86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBuYXZMaW5rV2Vla0NsaWNrPzogc3RyaW5nIHwgKCh3ZWVrU3RhcnQ6IGFueSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0TWlycm9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RBdXRvPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RDYW5jZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGNtZEZvcm1hdHRlcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBzZWxlY3RPdmVybGFwPzogYm9vbGVhbiB8IE92ZXJsYXBGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgZWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudFN0YXJ0RWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudER1cmF0aW9uRWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudENvbnN0cmFpbnQ/OiBDb25zdHJhaW50SW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50T3ZlcmxhcD86IGJvb2xlYW4gfCBPdmVybGFwRnVuYztcbiAgQElucHV0KCkgZXZlbnRBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWU/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWVzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudFRleHRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRzPzogRXZlbnRTb3VyY2VJbnB1dDtcbiAgQElucHV0KCkgZXZlbnRTb3VyY2VzPzogRXZlbnRTb3VyY2VJbnB1dFtdO1xuICBASW5wdXQoKSBhbGxEYXlEZWZhdWx0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhcnRQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgZW5kUGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhenlGZXRjaGluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5leHREYXlUaHJlc2hvbGQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBldmVudE9yZGVyPzogc3RyaW5nIHwgQXJyYXk8KChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikgfCAoc3RyaW5nIHwgKChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikpPjtcbiAgQElucHV0KCkgcmVyZW5kZXJEZWxheT86IG51bWJlciB8IG51bGw7XG4gIEBJbnB1dCgpIGRyYWdSZXZlcnREdXJhdGlvbj86IG51bWJlcjtcbiAgQElucHV0KCkgZHJhZ1Njcm9sbD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBkcm9wcGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkcm9wQWNjZXB0Pzogc3RyaW5nIHwgKChkcmFnZ2FibGU6IGFueSkgPT4gYm9vbGVhbik7XG4gIEBJbnB1dCgpIGV2ZW50RGF0YVRyYW5zZm9ybT86IEV2ZW50SW5wdXRUcmFuc2Zvcm1lcjtcbiAgQElucHV0KCkgYWxsRGF5TWFpbnRhaW5EdXJhdGlvbj86IEJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzaXphYmxlRnJvbVN0YXJ0PzogQm9vbGVhbjtcbiAgQElucHV0KCkgdGltZUdyaWRFdmVudE1pbkhlaWdodD86IG51bWJlcjtcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBCdXR0b25UZXh0Q29tcG91bmRJbnB1dDtcbiAgQElucHV0KCkgdmlld3M/OiB7IFt2aWV3SWQ6IHN0cmluZ106IFZpZXdPcHRpb25zSW5wdXQgfTtcbiAgQElucHV0KCkgcGx1Z2lucz86IChQbHVnaW5EZWYgfCBzdHJpbmcpW107XG4gIC8vIHNjaGVkdWxlci4uLlxuICBASW5wdXQoKSBzY2hlZHVsZXJMaWNlbnNlS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlTGFiZWxUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZU9yZGVyPzogYW55O1xuICBASW5wdXQoKSBmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZVRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlR3JvdXBGaWVsZD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cFRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQXJlYVdpZHRoPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUNvbHVtbnM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlc0luaXRpYWxseUV4cGFuZGVkPzogYW55O1xuICBASW5wdXQoKSBzbG90V2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGVzQWJvdmVSZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGdvb2dsZUNhbGVuZGFyQXBpS2V5Pzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBkYXRlc1JlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNEZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXlSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHdpbmRvd1Jlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudE1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UG9zaXRpb25lZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcmFnU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0b3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlY2VpdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHZpZXdTa2VsZXRvblJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgX2Rlc3Ryb3llZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvLyBzY2hlZHVsZXIuLi5cbiAgQE91dHB1dCgpIHJlc291cmNlUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBT2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBNEQsTUFBTSxvQkFBb0IsQ0FBQztBQW9CeEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbEY7SUFZRSwrQkFBb0IsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUgvQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBUSxFQUFFLENBQUMsQ0FBQyxzQkFBc0I7UUErTzFDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxtQkFBYyxHQUFHLElBQUks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Qjs7SUFDN0IscURBQXVDOztJQUN2QyxtREFBOEQ7O0lBQzlELG1EQUFnRTs7SUFDaEUsbURBQXNDOztJQUN0QywwREFBNkM7O0lBQzdDLHFEQUF1Qzs7SUFDdkMsOENBQWdDOztJQUNoQyxvREFBc0M7O0lBRXRDLDJDQUE4Qzs7SUFDOUMsc0NBQXdEOztJQUN4RCx3Q0FBMEM7O0lBRTFDLG9EQUFzQzs7SUFDdEMsMENBQXlCOztJQUN6QixrREFBb0M7O0lBQ3BDLDhDQUE2Qjs7SUFDN0IsMERBQXlDOztJQUN6Qyw2Q0FBNEI7O0lBQzVCLG1EQUFrQzs7SUFDbEMsa0RBQWlDOztJQUNqQyxrREFBaUM7O0lBQ2pDLGdEQUErQjs7SUFDL0IsMkRBQTBDOztJQUMxQywwQ0FBeUI7O0lBQ3pCLG9EQUFtQzs7SUFDbkMscURBQXVDOztJQUN2QywyREFBOEM7O0lBQzlDLHNEQUF5Qzs7SUFFekMsNkNBQWlEOztJQUNqRCwwQ0FBOEM7O0lBQzlDLDJDQUErQzs7SUFDL0MsZ0RBQW9EOztJQUNwRCxnREFBb0Q7O0lBQ3BELHVDQUEyQzs7SUFDM0MseUNBQTZDOztJQUM3Qyx3Q0FBNEM7O0lBQzVDLGdEQUFvRDs7SUFDcEQsK0NBQW1EOztJQUNuRCw4Q0FBa0Q7O0lBQ2xELDBDQUE4Qzs7SUFDOUMsaURBQXFEOztJQUNyRCxnREFBb0Q7O0lBQ3BELDRDQUFnRDs7SUFDaEQscUNBQXlDOztJQUN6Qyw2Q0FBaUQ7O0lBQ2pELDJDQUErQzs7SUFDL0MsMkNBQStDOztJQUUvQyxtREFBdUQ7O0lBQ3ZELG9EQUF3RDs7SUFDeEQsNENBQWdEOztJQUNoRCw2Q0FBaUQ7O0lBQ2pELDBDQUE4Qzs7SUFDOUMsNENBQWdEOztJQUNoRCw2Q0FBaUQ7O0lBQ2pELCtDQUFtRDs7Ozs7SUF4UXZDLHdDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWVwRXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgZGVlcENvcHkgfSBmcm9tICdkZWVwLWNvcHknO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIERvQ2hlY2ssXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXIsIEJ1c2luZXNzSG91cnNJbnB1dCwgQ29uc3RyYWludElucHV0LCBFdmVudEFwaSwgUGx1Z2luRGVmIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlJztcbmltcG9ydCB7XG4gIFRvb2xiYXJJbnB1dCxcbiAgQ3VzdG9tQnV0dG9uSW5wdXQsXG4gIEJ1dHRvbkljb25zSW5wdXQsIENlbGxJbmZvLFxuICBCdXR0b25UZXh0Q29tcG91bmRJbnB1dCxcbiAgVmlld09wdGlvbnNJbnB1dFxufSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvdHlwZXMvaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZW52JztcbmltcG9ydCB7IER1cmF0aW9uSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kdXJhdGlvbic7XG5pbXBvcnQgeyBGb3JtYXR0ZXJJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2Zvcm1hdHRpbmcnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFJhd0xvY2FsZSwgTG9jYWxlU2luZ3VsYXJBcmcgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9sb2NhbGUnO1xuaW1wb3J0IHsgT3ZlcmxhcEZ1bmMsIEFsbG93RnVuYyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS92YWxpZGF0aW9uJztcbmltcG9ydCB7XG4gIEV2ZW50U291cmNlSW5wdXQsXG4gIEV2ZW50SW5wdXRUcmFuc2Zvcm1lcixcbiAgRXZlbnRTb3VyY2VFcnJvclJlc3BvbnNlSGFuZGxlcixcbiAgRXZlbnRTb3VyY2VTdWNjZXNzUmVzcG9uc2VIYW5kbGVyXG59IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9zdHJ1Y3RzL2V2ZW50LXNvdXJjZSc7XG5pbXBvcnQgeyBJTlBVVF9OQU1FUywgSU5QVVRfSVNfREVFUCwgT1VUUFVUX05BTUVTIH0gZnJvbSAnLi9mdWxsY2FsZW5kYXItb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z1bGwtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgRnVsbENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjaywgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGRlZXBDaGFuZ2VEZXRlY3Rpb24/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgY2FsZW5kYXI6IENhbGVuZGFyO1xuICBwcml2YXRlIGRpcnR5UHJvcHM6IGFueSA9IHt9O1xuICBwcml2YXRlIGRlZXBDb3BpZXM6IGFueSA9IHt9OyAvLyBob2xkcyBmcm96ZW4gc3RhdGVzXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jYWxlbmRhciA9IG5ldyBDYWxlbmRhcih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5idWlsZE9wdGlvbnMoKSk7XG4gICAgdGhpcy5jYWxlbmRhci5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRPcHRpb25zKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIE9VVFBVVF9OQU1FUy5mb3JFYWNoKG91dHB1dE5hbWUgPT4ge1xuICAgICAgb3B0aW9uc1tvdXRwdXROYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHRoaXNbb3V0cHV0TmFtZV0uZW1pdCguLi5hcmdzKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBkbyBhZnRlciBvdXRwdXRzLCBzbyB0aGF0IGlucHV0cyB3aXRoIHNhbWUgbmFtZSBvdmVycmlkZVxuICAgIElOUFVUX05BTUVTLmZvckVhY2goaW5wdXROYW1lID0+IHtcbiAgICAgIGxldCBpbnB1dFZhbCA9IHRoaXNbaW5wdXROYW1lXTtcblxuICAgICAgaWYgKGlucHV0VmFsICE9PSB1bmRlZmluZWQpIHsgLy8gdW5mb3J0dW5hdGVseSBGQyBjaG9rZXMgd2hlbiBzb21lIHByb3BzIGFyZSBzZXQgdG8gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKHRoaXMuZGVlcENoYW5nZURldGVjdGlvbiAmJiBJTlBVVF9JU19ERUVQW2lucHV0TmFtZV0pIHtcbiAgICAgICAgICBpbnB1dFZhbCA9IGRlZXBDb3B5KGlucHV0VmFsKTtcbiAgICAgICAgICB0aGlzLmRlZXBDb3BpZXNbaW5wdXROYW1lXSA9IGlucHV0VmFsOyAvLyBzaWRlIGVmZmVjdCFcbiAgICAgICAgfVxuXG4gICAgICAgIG9wdGlvbnNbaW5wdXROYW1lXSA9IGlucHV0VmFsO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICAvKlxuICBjYWxsZWQgYmVmb3JlIG5nT25DaGFuZ2VzLCBhbGxvd3MgdXMgdG8gbWFudWFsbHkgZGV0ZWN0IGlucHV0IGNoYW5nZXMuXG4gIGNhbGxlZCBtdWNoIG1vcmUgb2Z0ZW4gdGhhbiBuZ09uQ2hhbmdlcy5cbiAgKi9cbiAgbmdEb0NoZWNrKCkge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyICYmIHRoaXMuZGVlcENoYW5nZURldGVjdGlvbikgeyAvLyBub3QgdGhlIGluaXRpYWwgcmVuZGVyIEFORCB3ZSBkbyBkZWVwLW11dGF0aW9uIGNoZWNrc1xuICAgICAgY29uc3QgeyBkZWVwQ29waWVzIH0gPSB0aGlzO1xuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBJTlBVVF9JU19ERUVQKSB7XG4gICAgICAgIGlmIChJTlBVVF9JU19ERUVQLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dFZhbCA9IHRoaXNbaW5wdXROYW1lXTtcblxuICAgICAgICAgIGlmIChpbnB1dFZhbCAhPT0gdW5kZWZpbmVkKSB7IC8vIHVuZm9ydHVuYXRlbHkgRkMgY2hva2VzIHdoZW4gc29tZSBwcm9wcyBhcmUgc2V0IHRvIHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKCFkZWVwRXF1YWwoaW5wdXRWYWwsIGRlZXBDb3BpZXNbaW5wdXROYW1lXSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29weSA9IGRlZXBDb3B5KGlucHV0VmFsKTtcbiAgICAgICAgICAgICAgZGVlcENvcGllc1tpbnB1dE5hbWVdID0gY29weTtcbiAgICAgICAgICAgICAgdGhpcy5kaXJ0eVByb3BzW2lucHV0TmFtZV0gPSBjb3B5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gIGNhbGxlZCB3aXRoIGNvbmZpcm1lZCBjaGFuZ2VzIHRvIGlucHV0IHJlZmVyZW5jZXNcbiAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7IC8vIG5vdCB0aGUgaW5pdGlhbCByZW5kZXJcblxuICAgICAgZm9yIChjb25zdCBpbnB1dE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGVlcENvcGllc1tpbnB1dE5hbWVdID09PSB1bmRlZmluZWQpIHsgLy8gbm90IGFscmVhZHkgaGFuZGxlZCBpbiBuZ0RvQ2hlY2tcbiAgICAgICAgICAgIHRoaXMuZGlydHlQcm9wc1tpbnB1dE5hbWVdID0gY2hhbmdlc1tpbnB1dE5hbWVdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgY29uc3QgeyBkaXJ0eVByb3BzIH0gPSB0aGlzOyAvLyBob2xkIG9uIHRvIHJlZmVyZW5jZSBiZWZvcmUgY2xlYXJpbmdcblxuICAgIGlmIChPYmplY3Qua2V5cyhkaXJ0eVByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmRpcnR5UHJvcHMgPSB7fTsgLy8gY2xlYXIgZmlyc3QsIGluIGNhc2UgdGhlIHJlcmVuZGVyIGNhdXNlcyBuZXcgZGlydGluZXNzXG4gICAgICB0aGlzLmNhbGVuZGFyLm11dGF0ZU9wdGlvbnMoZGlydHlQcm9wcywgW10sIGZhbHNlLCBkZWVwRXF1YWwpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2FsZW5kYXIuZGVzdHJveSgpO1xuICAgIHRoaXMuY2FsZW5kYXIgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldEFwaSgpOiBDYWxlbmRhciB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gIH1cblxuICAvKlxuICBUT0RPOiB0aGUgZm9sbG93aW5nIElucHV0cy9PdXRwdXRzIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJld3JpdHRlbiBmb3IgZWFjaCB2ZXJzaW9uIGJ1bXBcbiAgb2YgdGhlIGNvcmUgcHJvamVjdC4gQSBzY3JpcHQgd2lsbCBiZSB3cml0dGVuIHRvIG92ZXJ3cml0ZSB0aGUgYWN0dWFseSBzb3VyY2UgY29kZSBoZXJlLlxuICBJdCBpcyB1c3VhbGx5IGdvb2QgdG8gcHV0IGEgY2xhc3MncyBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgQkVGT1JFIHRoZSBtZXRob2RzLCBidXQgaW4gdGhpcyBjYXNlLFxuICBzaW5jZSB0aGUgcHJvcGVydGllcyB3aWxsIGJlIHByb2dyYW1tYXRpY2FsbHkgZ2VuZXJhdGVkLCBiZXR0ZXIgdG8gcHV0IHRoZW0gYWZ0ZXIuXG4gICovXG5cbiAgQElucHV0KCkgaGVhZGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgZm9vdGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgY3VzdG9tQnV0dG9ucz86IHsgW25hbWU6IHN0cmluZ106IEN1c3RvbUJ1dHRvbklucHV0IH07XG4gIEBJbnB1dCgpIGJ1dHRvbkljb25zPzogYm9vbGVhbiB8IEJ1dHRvbkljb25zSW5wdXQ7XG4gIEBJbnB1dCgpIHRoZW1lU3lzdGVtPzogJ3N0YW5kYXJkJyB8IHN0cmluZztcbiAgQElucHV0KCkgYm9vdHN0cmFwRm9udEF3ZXNvbWU/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgZmlyc3REYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpcj86ICdsdHInIHwgJ3J0bCcgfCAnYXV0byc7XG4gIEBJbnB1dCgpIHdlZWtlbmRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuRGF5cz86IG51bWJlcltdO1xuICBASW5wdXQoKSBmaXhlZFdlZWtDb3VudD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnNXaXRoaW5EYXlzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlckNhbGN1bGF0aW9uPzogJ2xvY2FsJyB8ICdJU08nIHwgKChtOiBEYXRlKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBidXNpbmVzc0hvdXJzPzogQnVzaW5lc3NIb3Vyc0lucHV0O1xuICBASW5wdXQoKSBzaG93Tm9uQ3VycmVudERhdGVzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhcmVudCcgfCAoKCkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgY29udGVudEhlaWdodD86IG51bWJlciB8ICdhdXRvJyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBhc3BlY3RSYXRpbz86IG51bWJlcjtcbiAgQElucHV0KCkgaGFuZGxlV2luZG93UmVzaXplPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2luZG93UmVzaXplRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXQ/OiBib29sZWFuIHwgbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExpbWl0Q2xpY2s/OiAncG9wb3ZlcicgfCAnd2VlaycgfCAnZGF5JyB8IHN0cmluZyB8ICgoY2VsbGluZm86IENlbGxJbmZvLCBqc2V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHRpbWVab25lPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm93PzogRGF0ZUlucHV0IHwgKCgpID0+IERhdGVJbnB1dCk7XG4gIEBJbnB1dCgpIGRlZmF1bHRWaWV3Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbGxEYXlTbG90PzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsRGF5VGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgc2xvdER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RMYWJlbEludGVydmFsPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc25hcER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2Nyb2xsVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1pblRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBtYXhUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdEV2ZW50T3ZlcmxhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlBbHRGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5vRXZlbnRzTWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdERhdGU/OiBEYXRlSW5wdXQ7XG4gIEBJbnB1dCgpIG5vd0luZGljYXRvcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpc2libGVSYW5nZT86ICgoY3VycmVudERhdGU6IERhdGUpID0+IERhdGVSYW5nZUlucHV0KSB8IERhdGVSYW5nZUlucHV0O1xuICBASW5wdXQoKSB2YWxpZFJhbmdlPzogRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVJbmNyZW1lbnQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkYXRlQWxpZ25tZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRheUNvdW50PzogbnVtYmVyO1xuICBASW5wdXQoKSBsb2NhbGVzPzogUmF3TG9jYWxlW107XG4gIEBJbnB1dCgpIGxvY2FsZT86IExvY2FsZVNpbmd1bGFyQXJnO1xuICBASW5wdXQoKSBldmVudFRpbWVGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlclRleHQ/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGVJbnB1dCkgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVySHRtbD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSB0aXRsZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSB3ZWVrTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudFRpbWU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNwbGF5RXZlbnRFbmQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudExpbWl0VGV4dD86IHN0cmluZyB8ICgoZXZlbnRDbnQ6IG51bWJlcikgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgZGF5UG9wb3ZlckZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBuYXZMaW5rcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5hdkxpbmtEYXlDbGljaz86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBuYXZMaW5rV2Vla0NsaWNrPzogc3RyaW5nIHwgKCh3ZWVrU3RhcnQ6IGFueSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0TWlycm9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RBdXRvPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RDYW5jZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGNtZEZvcm1hdHRlcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBzZWxlY3RPdmVybGFwPzogYm9vbGVhbiB8IE92ZXJsYXBGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgc2VsZWN0TWluRGlzdGFuY2U/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRTdGFydEVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnREdXJhdGlvbkVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBldmVudE92ZXJsYXA/OiBib29sZWFuIHwgT3ZlcmxhcEZ1bmM7XG4gIEBJbnB1dCgpIGV2ZW50QWxsb3c/OiBBbGxvd0Z1bmM7XG4gIEBJbnB1dCgpIGV2ZW50Q2xhc3NOYW1lPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Q2xhc3NOYW1lcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRCb3JkZXJDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50cz86IEV2ZW50U291cmNlSW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlcz86IEV2ZW50U291cmNlSW5wdXRbXTtcbiAgQElucHV0KCkgYWxsRGF5RGVmYXVsdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0YXJ0UGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVuZFBhcmFtPzogc3RyaW5nO1xuICBASW5wdXQoKSBsYXp5RmV0Y2hpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBuZXh0RGF5VGhyZXNob2xkPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZXZlbnRPcmRlcj86IHN0cmluZyB8IEFycmF5PCgoYTogRXZlbnRBcGksIGI6IEV2ZW50QXBpKSA9PiBudW1iZXIpIHwgKHN0cmluZyB8ICgoYTogRXZlbnRBcGksIGI6IEV2ZW50QXBpKSA9PiBudW1iZXIpKT47XG4gIEBJbnB1dCgpIHJlcmVuZGVyRGVsYXk/OiBudW1iZXIgfCBudWxsO1xuICBASW5wdXQoKSBkcmFnUmV2ZXJ0RHVyYXRpb24/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRyYWdTY3JvbGw/OiBib29sZWFuO1xuICBASW5wdXQoKSBsb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRMb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZHJvcHBhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZHJvcEFjY2VwdD86IHN0cmluZyB8ICgoZHJhZ2dhYmxlOiBhbnkpID0+IGJvb2xlYW4pO1xuICBASW5wdXQoKSBldmVudERhdGFUcmFuc2Zvcm0/OiBFdmVudElucHV0VHJhbnNmb3JtZXI7XG4gIEBJbnB1dCgpIGFsbERheU1haW50YWluRHVyYXRpb24/OiBCb29sZWFuO1xuICBASW5wdXQoKSBldmVudFJlc2l6YWJsZUZyb21TdGFydD86IEJvb2xlYW47XG4gIEBJbnB1dCgpIHRpbWVHcmlkRXZlbnRNaW5IZWlnaHQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGFsbERheUh0bWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50RHJhZ01pbkRpc3RhbmNlPzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudFNvdXJjZUZhaWx1cmU/OiBFdmVudFNvdXJjZUVycm9yUmVzcG9uc2VIYW5kbGVyO1xuICBASW5wdXQoKSBldmVudFNvdXJjZVN1Y2Nlc3M/OiBFdmVudFNvdXJjZVN1Y2Nlc3NSZXNwb25zZUhhbmRsZXI7XG4gIEBJbnB1dCgpIGZvcmNlRXZlbnREdXJhdGlvbj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHByb2dyZXNzaXZlRXZlbnRSZW5kZXJpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RMb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgdGltZVpvbmVQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGVSYW5nZVNlcGFyYXRvcj86IHN0cmluZztcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBCdXR0b25UZXh0Q29tcG91bmRJbnB1dDtcbiAgQElucHV0KCkgdmlld3M/OiB7IFt2aWV3SWQ6IHN0cmluZ106IFZpZXdPcHRpb25zSW5wdXQgfTtcbiAgQElucHV0KCkgcGx1Z2lucz86IChQbHVnaW5EZWYgfCBzdHJpbmcpW107XG4gIC8vIHNjaGVkdWxlci4uLlxuICBASW5wdXQoKSBzY2hlZHVsZXJMaWNlbnNlS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlTGFiZWxUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZU9yZGVyPzogYW55O1xuICBASW5wdXQoKSBmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZVRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlR3JvdXBGaWVsZD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cFRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQXJlYVdpZHRoPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUNvbHVtbnM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlc0luaXRpYWxseUV4cGFuZGVkPzogYW55O1xuICBASW5wdXQoKSBzbG90V2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGVzQWJvdmVSZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGdvb2dsZUNhbGVuZGFyQXBpS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZWZldGNoUmVzb3VyY2VzT25OYXZpZ2F0ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzb3VyY2VFZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHdpbmRvd1Jlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudE1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRQb3NpdGlvbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcmFnU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0b3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlY2VpdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIF9kZXN0cm95ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgLy8gVE9ETzogbWFrZSB0aGVzZSBpbnB1dHMuLi5cbiAgQE91dHB1dCgpIHZpZXdTa2VsZXRvblJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVzRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF5UmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByZXNvdXJjZVJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xufVxuIl19 |
@@ -0,1 +1,3 @@ | ||
import deepEqual from 'fast-deep-equal'; | ||
import deepCopy from 'deep-copy'; | ||
import { Calendar } from '@fullcalendar/core'; | ||
@@ -79,2 +81,3 @@ import { Component, ElementRef, Input, Output, EventEmitter, NgModule } from '@angular/core'; | ||
'selectMirror', | ||
'selectMinDistance', | ||
'unselectAuto', | ||
@@ -120,2 +123,12 @@ 'unselectCancel', | ||
'timeGridEventMinHeight', | ||
'allDayHtml', | ||
'eventDragMinDistance', | ||
'eventSourceFailure', | ||
'eventSourceSuccess', | ||
'forceEventDuration', | ||
'progressiveEventRendering', | ||
'selectLongPressDelay', | ||
'selectMinDistance', | ||
'timeZoneParam', | ||
'titleRangeSeparator', | ||
// compound OptionsInput... | ||
@@ -139,9 +152,16 @@ 'buttonText', | ||
'datesAboveResources', | ||
'googleCalendarApiKey' | ||
'googleCalendarApiKey', | ||
'refetchResourcesOnNavigate', | ||
'eventResourceEditable' | ||
]; | ||
/** @type {?} */ | ||
const EVENT_NAMES = [ | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
const INPUT_IS_DEEP = { | ||
header: true, | ||
footer: true, | ||
events: true, | ||
eventSources: true, | ||
resources: true | ||
}; | ||
/** @type {?} */ | ||
const OUTPUT_NAMES = [ | ||
'windowResize', | ||
@@ -155,5 +175,3 @@ 'dateClick', | ||
'loading', | ||
'eventRender', | ||
'eventPositioned', | ||
'eventDestroy', | ||
'eventDragStart', | ||
@@ -168,6 +186,11 @@ 'eventDragStop', | ||
'eventLeave', | ||
'_destroyed', | ||
// TODO: make these inputs... | ||
'viewSkeletonRender', | ||
'viewSkeletonDestroy', | ||
'_destroyed', | ||
// scheduler... | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
'eventRender', | ||
'eventDestroy', | ||
'resourceRender' | ||
@@ -181,2 +204,3 @@ ]; | ||
class FullCalendarComponent { | ||
// holds frozen states | ||
/** | ||
@@ -187,5 +211,4 @@ * @param {?} element | ||
this.element = element; | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.dirtyProps = {}; | ||
this.deepCopies = {}; // holds frozen states | ||
this.windowResize = new EventEmitter(); | ||
@@ -199,5 +222,3 @@ this.dateClick = new EventEmitter(); | ||
this.loading = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventPositioned = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.eventDragStart = new EventEmitter(); | ||
@@ -212,6 +233,11 @@ this.eventDragStop = new EventEmitter(); | ||
this.eventLeave = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// TODO: make these inputs... | ||
this.viewSkeletonRender = new EventEmitter(); | ||
this.viewSkeletonDestroy = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// scheduler... | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.resourceRender = new EventEmitter(); | ||
@@ -227,2 +253,3 @@ } | ||
/** | ||
* @private | ||
* @return {?} | ||
@@ -233,8 +260,8 @@ */ | ||
const options = {}; | ||
EVENT_NAMES.forEach((/** | ||
* @param {?} eventName | ||
OUTPUT_NAMES.forEach((/** | ||
* @param {?} outputName | ||
* @return {?} | ||
*/ | ||
eventName => { | ||
options[eventName] = (/** | ||
outputName => { | ||
options[outputName] = (/** | ||
* @param {...?} args | ||
@@ -244,5 +271,6 @@ * @return {?} | ||
(...args) => { | ||
this[eventName].emit(...args); | ||
this[outputName].emit(...args); | ||
}); | ||
})); | ||
// do after outputs, so that inputs with same name override | ||
INPUT_NAMES.forEach((/** | ||
@@ -253,4 +281,10 @@ * @param {?} inputName | ||
inputName => { | ||
if (this[inputName] !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
options[inputName] = this[inputName]; | ||
/** @type {?} */ | ||
let inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (this.deepChangeDetection && INPUT_IS_DEEP[inputName]) { | ||
inputVal = deepCopy(inputVal); | ||
this.deepCopies[inputName] = inputVal; // side effect! | ||
} | ||
options[inputName] = inputVal; | ||
} | ||
@@ -260,3 +294,33 @@ })); | ||
} | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
ngDoCheck() { | ||
if (this.calendar && this.deepChangeDetection) { // not the initial render AND we do deep-mutation checks | ||
// not the initial render AND we do deep-mutation checks | ||
const { deepCopies } = this; | ||
for (const inputName in INPUT_IS_DEEP) { | ||
if (INPUT_IS_DEEP.hasOwnProperty(inputName)) { | ||
/** @type {?} */ | ||
const inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (!deepEqual(inputVal, deepCopies[inputName])) { | ||
/** @type {?} */ | ||
const copy = deepCopy(inputVal); | ||
deepCopies[inputName] = copy; | ||
this.dirtyProps[inputName] = copy; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
@@ -267,11 +331,9 @@ * @return {?} | ||
if (this.calendar) { // not the initial render | ||
// not the initial render | ||
/** @type {?} */ | ||
const updatedInputs = {}; | ||
for (const inputName in changes) { | ||
if (changes.hasOwnProperty(inputName)) { | ||
updatedInputs[inputName] = changes[inputName].currentValue; | ||
if (this.deepCopies[inputName] === undefined) { // not already handled in ngDoCheck | ||
this.dirtyProps[inputName] = changes[inputName].currentValue; | ||
} | ||
} | ||
} | ||
this.calendar.setOptions(updatedInputs); | ||
} | ||
@@ -282,2 +344,12 @@ } | ||
*/ | ||
ngAfterContentChecked() { | ||
const { dirtyProps } = this; | ||
if (Object.keys(dirtyProps).length > 0) { | ||
this.dirtyProps = {}; // clear first, in case the rerender causes new dirtiness | ||
this.calendar.mutateOptions(dirtyProps, [], false, deepEqual); | ||
} | ||
} | ||
/** | ||
* @return {?} | ||
*/ | ||
ngOnDestroy() { | ||
@@ -305,2 +377,3 @@ this.calendar.destroy(); | ||
FullCalendarComponent.propDecorators = { | ||
deepChangeDetection: [{ type: Input }], | ||
header: [{ type: Input }], | ||
@@ -380,2 +453,3 @@ footer: [{ type: Input }], | ||
selectAllow: [{ type: Input }], | ||
selectMinDistance: [{ type: Input }], | ||
editable: [{ type: Input }], | ||
@@ -412,2 +486,11 @@ eventStartEditable: [{ type: Input }], | ||
timeGridEventMinHeight: [{ type: Input }], | ||
allDayHtml: [{ type: Input }], | ||
eventDragMinDistance: [{ type: Input }], | ||
eventSourceFailure: [{ type: Input }], | ||
eventSourceSuccess: [{ type: Input }], | ||
forceEventDuration: [{ type: Input }], | ||
progressiveEventRendering: [{ type: Input }], | ||
selectLongPressDelay: [{ type: Input }], | ||
timeZoneParam: [{ type: Input }], | ||
titleRangeSeparator: [{ type: Input }], | ||
buttonText: [{ type: Input }], | ||
@@ -430,5 +513,4 @@ views: [{ type: Input }], | ||
googleCalendarApiKey: [{ type: Input }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
refetchResourcesOnNavigate: [{ type: Input }], | ||
eventResourceEditable: [{ type: Input }], | ||
windowResize: [{ type: Output }], | ||
@@ -442,5 +524,3 @@ dateClick: [{ type: Output }], | ||
loading: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventPositioned: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
eventDragStart: [{ type: Output }], | ||
@@ -455,5 +535,10 @@ eventDragStop: [{ type: Output }], | ||
eventLeave: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
viewSkeletonRender: [{ type: Output }], | ||
viewSkeletonDestroy: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
resourceRender: [{ type: Output }] | ||
@@ -460,0 +545,0 @@ }; |
import { __spread } from 'tslib'; | ||
import deepEqual from 'fast-deep-equal'; | ||
import deepCopy from 'deep-copy'; | ||
import { Calendar } from '@fullcalendar/core'; | ||
@@ -80,2 +82,3 @@ import { Component, ElementRef, Input, Output, EventEmitter, NgModule } from '@angular/core'; | ||
'selectMirror', | ||
'selectMinDistance', | ||
'unselectAuto', | ||
@@ -121,2 +124,12 @@ 'unselectCancel', | ||
'timeGridEventMinHeight', | ||
'allDayHtml', | ||
'eventDragMinDistance', | ||
'eventSourceFailure', | ||
'eventSourceSuccess', | ||
'forceEventDuration', | ||
'progressiveEventRendering', | ||
'selectLongPressDelay', | ||
'selectMinDistance', | ||
'timeZoneParam', | ||
'titleRangeSeparator', | ||
// compound OptionsInput... | ||
@@ -140,9 +153,16 @@ 'buttonText', | ||
'datesAboveResources', | ||
'googleCalendarApiKey' | ||
'googleCalendarApiKey', | ||
'refetchResourcesOnNavigate', | ||
'eventResourceEditable' | ||
]; | ||
/** @type {?} */ | ||
var EVENT_NAMES = [ | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
var INPUT_IS_DEEP = { | ||
header: true, | ||
footer: true, | ||
events: true, | ||
eventSources: true, | ||
resources: true | ||
}; | ||
/** @type {?} */ | ||
var OUTPUT_NAMES = [ | ||
'windowResize', | ||
@@ -156,5 +176,3 @@ 'dateClick', | ||
'loading', | ||
'eventRender', | ||
'eventPositioned', | ||
'eventDestroy', | ||
'eventDragStart', | ||
@@ -169,6 +187,11 @@ 'eventDragStop', | ||
'eventLeave', | ||
'_destroyed', | ||
// TODO: make these inputs... | ||
'viewSkeletonRender', | ||
'viewSkeletonDestroy', | ||
'_destroyed', | ||
// scheduler... | ||
'datesRender', | ||
'datesDestroy', | ||
'dayRender', | ||
'eventRender', | ||
'eventDestroy', | ||
'resourceRender' | ||
@@ -184,5 +207,4 @@ ]; | ||
this.element = element; | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.dirtyProps = {}; | ||
this.deepCopies = {}; // holds frozen states | ||
this.windowResize = new EventEmitter(); | ||
@@ -196,5 +218,3 @@ this.dateClick = new EventEmitter(); | ||
this.loading = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventPositioned = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.eventDragStart = new EventEmitter(); | ||
@@ -209,6 +229,11 @@ this.eventDragStop = new EventEmitter(); | ||
this.eventLeave = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// TODO: make these inputs... | ||
this.viewSkeletonRender = new EventEmitter(); | ||
this.viewSkeletonDestroy = new EventEmitter(); | ||
this._destroyed = new EventEmitter(); | ||
// scheduler... | ||
this.datesRender = new EventEmitter(); | ||
this.datesDestroy = new EventEmitter(); | ||
this.dayRender = new EventEmitter(); | ||
this.eventRender = new EventEmitter(); | ||
this.eventDestroy = new EventEmitter(); | ||
this.resourceRender = new EventEmitter(); | ||
@@ -227,5 +252,7 @@ } | ||
/** | ||
* @private | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.buildOptions = /** | ||
* @private | ||
* @return {?} | ||
@@ -237,8 +264,8 @@ */ | ||
var options = {}; | ||
EVENT_NAMES.forEach((/** | ||
* @param {?} eventName | ||
OUTPUT_NAMES.forEach((/** | ||
* @param {?} outputName | ||
* @return {?} | ||
*/ | ||
function (eventName) { | ||
options[eventName] = (/** | ||
function (outputName) { | ||
options[outputName] = (/** | ||
* @param {...?} args | ||
@@ -253,5 +280,6 @@ * @return {?} | ||
var _a; | ||
(_a = _this[eventName]).emit.apply(_a, __spread(args)); | ||
(_a = _this[outputName]).emit.apply(_a, __spread(args)); | ||
}); | ||
})); | ||
// do after outputs, so that inputs with same name override | ||
INPUT_NAMES.forEach((/** | ||
@@ -262,4 +290,10 @@ * @param {?} inputName | ||
function (inputName) { | ||
if (_this[inputName] !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
options[inputName] = _this[inputName]; | ||
/** @type {?} */ | ||
var inputVal = _this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (_this.deepChangeDetection && INPUT_IS_DEEP[inputName]) { | ||
inputVal = deepCopy(inputVal); | ||
_this.deepCopies[inputName] = inputVal; // side effect! | ||
} | ||
options[inputName] = inputVal; | ||
} | ||
@@ -269,7 +303,54 @@ })); | ||
}; | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngDoCheck = /* | ||
called before ngOnChanges, allows us to manually detect input changes. | ||
called much more often than ngOnChanges. | ||
*/ | ||
/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (this.calendar && this.deepChangeDetection) { // not the initial render AND we do deep-mutation checks | ||
// not the initial render AND we do deep-mutation checks | ||
var deepCopies = this.deepCopies; | ||
for (var inputName in INPUT_IS_DEEP) { | ||
if (INPUT_IS_DEEP.hasOwnProperty(inputName)) { | ||
/** @type {?} */ | ||
var inputVal = this[inputName]; | ||
if (inputVal !== undefined) { // unfortunately FC chokes when some props are set to undefined | ||
if (!deepEqual(inputVal, deepCopies[inputName])) { | ||
/** @type {?} */ | ||
var copy = deepCopy(inputVal); | ||
deepCopies[inputName] = copy; | ||
this.dirtyProps[inputName] = copy; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}; | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnChanges = /** | ||
FullCalendarComponent.prototype.ngOnChanges = /* | ||
called with confirmed changes to input references | ||
*/ | ||
/** | ||
* @param {?} changes | ||
@@ -280,11 +361,9 @@ * @return {?} | ||
if (this.calendar) { // not the initial render | ||
// not the initial render | ||
/** @type {?} */ | ||
var updatedInputs = {}; | ||
for (var inputName in changes) { | ||
if (changes.hasOwnProperty(inputName)) { | ||
updatedInputs[inputName] = changes[inputName].currentValue; | ||
if (this.deepCopies[inputName] === undefined) { // not already handled in ngDoCheck | ||
this.dirtyProps[inputName] = changes[inputName].currentValue; | ||
} | ||
} | ||
} | ||
this.calendar.setOptions(updatedInputs); | ||
} | ||
@@ -295,2 +374,15 @@ }; | ||
*/ | ||
FullCalendarComponent.prototype.ngAfterContentChecked = /** | ||
* @return {?} | ||
*/ | ||
function () { | ||
var dirtyProps = this.dirtyProps; | ||
if (Object.keys(dirtyProps).length > 0) { | ||
this.dirtyProps = {}; // clear first, in case the rerender causes new dirtiness | ||
this.calendar.mutateOptions(dirtyProps, [], false, deepEqual); | ||
} | ||
}; | ||
/** | ||
* @return {?} | ||
*/ | ||
FullCalendarComponent.prototype.ngOnDestroy = /** | ||
@@ -323,2 +415,3 @@ * @return {?} | ||
FullCalendarComponent.propDecorators = { | ||
deepChangeDetection: [{ type: Input }], | ||
header: [{ type: Input }], | ||
@@ -398,2 +491,3 @@ footer: [{ type: Input }], | ||
selectAllow: [{ type: Input }], | ||
selectMinDistance: [{ type: Input }], | ||
editable: [{ type: Input }], | ||
@@ -430,2 +524,11 @@ eventStartEditable: [{ type: Input }], | ||
timeGridEventMinHeight: [{ type: Input }], | ||
allDayHtml: [{ type: Input }], | ||
eventDragMinDistance: [{ type: Input }], | ||
eventSourceFailure: [{ type: Input }], | ||
eventSourceSuccess: [{ type: Input }], | ||
forceEventDuration: [{ type: Input }], | ||
progressiveEventRendering: [{ type: Input }], | ||
selectLongPressDelay: [{ type: Input }], | ||
timeZoneParam: [{ type: Input }], | ||
titleRangeSeparator: [{ type: Input }], | ||
buttonText: [{ type: Input }], | ||
@@ -448,5 +551,4 @@ views: [{ type: Input }], | ||
googleCalendarApiKey: [{ type: Input }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
refetchResourcesOnNavigate: [{ type: Input }], | ||
eventResourceEditable: [{ type: Input }], | ||
windowResize: [{ type: Output }], | ||
@@ -460,5 +562,3 @@ dateClick: [{ type: Output }], | ||
loading: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventPositioned: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
eventDragStart: [{ type: Output }], | ||
@@ -473,5 +573,10 @@ eventDragStop: [{ type: Output }], | ||
eventLeave: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
viewSkeletonRender: [{ type: Output }], | ||
viewSkeletonDestroy: [{ type: Output }], | ||
_destroyed: [{ type: Output }], | ||
datesRender: [{ type: Output }], | ||
datesDestroy: [{ type: Output }], | ||
dayRender: [{ type: Output }], | ||
eventRender: [{ type: Output }], | ||
eventDestroy: [{ type: Output }], | ||
resourceRender: [{ type: Output }] | ||
@@ -478,0 +583,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"FullCalendarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"full-calendar","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":36,"character":31}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"buildOptions":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getApi":[{"__symbolic":"method"}],"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"footer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":3}}]}],"customButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"buttonIcons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":3}}]}],"themeSystem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":96,"character":3}}]}],"bootstrapFontAwesome":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":3}}]}],"firstDay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":3}}]}],"dir":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":99,"character":3}}]}],"weekends":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"hiddenDays":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3}}]}],"fixedWeekCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":102,"character":3}}]}],"weekNumbers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":3}}]}],"weekNumbersWithinDays":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"weekNumberCalculation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":3}}]}],"businessHours":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":3}}]}],"showNonCurrentDates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":108,"character":3}}]}],"contentHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":109,"character":3}}]}],"aspectRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":3}}]}],"handleWindowResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":111,"character":3}}]}],"windowResizeDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":112,"character":3}}]}],"eventLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":113,"character":3}}]}],"eventLimitClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":114,"character":3}}]}],"timeZone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"now":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"defaultView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"allDaySlot":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":118,"character":3}}]}],"allDayText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"slotDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":3}}]}],"slotLabelFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3}}]}],"slotLabelInterval":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":122,"character":3}}]}],"snapDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":123,"character":3}}]}],"scrollTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}}]}],"minTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"maxTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":126,"character":3}}]}],"slotEventOverlap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":127,"character":3}}]}],"listDayFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":128,"character":3}}]}],"listDayAltFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":129,"character":3}}]}],"noEventsMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"defaultDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3}}]}],"nowIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":132,"character":3}}]}],"visibleRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3}}]}],"validRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":134,"character":3}}]}],"dateIncrement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":135,"character":3}}]}],"dateAlignment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":3}}]}],"duration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":137,"character":3}}]}],"dayCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":138,"character":3}}]}],"locales":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":139,"character":3}}]}],"locale":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":140,"character":3}}]}],"eventTimeFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":141,"character":3}}]}],"columnHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":142,"character":3}}]}],"columnHeaderFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":143,"character":3}}]}],"columnHeaderText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":144,"character":3}}]}],"columnHeaderHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":3}}]}],"titleFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":146,"character":3}}]}],"weekLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":147,"character":3}}]}],"displayEventTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":148,"character":3}}]}],"displayEventEnd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":149,"character":3}}]}],"eventLimitText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":150,"character":3}}]}],"dayPopoverFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3}}]}],"navLinks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":152,"character":3}}]}],"navLinkDayClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":153,"character":3}}]}],"navLinkWeekClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3}}]}],"selectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":3}}]}],"selectMirror":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":3}}]}],"unselectAuto":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":157,"character":3}}]}],"unselectCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":158,"character":3}}]}],"defaultAllDayEventDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":3}}]}],"defaultTimedEventDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":160,"character":3}}]}],"cmdFormatter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3}}]}],"defaultRangeSeparator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":162,"character":3}}]}],"selectConstraint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":3}}]}],"selectOverlap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":3}}]}],"selectAllow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":166,"character":3}}]}],"eventStartEditable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":167,"character":3}}]}],"eventDurationEditable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":168,"character":3}}]}],"eventConstraint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":3}}]}],"eventOverlap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":3}}]}],"eventAllow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":3}}]}],"eventClassName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":172,"character":3}}]}],"eventClassNames":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":3}}]}],"eventBackgroundColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":174,"character":3}}]}],"eventBorderColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":3}}]}],"eventTextColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":176,"character":3}}]}],"eventColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":177,"character":3}}]}],"events":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":178,"character":3}}]}],"eventSources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":179,"character":3}}]}],"allDayDefault":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":3}}]}],"startParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":181,"character":3}}]}],"endParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":182,"character":3}}]}],"lazyFetching":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":183,"character":3}}]}],"nextDayThreshold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":184,"character":3}}]}],"eventOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3}}]}],"rerenderDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":186,"character":3}}]}],"dragRevertDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":187,"character":3}}]}],"dragScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":188,"character":3}}]}],"longPressDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":189,"character":3}}]}],"eventLongPressDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":190,"character":3}}]}],"droppable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":191,"character":3}}]}],"dropAccept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":192,"character":3}}]}],"eventDataTransform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":193,"character":3}}]}],"allDayMaintainDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":194,"character":3}}]}],"eventResizableFromStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":195,"character":3}}]}],"timeGridEventMinHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":196,"character":3}}]}],"buttonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":198,"character":3}}]}],"views":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":199,"character":3}}]}],"plugins":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":200,"character":3}}]}],"schedulerLicenseKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":202,"character":3}}]}],"resources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":3}}]}],"resourceLabelText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":204,"character":3}}]}],"resourceOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":205,"character":3}}]}],"filterResourcesWithEvents":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":206,"character":3}}]}],"resourceText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":207,"character":3}}]}],"resourceGroupField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":208,"character":3}}]}],"resourceGroupText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":209,"character":3}}]}],"resourceAreaWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":210,"character":3}}]}],"resourceColumns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":211,"character":3}}]}],"resourcesInitiallyExpanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":212,"character":3}}]}],"slotWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":213,"character":3}}]}],"datesAboveResources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":214,"character":3}}]}],"googleCalendarApiKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":215,"character":3}}]}],"datesRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":217,"character":3}}]}],"datesDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":218,"character":3}}]}],"dayRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":219,"character":3}}]}],"windowResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":220,"character":3}}]}],"dateClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":221,"character":3}}]}],"eventClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":222,"character":3}}]}],"eventMouseEnter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":223,"character":3}}]}],"eventMouseLeave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":224,"character":3}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":225,"character":3}}]}],"unselect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":226,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":227,"character":3}}]}],"eventRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":228,"character":3}}]}],"eventPositioned":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":229,"character":3}}]}],"eventDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":230,"character":3}}]}],"eventDragStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":231,"character":3}}]}],"eventDragStop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":232,"character":3}}]}],"eventDrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":233,"character":3}}]}],"eventResizeStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":234,"character":3}}]}],"eventResizeStop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":235,"character":3}}]}],"eventResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":236,"character":3}}]}],"drop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":237,"character":3}}]}],"eventReceive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":238,"character":3}}]}],"eventLeave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":239,"character":3}}]}],"viewSkeletonRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":240,"character":3}}]}],"viewSkeletonDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":241,"character":3}}]}],"_destroyed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":242,"character":3}}]}],"resourceRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":244,"character":3}}]}]}},"FullCalendarModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FullCalendarComponent"}],"imports":[],"exports":[{"__symbolic":"reference","name":"FullCalendarComponent"}]}]}],"members":{}}},"origins":{"FullCalendarComponent":"./lib/fullcalendar.component","FullCalendarModule":"./lib/fullcalendar.module"},"importAs":"@fullcalendar/angular"} | ||
{"__symbolic":"module","version":4,"metadata":{"FullCalendarComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"full-calendar","template":""}]}],"members":{"deepChangeDetection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":49,"character":31}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"buildOptions":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterContentChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getApi":[{"__symbolic":"method"}],"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":149,"character":3}}]}],"footer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":150,"character":3}}]}],"customButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3}}]}],"buttonIcons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":152,"character":3}}]}],"themeSystem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":153,"character":3}}]}],"bootstrapFontAwesome":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3}}]}],"firstDay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":3}}]}],"dir":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":3}}]}],"weekends":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":157,"character":3}}]}],"hiddenDays":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":158,"character":3}}]}],"fixedWeekCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":3}}]}],"weekNumbers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":160,"character":3}}]}],"weekNumbersWithinDays":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3}}]}],"weekNumberCalculation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":162,"character":3}}]}],"businessHours":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":3}}]}],"showNonCurrentDates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":3}}]}],"height":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":3}}]}],"contentHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":166,"character":3}}]}],"aspectRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":167,"character":3}}]}],"handleWindowResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":168,"character":3}}]}],"windowResizeDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":3}}]}],"eventLimit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":170,"character":3}}]}],"eventLimitClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":171,"character":3}}]}],"timeZone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":172,"character":3}}]}],"now":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":173,"character":3}}]}],"defaultView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":174,"character":3}}]}],"allDaySlot":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":3}}]}],"allDayText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":176,"character":3}}]}],"slotDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":177,"character":3}}]}],"slotLabelFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":178,"character":3}}]}],"slotLabelInterval":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":179,"character":3}}]}],"snapDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":3}}]}],"scrollTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":181,"character":3}}]}],"minTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":182,"character":3}}]}],"maxTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":183,"character":3}}]}],"slotEventOverlap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":184,"character":3}}]}],"listDayFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":185,"character":3}}]}],"listDayAltFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":186,"character":3}}]}],"noEventsMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":187,"character":3}}]}],"defaultDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":188,"character":3}}]}],"nowIndicator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":189,"character":3}}]}],"visibleRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":190,"character":3}}]}],"validRange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":191,"character":3}}]}],"dateIncrement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":192,"character":3}}]}],"dateAlignment":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":193,"character":3}}]}],"duration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":194,"character":3}}]}],"dayCount":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":195,"character":3}}]}],"locales":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":196,"character":3}}]}],"locale":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":197,"character":3}}]}],"eventTimeFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":198,"character":3}}]}],"columnHeader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":199,"character":3}}]}],"columnHeaderFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":200,"character":3}}]}],"columnHeaderText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":201,"character":3}}]}],"columnHeaderHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":202,"character":3}}]}],"titleFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":203,"character":3}}]}],"weekLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":204,"character":3}}]}],"displayEventTime":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":205,"character":3}}]}],"displayEventEnd":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":206,"character":3}}]}],"eventLimitText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":207,"character":3}}]}],"dayPopoverFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":208,"character":3}}]}],"navLinks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":209,"character":3}}]}],"navLinkDayClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":210,"character":3}}]}],"navLinkWeekClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":211,"character":3}}]}],"selectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":212,"character":3}}]}],"selectMirror":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":213,"character":3}}]}],"unselectAuto":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":214,"character":3}}]}],"unselectCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":215,"character":3}}]}],"defaultAllDayEventDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":216,"character":3}}]}],"defaultTimedEventDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":217,"character":3}}]}],"cmdFormatter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":218,"character":3}}]}],"defaultRangeSeparator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":219,"character":3}}]}],"selectConstraint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":220,"character":3}}]}],"selectOverlap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":221,"character":3}}]}],"selectAllow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":222,"character":3}}]}],"selectMinDistance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":223,"character":3}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":224,"character":3}}]}],"eventStartEditable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":225,"character":3}}]}],"eventDurationEditable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":226,"character":3}}]}],"eventConstraint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":227,"character":3}}]}],"eventOverlap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":228,"character":3}}]}],"eventAllow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":229,"character":3}}]}],"eventClassName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":230,"character":3}}]}],"eventClassNames":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":231,"character":3}}]}],"eventBackgroundColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":232,"character":3}}]}],"eventBorderColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":233,"character":3}}]}],"eventTextColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":234,"character":3}}]}],"eventColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":235,"character":3}}]}],"events":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":236,"character":3}}]}],"eventSources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":237,"character":3}}]}],"allDayDefault":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":238,"character":3}}]}],"startParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":239,"character":3}}]}],"endParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":240,"character":3}}]}],"lazyFetching":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":241,"character":3}}]}],"nextDayThreshold":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":242,"character":3}}]}],"eventOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":243,"character":3}}]}],"rerenderDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":244,"character":3}}]}],"dragRevertDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":245,"character":3}}]}],"dragScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":246,"character":3}}]}],"longPressDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":247,"character":3}}]}],"eventLongPressDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":248,"character":3}}]}],"droppable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":249,"character":3}}]}],"dropAccept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":250,"character":3}}]}],"eventDataTransform":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":251,"character":3}}]}],"allDayMaintainDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":252,"character":3}}]}],"eventResizableFromStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":253,"character":3}}]}],"timeGridEventMinHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":254,"character":3}}]}],"allDayHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":255,"character":3}}]}],"eventDragMinDistance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":256,"character":3}}]}],"eventSourceFailure":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":257,"character":3}}]}],"eventSourceSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":258,"character":3}}]}],"forceEventDuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":259,"character":3}}]}],"progressiveEventRendering":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":260,"character":3}}]}],"selectLongPressDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":261,"character":3}}]}],"timeZoneParam":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":262,"character":3}}]}],"titleRangeSeparator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":263,"character":3}}]}],"buttonText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":265,"character":3}}]}],"views":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":266,"character":3}}]}],"plugins":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":267,"character":3}}]}],"schedulerLicenseKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":269,"character":3}}]}],"resources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":270,"character":3}}]}],"resourceLabelText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":271,"character":3}}]}],"resourceOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":272,"character":3}}]}],"filterResourcesWithEvents":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":273,"character":3}}]}],"resourceText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":274,"character":3}}]}],"resourceGroupField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":275,"character":3}}]}],"resourceGroupText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":276,"character":3}}]}],"resourceAreaWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":277,"character":3}}]}],"resourceColumns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":278,"character":3}}]}],"resourcesInitiallyExpanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":279,"character":3}}]}],"slotWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":280,"character":3}}]}],"datesAboveResources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":281,"character":3}}]}],"googleCalendarApiKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":282,"character":3}}]}],"refetchResourcesOnNavigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":283,"character":3}}]}],"eventResourceEditable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":284,"character":3}}]}],"windowResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":286,"character":3}}]}],"dateClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":287,"character":3}}]}],"eventClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":288,"character":3}}]}],"eventMouseEnter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":289,"character":3}}]}],"eventMouseLeave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":290,"character":3}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":291,"character":3}}]}],"unselect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":292,"character":3}}]}],"loading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":293,"character":3}}]}],"eventPositioned":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":294,"character":3}}]}],"eventDragStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":295,"character":3}}]}],"eventDragStop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":296,"character":3}}]}],"eventDrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":297,"character":3}}]}],"eventResizeStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":298,"character":3}}]}],"eventResizeStop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":299,"character":3}}]}],"eventResize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":300,"character":3}}]}],"drop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":301,"character":3}}]}],"eventReceive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":302,"character":3}}]}],"eventLeave":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":303,"character":3}}]}],"_destroyed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":304,"character":3}}]}],"viewSkeletonRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":306,"character":3}}]}],"viewSkeletonDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":307,"character":3}}]}],"datesRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":308,"character":3}}]}],"datesDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":309,"character":3}}]}],"dayRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":310,"character":3}}]}],"eventRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":311,"character":3}}]}],"eventDestroy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":312,"character":3}}]}],"resourceRender":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":313,"character":3}}]}]}},"FullCalendarModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FullCalendarComponent"}],"imports":[],"exports":[{"__symbolic":"reference","name":"FullCalendarComponent"}]}]}],"members":{}}},"origins":{"FullCalendarComponent":"./lib/fullcalendar.component","FullCalendarModule":"./lib/fullcalendar.module"},"importAs":"@fullcalendar/angular"} |
export declare const INPUT_NAMES: string[]; | ||
export declare const EVENT_NAMES: string[]; | ||
export declare const INPUT_IS_DEEP: { | ||
header: boolean; | ||
footer: boolean; | ||
events: boolean; | ||
eventSources: boolean; | ||
resources: boolean; | ||
}; | ||
export declare const OUTPUT_NAMES: string[]; |
@@ -1,2 +0,2 @@ | ||
import { ElementRef, EventEmitter, SimpleChanges, AfterViewInit, OnChanges, OnDestroy } from '@angular/core'; | ||
import { ElementRef, EventEmitter, SimpleChanges, AfterViewInit, DoCheck, OnChanges, AfterContentChecked, OnDestroy } from '@angular/core'; | ||
import { Calendar, BusinessHoursInput, ConstraintInput, EventApi, PluginDef } from '@fullcalendar/core'; | ||
@@ -10,10 +10,15 @@ import { ToolbarInput, CustomButtonInput, ButtonIconsInput, CellInfo, ButtonTextCompoundInput, ViewOptionsInput } from '@fullcalendar/core/types/input-types'; | ||
import { OverlapFunc, AllowFunc } from '@fullcalendar/core/validation'; | ||
import { EventSourceInput, EventInputTransformer } from '@fullcalendar/core/structs/event-source'; | ||
export declare class FullCalendarComponent implements AfterViewInit, OnChanges, OnDestroy { | ||
import { EventSourceInput, EventInputTransformer, EventSourceErrorResponseHandler, EventSourceSuccessResponseHandler } from '@fullcalendar/core/structs/event-source'; | ||
export declare class FullCalendarComponent implements AfterViewInit, DoCheck, OnChanges, AfterContentChecked, OnDestroy { | ||
private element; | ||
deepChangeDetection?: boolean; | ||
private calendar; | ||
private dirtyProps; | ||
private deepCopies; | ||
constructor(element: ElementRef); | ||
ngAfterViewInit(): void; | ||
buildOptions(): {}; | ||
private buildOptions; | ||
ngDoCheck(): void; | ||
ngOnChanges(changes: SimpleChanges): void; | ||
ngAfterContentChecked(): void; | ||
ngOnDestroy(): void; | ||
@@ -97,2 +102,3 @@ getApi(): Calendar; | ||
selectAllow?: AllowFunc; | ||
selectMinDistance?: number; | ||
editable?: boolean; | ||
@@ -129,2 +135,11 @@ eventStartEditable?: boolean; | ||
timeGridEventMinHeight?: number; | ||
allDayHtml?: string; | ||
eventDragMinDistance?: number; | ||
eventSourceFailure?: EventSourceErrorResponseHandler; | ||
eventSourceSuccess?: EventSourceSuccessResponseHandler; | ||
forceEventDuration?: boolean; | ||
progressiveEventRendering?: boolean; | ||
selectLongPressDelay?: number; | ||
timeZoneParam?: string; | ||
titleRangeSeparator?: string; | ||
buttonText?: ButtonTextCompoundInput; | ||
@@ -149,5 +164,4 @@ views?: { | ||
googleCalendarApiKey?: string; | ||
datesRender: EventEmitter<any>; | ||
datesDestroy: EventEmitter<any>; | ||
dayRender: EventEmitter<any>; | ||
refetchResourcesOnNavigate?: boolean; | ||
eventResourceEditable?: boolean; | ||
windowResize: EventEmitter<any>; | ||
@@ -161,5 +175,3 @@ dateClick: EventEmitter<any>; | ||
loading: EventEmitter<any>; | ||
eventRender: EventEmitter<any>; | ||
eventPositioned: EventEmitter<any>; | ||
eventDestroy: EventEmitter<any>; | ||
eventDragStart: EventEmitter<any>; | ||
@@ -174,6 +186,11 @@ eventDragStop: EventEmitter<any>; | ||
eventLeave: EventEmitter<any>; | ||
_destroyed: EventEmitter<any>; | ||
viewSkeletonRender: EventEmitter<any>; | ||
viewSkeletonDestroy: EventEmitter<any>; | ||
_destroyed: EventEmitter<any>; | ||
datesRender: EventEmitter<any>; | ||
datesDestroy: EventEmitter<any>; | ||
dayRender: EventEmitter<any>; | ||
eventRender: EventEmitter<any>; | ||
eventDestroy: EventEmitter<any>; | ||
resourceRender: EventEmitter<any>; | ||
} |
{ | ||
"name": "@fullcalendar/angular", | ||
"version": "4.1.1", | ||
"version": "4.2.0", | ||
"title": "FullCalendar Angular Component", | ||
@@ -18,3 +18,5 @@ "description": "An official FullCalendar component for Angular", | ||
"dependencies": { | ||
"@fullcalendar/core": "~4.1.0", | ||
"@fullcalendar/core": "~4.2.0", | ||
"deep-copy": "^1.4.2", | ||
"fast-deep-equal": "^2.0.1", | ||
"tslib": "^1.9.0" | ||
@@ -21,0 +23,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
366301
3860
6
+ Addeddeep-copy@^1.4.2
+ Addedfast-deep-equal@^2.0.1
+ Added@fullcalendar/core@4.2.0(transitive)
+ Addeddeep-copy@1.4.2(transitive)
+ Addedfast-deep-equal@2.0.1(transitive)
- Removed@fullcalendar/core@4.1.0(transitive)
Updated@fullcalendar/core@~4.2.0