text: /**
   * angular-bootstrap-calendar - A pure AngularJS bootstrap themed responsive calendar that can display events and has views for year, month, week and day
   * @version v0.20.0
   * @link https://github.com/mattlewis92/angular-bootstrap-calendar
   * @license MIT
   */
  !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("angular"),require("moment"),function(){try{return require("interact.js")}catch(e){}}()):"function"==typeof define&&define.amd?define(["angular","moment","interact"],t):"object"==typeof exports?exports.angularBootstrapCalendarModuleName=t(require("angular"),require("moment"),function(){try{return require("interact.js")}catch(e){}}()):e.angularBootstrapCalendarModuleName=t(e.angular,e.moment,e.interact)}(this,function(e,t,n){return function(e){function t(a){if(n[a])return n[a].exports;var r=n[a]={exports:{},id:a,loaded:!1};return e[a].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function a(e){e.keys().forEach(e)}n(2);var r=n(1),i={};e.exports=r.module("mwl.calendar",[]).config(["calendarConfig",function(e){r.forEach(i,function(t,n){e.templates[n]||(e.templates[n]=t.cacheTemplateName)})}]).run(["$templateCache","$interpolate",function(e,t){r.forEach(i,function(n){if(!e.get(n.cacheTemplateName)){var a=n.template.replace("{{",t.startSymbol()).replace("}}",t.endSymbol());e.put(n.cacheTemplateName,a)}})}]).name,a(n(26)),a(n(27)),a(n(28))},function(t,n){t.exports=e},function(e,t){},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarCtrl",["$scope","$log","$timeout","$attrs","$locale","moment","calendarTitle","calendarHelper",function(e,t,n,r,i,o,l,s){function d(e){return e.startsAt||t.warn("Bootstrap calendar: ","Event is missing the startsAt field",e),a.isDate(e.startsAt)||t.warn("Bootstrap calendar: ","Event startsAt should be a javascript date object. Do `new Date(event.startsAt)` to fix it.",e),a.isDefined(e.endsAt)&&(a.isDate(e.endsAt)||t.warn("Bootstrap calendar: ","Event endsAt should be a javascript date object. Do `new Date(event.endsAt)` to fix it.",e),o(e.startsAt).isAfter(o(e.endsAt))&&t.warn("Bootstrap calendar: ","Event cannot start after it finishes",e)),!0}function c(){l[u.view]&&a.isDefined(r.viewTitle)&&(u.viewTitle=l[u.view](u.viewDate)),u.events=u.events.filter(d).map(function(e,t){return Object.defineProperty(e,"$id",{enumerable:!1,configurable:!0,value:t}),e});var t=o(u.viewDate),i=!0;f.clone().startOf(u.view).isSame(t.clone().startOf(u.view))&&!f.isSame(t)&&u.view===m&&(i=!1),f=t,m=u.view,i&&n(function(){e.$broadcast("calendar.refreshView")})}var u=this;u.events=u.events||[],u.changeView=function(e,t){u.view=e,u.viewDate=t},u.dateClicked=function(e){var t=o(e).toDate(),n={year:"month",month:"day",week:"day"};u.onViewChangeClick({calendarDate:t,calendarNextView:n[u.view]})!==!1&&u.changeView(n[u.view],t)};var f=o(u.viewDate),m=u.view;s.loadTemplates().then(function(){u.templatesLoaded=!0;var t=!1;e.$watchGroup(["vm.viewDate","vm.view","vm.cellIsOpen",function(){return o.locale()+i.id}],function(){t?c():(t=!0,e.$watch("vm.events",c,!0))})})["catch"](function(e){t.error("Could not load all calendar templates",e)})}]).directive("mwlCalendar",["calendarConfig",function(e){return{templateUrl:e.templates.calendar,restrict:"E",scope:{events:"=",view:"=",viewTitle:"=?",viewDate:"=",editEventHtml:"=?",deleteEventHtml:"=?",cellIsOpen:"=?",slideBoxDisabled:"=?",onEventClick:"&",onEventTimesChanged:"&",onEditEventClick:"&",onDeleteEventClick:"&",onTimespanClick:"&",onDateRangeSelect:"&?",onViewChangeClick:"&",cellModifier:"&",dayViewStart:"@",dayViewEnd:"@",dayViewSplit:"@",dayViewEventChunkSize:"@"},controller:"MwlCalendarCtrl as vm",bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarDayCtrl",["$scope","$sce","moment","calendarHelper",function(e,t,n,a){var r=this;r.$sce=t,e.$on("calendar.refreshView",function(){r.dayViewSplit=r.dayViewSplit||30,r.dayViewHeight=a.getDayViewHeight(r.dayViewStart,r.dayViewEnd,r.dayViewSplit);var e=a.getDayView(r.events,r.viewDate,r.dayViewStart,r.dayViewEnd,r.dayViewSplit);r.allDayEvents=e.filter(function(e){return e.allDay}),r.nonAllDayEvents=e.filter(function(e){return!e.allDay})}),r.eventDragComplete=function(e,t){var a=t*r.dayViewSplit,i=n(e.startsAt).add(a,"minutes"),o=n(e.endsAt).add(a,"minutes");delete e.tempStartsAt,r.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:i.toDate(),calendarNewEventEnd:e.endsAt?o.toDate():null})},r.eventDragged=function(e,t){var a=t*r.dayViewSplit;e.tempStartsAt=n(e.startsAt).add(a,"minutes").toDate()},r.eventResizeComplete=function(e,t,a){var i=a*r.dayViewSplit,o=n(e.startsAt),l=n(e.endsAt);"start"===t?o.add(i,"minutes"):l.add(i,"minutes"),delete e.tempStartsAt,r.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:o.toDate(),calendarNewEventEnd:l.toDate()})},r.eventResized=function(e,t,a){var i=a*r.dayViewSplit;"start"===t&&(e.tempStartsAt=n(e.startsAt).add(i,"minutes").toDate())}}]).directive("mwlCalendarDay",["calendarConfig",function(e){return{templateUrl:e.templates.calendarDayView,restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",onTimespanClick:"=",onDateRangeSelect:"=",dayViewStart:"=",dayViewEnd:"=",dayViewSplit:"=",dayViewEventChunkSize:"="},controller:"MwlCalendarDayCtrl as vm",bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarHourListCtrl",["$scope","$attrs","moment","calendarConfig","calendarHelper",function(e,t,n,a,r){function i(){o=n(s.dayViewStart||"00:00","HH:mm"),l=n(s.dayViewEnd||"23:00","HH:mm"),s.dayViewSplit=parseInt(s.dayViewSplit),s.hours=[];var e=n(s.viewDate).clone();t.dayWidth&&(e=e.startOf("week")),e.hours(o.hours()).minutes(o.minutes()).seconds(o.seconds());for(var i=0;i<=l.diff(o,"hours");i++)s.hours.push({label:r.formatDate(e,a.dateFormats.hour),date:e.clone()}),e.add(1,"hour");s.hourChunks=[];for(var d=0;d<60/s.dayViewSplit;d++)s.hourChunks.push(d)}var o,l,s=this,d=n.locale();e.$on("calendar.refreshView",function(){d!==n.locale()&&(d=n.locale(),i())}),e.$watchGroup(["vm.dayViewStart","vm.dayViewEnd","vm.dayViewSplit","vm.viewDate"],function(){i()}),s.eventDropped=function(e,t){var a=n(t),i=r.adjustEndDateFromStartDiff(e.startsAt,a,e.endsAt);s.onEventTimesChanged({calendarEvent:e,calendarDate:t,calendarNewEventStart:a.toDate(),calendarNewEventEnd:i?i.toDate():null})},s.getClickedDate=function(e,t,a){return n(e).clone().add(t,"minutes").add(a||0,"days").toDate()},s.onDragSelectStart=function(e){s.dateRangeSelect={startDate:e,endDate:e}},s.onDragSelectMove=function(e){s.dateRangeSelect&&(s.dateRangeSelect.endDate=e)},s.onDragSelectEnd=function(e){s.dateRangeSelect.endDate=e,s.dateRangeSelect.endDate>s.dateRangeSelect.startDate&&s.onDateRangeSelect({calendarRangeStartDate:s.dateRangeSelect.startDate,calendarRangeEndDate:s.dateRangeSelect.endDate}),delete s.dateRangeSelect}}]).directive("mwlCalendarHourList",["calendarConfig",function(e){return{restrict:"E",templateUrl:e.templates.calendarHourList,controller:"MwlCalendarHourListCtrl as vm",scope:{viewDate:"=",dayViewStart:"=",dayViewEnd:"=",dayViewSplit:"=",dayWidth:"=?",onTimespanClick:"=",onDateRangeSelect:"=",onEventTimesChanged:"="},bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarMonthCtrl",["$scope","moment","calendarHelper","calendarConfig",function(e,t,n,a){var r=this;r.calendarConfig=a,r.openRowIndex=null,e.$on("calendar.refreshView",function(){r.weekDays=n.getWeekDayNames(),r.view=n.getMonthView(r.events,r.viewDate,r.cellModifier);var e=Math.floor(r.view.length/7);r.monthOffsets=[];for(var a=0;e>a;a++)r.monthOffsets.push(7*a);r.cellIsOpen&&null===r.openRowIndex&&(r.openDayIndex=null,r.view.forEach(function(e){e.inMonth&&t(r.viewDate).startOf("day").isSame(e.date)&&r.dayClicked(e,!0)}))}),r.dayClicked=function(e,t,n){if(t||(r.onTimespanClick({calendarDate:e.date.toDate(),calendarCell:e,$event:n}),!n||!n.defaultPrevented)){r.openRowIndex=null;var a=r.view.indexOf(e);a===r.openDayIndex?(r.openDayIndex=null,r.cellIsOpen=!1):(r.openDayIndex=a,r.openRowIndex=Math.floor(a/7),r.cellIsOpen=!0)}},r.highlightEvent=function(e,t){r.view.forEach(function(n){if(delete n.highlightClass,t){var a=n.events.indexOf(e)>-1;a&&(n.highlightClass="day-highlight dh-event-"+e.type)}})},r.handleEventDrop=function(e,a,i){var o=t(e.startsAt).date(t(a).date()).month(t(a).month()).year(t(a).year()),l=n.adjustEndDateFromStartDiff(e.startsAt,o,e.endsAt);r.onEventTimesChanged({calendarEvent:e,calendarDate:a,calendarNewEventStart:o.toDate(),calendarNewEventEnd:l?l.toDate():null,calendarDraggedFromDate:i})}}]).directive("mwlCalendarMonth",["calendarConfig",function(e){return{templateUrl:e.templates.calendarMonthView,restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEditEventClick:"=",onDeleteEventClick:"=",onEventTimesChanged:"=",editEventHtml:"=",deleteEventHtml:"=",cellIsOpen:"=",onTimespanClick:"=",cellModifier:"=",slideBoxDisabled:"="},controller:"MwlCalendarMonthCtrl as vm",link:function(e,t,n,a){e.vm.calendarCtrl=a},bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarSlideBoxCtrl",["$sce","$scope","$timeout","calendarConfig",function(e,t,n,a){var r=this;r.$sce=e,r.calendarConfig=a,r.isCollapsed=!0,t.$watch("vm.isOpen",function(e){n(function(){r.isCollapsed=!e})})}]).directive("mwlCalendarSlideBox",["calendarConfig",function(e){return{restrict:"E",templateUrl:e.templates.calendarSlideBox,replace:!0,controller:"MwlCalendarSlideBoxCtrl as vm",require:["^?mwlCalendarMonth","^?mwlCalendarYear"],link:function(e,t,n,a){e.isMonthView=!!a[0],e.isYearView=!!a[1]},scope:{isOpen:"=",events:"=",onEventClick:"=",editEventHtml:"=",onEditEventClick:"=",deleteEventHtml:"=",onDeleteEventClick:"="},bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarWeekCtrl",["$scope","$sce","moment","calendarHelper","calendarConfig",function(e,t,n,a,r){var i=this;i.showTimes=r.showTimesOnWeekView,i.$sce=t,e.$on("calendar.refreshView",function(){i.dayViewSplit=i.dayViewSplit||30,i.dayViewHeight=a.getDayViewHeight(i.dayViewStart,i.dayViewEnd,i.dayViewSplit),i.showTimes?i.view=a.getWeekViewWithTimes(i.events,i.viewDate,i.dayViewStart,i.dayViewEnd,i.dayViewSplit):i.view=a.getWeekView(i.events,i.viewDate)}),i.weekDragged=function(e,t,a){var r=n(e.startsAt).add(t,"days"),o=n(e.endsAt).add(t,"days");if(a){var l=a*i.dayViewSplit;r=r.add(l,"minutes"),o=o.add(l,"minutes")}delete e.tempStartsAt,i.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:r.toDate(),calendarNewEventEnd:e.endsAt?o.toDate():null})},i.eventDropped=function(e,t){var a=n(t).diff(n(e.startsAt),"days");i.weekDragged(e,a)},i.weekResized=function(e,t,a){var r=n(e.startsAt),o=n(e.endsAt);"start"===t?r.add(a,"days"):o.add(a,"days"),i.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:r.toDate(),calendarNewEventEnd:o.toDate()})},i.tempTimeChanged=function(e,t){var a=t*i.dayViewSplit;e.tempStartsAt=n(e.startsAt).add(a,"minutes").toDate()}}]).directive("mwlCalendarWeek",["calendarConfig",function(e){return{templateUrl:e.templates.calendarWeekView,restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",dayViewStart:"=",dayViewEnd:"=",dayViewSplit:"=",dayViewEventChunkSize:"=",onTimespanClick:"="},controller:"MwlCalendarWeekCtrl as vm",link:function(e,t,n,a){e.vm.calendarCtrl=a},bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCalendarYearCtrl",["$scope","moment","calendarHelper",function(e,t,n){var a=this;a.openMonthIndex=null,e.$on("calendar.refreshView",function(){a.view=n.getYearView(a.events,a.viewDate,a.cellModifier),a.cellIsOpen&&null===a.openMonthIndex&&(a.openMonthIndex=null,a.view.forEach(function(e){t(a.viewDate).startOf("month").isSame(e.date)&&a.monthClicked(e,!0)}))}),a.monthClicked=function(e,t,n){if(t||(a.onTimespanClick({calendarDate:e.date.toDate(),calendarCell:e,$event:n}),!n||!n.defaultPrevented)){a.openRowIndex=null;var r=a.view.indexOf(e);r===a.openMonthIndex?(a.openMonthIndex=null,a.cellIsOpen=!1):(a.openMonthIndex=r,a.openRowIndex=Math.floor(r/4),a.cellIsOpen=!0)}},a.handleEventDrop=function(e,r){var i=t(e.startsAt).month(t(r).month()).year(t(r).year()),o=n.adjustEndDateFromStartDiff(e.startsAt,i,e.endsAt);a.onEventTimesChanged({calendarEvent:e,calendarDate:r,calendarNewEventStart:i.toDate(),calendarNewEventEnd:o?o.toDate():null})}}]).directive("mwlCalendarYear",["calendarConfig",function(e){return{templateUrl:e.templates.calendarYearView,restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",onEditEventClick:"=",onDeleteEventClick:"=",editEventHtml:"=",deleteEventHtml:"=",cellIsOpen:"=",onTimespanClick:"=",cellModifier:"=",slideBoxDisabled:"="},controller:"MwlCalendarYearCtrl as vm",link:function(e,t,n,a){e.vm.calendarCtrl=a},bindToController:!0}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlCollapseFallbackCtrl",["$scope","$attrs","$element",function(e,t,n){e.$watch(t.mwlCollapseFallback,function(e){e?n.addClass("ng-hide"):n.removeClass("ng-hide")})}]).directive("mwlCollapseFallback",["$injector",function(e){return e.has("uibCollapseDirective")?{}:{restrict:"A",controller:"MwlCollapseFallbackCtrl"}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlDateModifierCtrl",["$element","$attrs","$scope","moment",function(e,t,n,r){function i(){a.isDefined(t.setToToday)?o.date=new Date:a.isDefined(t.increment)?o.date=r(o.date).add(1,o.increment).toDate():a.isDefined(t.decrement)&&(o.date=r(o.date).subtract(1,o.decrement).toDate()),n.$apply()}var o=this;e.bind("click",i),n.$on("$destroy",function(){e.unbind("click",i)})}]).directive("mwlDateModifier",function(){return{restrict:"A",controller:"MwlDateModifierCtrl as vm",scope:{date:"=",increment:"=",decrement:"="},bindToController:!0}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlDragSelectCtrl",["$scope","$element","$parse","$attrs",function(e,t,n,a){function r(t){return function(a){t&&(n(t)(e),e.$apply()),a.preventDefault()}}function i(){t.on("mousedown",l),t.on("mousemove",s),t.on("mouseup",d)}function o(){t.off("mousedown",l),t.off("mousemove",s),t.off("mouseup",d)}var l=r(a.onDragSelectStart),s=r(a.onDragSelectMove),d=r(a.onDragSelectEnd);e.$watch(a.mwlDragSelect,function(e){e?i():o()}),e.$on("$destroy",function(){o()})}]).directive("mwlDragSelect",function(){return{restrict:"A",controller:"MwlDragSelectCtrl"}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlDraggableCtrl",["$element","$scope","$window","$parse","$attrs","$timeout","interact",function(e,t,n,r,i,o,l){function s(e,t){return e.css("-ms-transform",t).css("-webkit-transform",t).css("transform",t)}if(l){var d,c;i.snapGrid&&(c=r(i.snapGrid)(t),d={targets:[l.createSnapGrid(c)]}),l(e[0]).draggable({snap:d,onstart:function(e){a.element(e.target).addClass("dragging-active"),e.target.dropData=r(i.dropData)(t),e.target.style.pointerEvents="none",i.onDragStart&&(r(i.onDragStart)(t),t.$apply())},onmove:function(e){var o=a.element(e.target),l=(parseFloat(o.attr("data-x"))||0)+(e.dx||0),d=(parseFloat(o.attr("data-y"))||0)+(e.dy||0);switch(r(i.axis)(t)){case"x":d=0;break;case"y":l=0}"static"===n.getComputedStyle(o[0]).position&&o.css("position","relative"),s(o,"translate("+l+"px, "+d+"px)").css("z-index",50).attr("data-x",l).attr("data-y",d),i.onDrag&&(r(i.onDrag)(t,{x:l,y:d}),t.$apply())},onend:function(e){var n=a.element(e.target),l=n.attr("data-x"),d=n.attr("data-y");e.target.style.pointerEvents="auto",i.onDragEnd&&(r(i.onDragEnd)(t,{x:l,y:d}),t.$apply()),o(function(){s(n,"").css("z-index","auto").removeAttr("data-x").removeAttr("data-y").removeClass("dragging-active")})}}),t.$watch(i.mwlDraggable,function(t){l(e[0]).draggable({enabled:t})}),t.$on("$destroy",function(){l(e[0]).unset()})}}]).directive("mwlDraggable",function(){return{restrict:"A",controller:"MwlDraggableCtrl"}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlDroppableCtrl",["$element","$scope","$parse","$attrs","interact",function(e,t,n,r,i){if(i){var o=r.dropActiveClass||"drop-active";i(e[0]).dropzone({ondragenter:function(e){a.element(e.target).addClass(o)},ondragleave:function(e){a.element(e.target).removeClass(o)},ondropdeactivate:function(e){a.element(e.target).removeClass(o)},ondrop:function(e){e.relatedTarget.dropData&&(n(r.onDrop)(t,{dropData:e.relatedTarget.dropData}),t.$apply())}}),t.$on("$destroy",function(){i(e[0]).unset()})}}]).directive("mwlDroppable",function(){return{restrict:"A",controller:"MwlDroppableCtrl"}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlElementDimensionsCtrl",["$element","$scope","$parse","$attrs","$window",function(e,t,n,r,i){function o(){n(r.mwlElementDimensions).assign(t,{width:e[0].offsetWidth,height:e[0].offsetHeight}),t.$applyAsync()}var l=a.element(i);l.bind("resize",o),o(),t.$on("$destroy",function(){l.unbind("resize",o)})}]).directive("mwlElementDimensions",function(){return{restrict:"A",controller:"MwlElementDimensionsCtrl"}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").controller("MwlResizableCtrl",["$element","$scope","$parse","$attrs","$timeout","interact",function(e,t,n,r,i,o){function l(e,t){var n={};return n.edge=e,"start"===e?(n.x=t.data("x"),n.y=t.data("y")):"end"===e&&(n.x=parseFloat(t.css("width").replace("px",""))-u.width,n.y=parseFloat(t.css("height").replace("px",""))-u.height),n}if(o){var s,d;r.snapGrid&&(d=n(r.snapGrid)(t),s={targets:[o.createSnapGrid(d)]});var c,u={},f={};o(e[0]).resizable({edges:n(r.resizeEdges)(t),snap:s,onstart:function(e){c="end";var t=a.element(e.target);u.height=t[0].offsetHeight,u.width=t[0].offsetWidth,f.height=t.css("height"),f.width=t.css("width")},onmove:function(e){if(e.rect.width>0&&e.rect.height>0){var i=a.element(e.target),o=parseFloat(i.data("x")||0),s=parseFloat(i.data("y")||0);i.css({width:e.rect.width+"px",height:e.rect.height+"px"}),o+=e.deltaRect.left,s+=e.deltaRect.top,i.css("transform","translate("+o+"px,"+s+"px)"),i.data("x",o),i.data("y",s),(0!==e.deltaRect.left||0!==e.deltaRect.top)&&(c="start"),r.onResize&&(n(r.onResize)(t,l(c,i)),t.$apply())}},onend:function(e){var o=a.element(e.target),s=l(c,o);i(function(){o.data("x",null).data("y",null).css({transform:"",width:f.width,height:f.height})}),r.onResizeEnd&&(n(r.onResizeEnd)(t,s),t.$apply())}}),t.$watch(r.mwlResizable,function(t){o(e[0]).resizable({enabled:t})}),t.$on("$destroy",function(){o(e[0]).unset()})}}]).directive("mwlResizable",function(){return{restrict:"A",controller:"MwlResizableCtrl"}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").filter("calendarDate",["calendarHelper","calendarConfig",function(e,t){function n(n,a,r){return r===!0&&(a=t.dateFormats[a]),e.formatDate(n,a)}return n.$stateful=!0,n}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").filter("calendarLimitTo",["limitToFilter",function(e){return a.version.minor>=4?e:function(e,t,n){return t=Math.abs(Number(t))===1/0?Number(t):parseInt(t),isNaN(t)?e:(a.isNumber(e)&&(e=e.toString()),a.isArray(e)||a.isString(e)?(n=!n||isNaN(n)?0:parseInt(n),n=0>n&&n>=-e.length?e.length+n:n,t>=0?e.slice(n,n+t):0===n?e.slice(t,e.length):e.slice(Math.max(0,n+t),n)):e)}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").filter("calendarTruncateEventTitle",function(){return function(e,t,n){return e?e.length>=t&&e.length/20>n/30?e.substr(0,t)+"...":e:""}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").filter("calendarTrustAsHtml",["$sce",function(e){return function(t){return e.trustAsHtml(t)}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").constant("calendarConfig",{allDateFormats:{angular:{date:{hour:"ha",day:"d MMM",month:"MMMM",weekDay:"EEEE",time:"HH:mm",datetime:"MMM d, h:mm a"},title:{day:"EEEE d MMMM, yyyy",week:"Week {week} of {year}",month:"MMMM yyyy",year:"yyyy"}},moment:{date:{hour:"ha",day:"D MMM",month:"MMMM",weekDay:"dddd",time:"HH:mm",datetime:"MMM D, h:mm a"},title:{day:"dddd D MMMM, YYYY",week:"Week {week} of {year}",month:"MMMM YYYY",year:"YYYY"}}},get dateFormats(){return this.allDateFormats[this.dateFormatter].date},get titleFormats(){return this.allDateFormats[this.dateFormatter].title},dateFormatter:"angular",displayEventEndTimes:!1,showTimesOnWeekView:!1,displayAllMonthEvents:!1,i18nStrings:{weekNumber:"Week {week}"},templates:{}})},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").factory("calendarHelper",["$q","$templateRequest","dateFilter","moment","calendarConfig",function(e,t,n,a,r){function i(e,t){if("angular"===r.dateFormatter)return n(a(e).toDate(),t);if("moment"===r.dateFormatter)return a(e).format(t);throw new Error("Unknown date formatter: "+r.dateFormatter)}function o(e,t,n){if(!n)return n;var r=a(t).diff(a(e));return a(n).add(r)}function l(e,t,n){var r=a(e.start),i=a(e.end),l=a(n);if(t){switch(t){case"year":r.set({year:l.year()});break;case"month":r.set({year:l.year(),month:l.month()});break;default:throw new Error("Invalid value ("+t+") given for recurs on. Can only be year or month.")}i=o(e.start,r,i)}return{start:r,end:i}}function s(e,t,n){t=a(t),n=a(n);var r=l({start:e.startsAt,end:e.endsAt||e.startsAt},e.recursOn,t),i=r.start,o=r.end;return i.isAfter(t)&&i.isBefore(n)||o.isAfter(t)&&o.isBefore(n)||i.isBefore(t)&&o.isAfter(n)||i.isSame(t)||o.isSame(n)}function d(e,t,n){return e.filter(function(e){return s(e,t,n)})}function c(e,t,n){var r=a(e).startOf(t),i=a(e).endOf(t);return d(n,r,i)}function u(e){return e.filter(function(e){return e.incrementsBadgeTotal!==!1}).length}function f(){for(var e=[],t=0;7>t;)e.push(i(a().weekday(t++),r.dateFormats.weekDay));return e}function m(e,t,n){for(var o=[],l=c(t,"year",e),s=a(t).startOf("year"),f=0;12>f;){var m=s.clone(),v=m.clone().endOf("month"),w=d(l,m,v),p={label:i(m,r.dateFormats.month),isToday:m.isSame(a().startOf("month")),events:w,date:m,badgeTotal:u(w)};n({calendarCell:p}),o.push(p),s.add(1,"month"),f++}return o}function v(e,t,n){var i,o=a(t).startOf("month"),l=o.clone().startOf("week"),s=a(t).endOf("month").endOf("week");i=r.displayAllMonthEvents?d(e,l,s):d(e,o,o.clone().endOf("month"));for(var c=[],f=a().startOf("day");l.isBefore(s);){var m=l.month()===a(t).month(),v=[];(m||r.displayAllMonthEvents)&&(v=d(i,l,l.clone().endOf("day")));var w={label:l.date(),date:l.clone(),inMonth:m,isPast:f.isAfter(l),isToday:f.isSame(l),isFuture:f.isBefore(l),isWeekend:[0,6].indexOf(l.day())>-1,events:v,badgeTotal:u(v)};n({calendarCell:w}),c.push(w),l.add(1,"day")}return c}function w(e,t){for(var n=a(t).startOf("week"),o=a(t).endOf("week"),s=n.clone(),c=[],u=a().startOf("day");c.length<7;)c.push({weekDayLabel:i(s,r.dateFormats.weekDay),date:s.clone(),dayLabel:i(s,r.dateFormats.day),isPast:s.isBefore(u),isToday:s.isSame(u),isFuture:s.isAfter(u),isWeekend:[0,6].indexOf(s.day())>-1}),s.add(1,"day");var f=d(e,n,o).map(function(e){var t,r=a(n).startOf("day"),i=a(o).startOf("day"),s=l({start:a(e.startsAt).startOf("day"),end:a(e.endsAt||e.startsAt).startOf("day")},e.recursOn,r),d=s.start,c=s.end;return t=d.isBefore(r)||d.isSame(r)?0:d.diff(r,"days"),c.isAfter(i)&&(c=i),d.isBefore(r)&&(d=r),e.daySpan=a(c).diff(d,"days")+1,e.dayOffset=t,e});return{days:c,events:f}}function p(e,t,n,r,i){var o=a(n||"00:00","HH:mm").hours(),l=a(r||"23:00","HH:mm").hours(),c=60/i*30,u=a(t).startOf("day").add(o,"hours"),f=a(t).startOf("day").add(l+1,"hours"),m=(l-o+1)*c,v=c/60,w=[],p=d(e,a(t).startOf("day").toDate(),a(t).endOf("day").toDate());return p.map(function(e){if(a(e.startsAt).isBefore(u)?e.top=0:e.top=a(e.startsAt).startOf("minute").diff(u.startOf("minute"),"minutes")*v-2,a(e.endsAt||e.startsAt).isAfter(f))e.height=m-e.top;else{var t=e.startsAt;a(e.startsAt).isBefore(u)&&(t=u.toDate()),e.endsAt?e.height=a(e.endsAt).diff(a(t),"minutes")*v:e.height=30}return e.top-e.height>m&&(e.height=0),e.left=0,e}).filter(function(e){return e.height>0}).map(function(e){var t=!0;return w.forEach(function(n,a){var r=!0;n.filter(function(e){return!e.allDay}).forEach(function(t){(s(e,t.startsAt,t.endsAt||t.startsAt)||s(t,e.startsAt,e.endsAt||e.startsAt))&&(r=!1)}),r&&t&&(t=!1,e.left=150*a,w[a].push(e))}),t&&(e.left=150*w.length,w.push([e])),e})}function h(e,t,n,r,i){var o=w(e,t),l=[];return o.days.forEach(function(e){var t=o.events.filter(function(t){return a(t.startsAt).startOf("day").isSame(a(e.date).startOf("day"))}),s=p(t,e.date,n,r,i);l=l.concat(s)}),o.events=l,o}function y(e,t,n){var r=a(e||"00:00","HH:mm"),i=a(t||"23:00","HH:mm"),o=60/n*30;return(i.diff(r,"hours")+1)*o+2}function g(){var n=Object.keys(r.templates).map(function(e){var n=r.templates[e];return t(n)});return e.all(n)}return{getWeekDayNames:f,getYearView:m,getMonthView:v,getWeekView:w,getDayView:p,getWeekViewWithTimes:h,getDayViewHeight:y,adjustEndDateFromStartDiff:o,formatDate:i,loadTemplates:g,eventIsInPeriod:s}}])},function(e,t,n){"use strict";var a=n(1);a.module("mwl.calendar").factory("calendarTitle",["moment","calendarConfig","calendarHelper",function(e,t,n){function a(e){return n.formatDate(e,t.titleFormats.day)}function r(n){return t.titleFormats.week.replace("{week}",e(n).isoWeek()).replace("{year}",e(n).startOf("week").format("YYYY"))}function i(e){return n.formatDate(e,t.titleFormats.month)}function o(e){return n.formatDate(e,t.titleFormats.year)}return{day:a,week:r,month:i,year:o}}])},function(e,t,n){"use strict";var a,r=n(1);try{a=n(30)}catch(i){a=null}r.module("mwl.calendar").constant("interact",a)},function(e,t,n){"use strict";var a=n(1),r=n(29);a.module("mwl.calendar").constant("moment",r)},function(e,t,n){function a(e){return n(r(e))}function r(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./mwlCalendar.js":3,"./mwlCalendarDay.js":4,"./mwlCalendarHourList.js":5,"./mwlCalendarMonth.js":6,"./mwlCalendarSlideBox.js":7,"./mwlCalendarWeek.js":8,"./mwlCalendarYear.js":9,"./mwlCollapseFallback.js":10,"./mwlDateModifier.js":11,"./mwlDragSelect.js":12,"./mwlDraggable.js":13,"./mwlDroppable.js":14,"./mwlElementDimensions.js":15,"./mwlResizable.js":16};a.keys=function(){return Object.keys(i)},a.resolve=r,e.exports=a,a.id=26},function(e,t,n){function a(e){return n(r(e))}function r(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./calendarDate.js":17,"./calendarLimitTo.js":18,"./calendarTruncateEventTitle.js":19,"./calendarTrustAsHtml.js":20};a.keys=function(){return Object.keys(i)},a.resolve=r,e.exports=a,a.id=27},function(e,t,n){function a(e){return n(r(e))}function r(e){return i[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var i={"./calendarConfig.js":21,"./calendarHelper.js":22,"./calendarTitle.js":23,"./interact.js":24,"./moment.js":25};a.keys=function(){return Object.keys(i)},a.resolve=r,e.exports=a,a.id=28},function(e,n){e.exports=t},function(e,t){if("undefined"==typeof n){var a=new Error('Cannot find module "undefined"');throw a.code="MODULE_NOT_FOUND",a}e.exports=n}])});
  //# sourceMappingURL=angular-bootstrap-calendar.min.js.map