diff --git a/UI/WebServerResources/js/Common.js b/UI/WebServerResources/js/Common.js
index 3c00a483b..417e1e2a3 100644
--- a/UI/WebServerResources/js/Common.js
+++ b/UI/WebServerResources/js/Common.js
@@ -1,2 +1,2 @@
-!function(){"use strict";angular.module("SOGo.Common",["ngAnimate","ngMessages","ngSanitize","ngMaterial","mdColors"]).value("sgSettings",{isPopup:document.body.classList.contains("popup"),baseURL:function(){return ApplicationBaseURL||null},resourcesURL:function(){return ResourcesURL||null},activeUser:function(e){var t={login:UserLogin||null,identification:UserIdentification||null,email:UserEmail||null,language:UserLanguage||null,folderURL:UserFolderURL||null,isSuperUser:IsSuperUser||null,path:{calendar:UserCalendarPath||null,contacts:UserContactsPath||null,mail:UserMailPath||null,preferences:UserPreferencesPath||null,administration:IsSuperUser?UserAdministrationPath:null,help:HelpURL||null,logoff:UserLogoffPath||null}};return e?t[e]:t},minimumSearchLength:function(){return angular.isNumber(minimumSearchLength)?minimumSearchLength:2}}).constant("sgColors",{selection:["#FFFFFF","#330033","#C0C0C0","#999999","#666666","#333333","#000000","#FFCCCC","#FF6666","#FF0000","#CC0000","#990000","#660000","#330000","#FFCC99","#FF9966","#FF9900","#FF6600","#CC6600","#993300","#663300","#FFFF99","#FFFF66","#FFCC66","#FFCC33","#CC9933","#996633","#663333","#FFFFCC","#FFFF33","#FFFF00","#FFCC00","#999900","#666600","#333300","#CCCCCC","#66FF99","#33FF33","#33CC00","#009900","#006600","#003300","#99FFFF","#33FFFF","#66CCCC","#00CCCC","#339999","#336666","#003333","#CCFFFF","#66FFFF","#33CCFF","#3366FF","#3333FF","#000099","#000066","#CCCCFF","#9999FF","#6666CC","#6633FF","#6600CC","#333399","#330099","#FFCCFF","#FF99FF","#CC66CC","#CC33CC","#993399","#663366","#99FF99"]}).constant("sgConstant",{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1023px)","gt-md":"(min-width: 1024px)",lg:"(min-width: 1024px) and (max-width: 1279px)","gt-lg":"(min-width: 1280px)",xl:"(min-width: 1920px)",print:"print"}).config(e).factory("AuthInterceptor",t).factory("ErrorInterceptor",n),e.$inject=["$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider"];function e(e,t,n,r,i){r.definePalette("sogo-green",{50:"eaf5e9",100:"cbe5c8",200:"aad6a5",300:"88c781",400:"66b86a",500:"56b04c",600:"4da143",700:"388e3c",800:"367d2e",900:"225e1b",A100:"fafafa",A200:"69f0ae",A400:"00e676",A700:"00c853",contrastDefaultColor:"dark",contrastLightColors:["300","400","500","600","700","800","900"]}),r.definePalette("sogo-blue",{50:"f0faf9",100:"e1f5f3",200:"ceebe8",300:"bfe0dd",400:"b2d6d3",500:"a1ccc8",600:"8ebfbb",700:"7db3b0",800:"639997",900:"4d8080",A100:"d4f7fa",A200:"c3f5fa",A400:"53e3f0",A700:"00b0c0",contrastDefaultColor:"light",contrastDarkColors:["50","100","200"]}),r.definePalette("sogo-paper",{50:"fcf7f8",100:"f7f1dc",200:"ede5ca",300:"e6d8ba",400:"e2d2a3",500:"d6c48d",600:"baa870",700:"857545",800:"524517",900:"433809",1000:"000000",A100:"ffffff",A200:"eeeeee",A400:"bdbdbd",A700:"616161",contrastDefaultColor:"dark",contrastLightColors:["800","900"]});var o=r.extendPalette("grey",{600:"00B0C0"});r.definePalette("sogo-grey",o),r.theme("default").primaryPalette("sogo-blue",{default:"900","hue-1":"400","hue-2":"800","hue-3":"A700"}).accentPalette("sogo-green",{default:"500","hue-1":"A100","hue-2":"300","hue-3":"A700"}).backgroundPalette("sogo-grey"),DebugEnabled||(e.debugEnabled(!1),t.debugInfoEnabled(!1),i.disableWarnings(),r.generateThemesOnDemand(!0)),n.interceptors.push("AuthInterceptor"),n.interceptors.push("ErrorInterceptor")}t.$inject=["$window","$q"];function t(e,t){return{response:function(n){return n&&/^application\/json/.test(n.config.headers.Accept)&&/^[\n\r ]*/.test(n.data)?(e.location.reload(!0),t.reject()):n}}}n.$inject=["$rootScope","$window","$q","$injector"];function n(e,t,n,r){return{responseError:function(i){var o,s;if(/^application\/json/.test(i.config.headers.Accept)){if(t.usesCASAuthentication&&-1==i.status)return o=n.defer(),(s=angular.element('')).on("load",function(){r.get("$http")(i.config).then(o.resolve,o.reject),s.remove()}),document.body.appendChild(s[0]),o.promise;t.usesSAML2Authentication&&401==i.status?t.location.reload(!0):e.$broadcast("http:Error",i)}return n.reject(i)}}}}(),function(){"use strict";var e;angular.module("mdColors",["ngMaterial"]).config(t).run(n),t.$inject=["$mdThemingProvider"];function t(t){e=t}n.$inject=["$interpolate","$document","$log"];function n(t,n,r){function i(e){return e.join("")}for(var o=t(i([".md-{{theme}}-theme",".md-fg"])+" { color:{{value}};}"),s=t(i([".md-{{theme}}-theme",".md-bg"])+" { background-color:{{value}};}"),a=t(i([".md-{{theme}}-theme",".md-bdr"])+" { border-color:{{value}};}"),l=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-fg"])+" { color:{{value}};}"),c=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),u=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-fg"])+" { color:{{value}};}"),d=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bg"])+" { background-color:{{value}}; color:{{contrast}} !important; }"),h=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bdr"])+" { border-color:{{value}};}"),m=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-fg"])+" { color:{{value}};}"),g=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),p=function(){var e=n[0].head.querySelector('style[title="Dynamic-Generated-by-mdColors"]');null===e&&((e=n[0].createElement("style")).title="Dynamic-Generated-by-mdColors",e.appendChild(n[0].createTextNode("")),n[0].head.appendChild(e));return e.sheet}(),f=0;p.cssRules.length>0;)p.deleteRule(0);angular.forEach(e._THEMES,function(t,n){y(o,s,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-2"]],"hue-2"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-3"]],"hue-3"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-1"]],"hue-1"),v(a,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),angular.forEach(t.colors,function(t,r){y(u,d,n,r,e._PALETTES[t.name][t.hues.default]),v(h,n,r,e._PALETTES[t.name][t.hues.default]),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-2"]],"hue-2"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-3"]],"hue-3"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-1"]],"hue-1")})});function y(e,t,n,r,i,o){if(i){var s={theme:n,palette:r,value:"rgb("+i.value[0]+","+i.value[1]+","+i.value[2]+")",contrast:"rgb("+i.contrast[0]+","+i.contrast[1]+","+i.contrast[2]+")",hue:o};p.insertRule(e(s),f),f+=1,p.insertRule(t(s),f),f+=1}}function v(e,t,n,r,i){if(r){var o="rgb("+r.value[0]+","+r.value[1]+","+r.value[2]+")";p.insertRule(e({theme:t,palette:n,value:o,hue:i}),f),f+=1}}}}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.decodeURIComponent}angular.module("SOGo.Common").filter("decodeUri",e)}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.encodeURIComponent}angular.module("SOGo.Common").filter("encodeUri",e)}(),function(){"use strict";e.$inject=["$sce"];function e(e){return function(t){var n=angular.element("
"+t+"
");return n.find("a").attr("target","_blank"),e.trustAs("html",n.html())}}angular.module("SOGo.Common").filter("ensureTarget",e)}(),function(){"use strict";angular.module("SOGo.Common").filter("loc",function(){return l})}(),function(){"use strict";angular.module("SOGo.Common").filter("range",function(){return function(e){for(var t=[],n=0;n"):void 0}}angular.module("SOGo.Common").filter("txt2html",e)}(),function(){"use strict";e.$inject=["$document","$timeout","$mdDialog","Dialog","usersWithACL","User","folder"];function e(e,t,n,r,i,o,s){var a=this;a.users=i,a.folder=s,a.selectedUser=null,a.selectedUid=null,a.userToAdd="",a.searchText="",a.folderClassName=function(){return!!angular.isFunction(s.getClassName)&&s.getClassName("bg")},a.templateName=function(t){return"UIx"+(e[0].getElementById("UIxAnonymousUserRightsEditor")&&t.$isAnonymous()?"Anonymous":"")+"UserRightsEditor"},a.userFilter=function(e){return o.$filter(e,s.$acl.users)},a.closeModal=function(){s.$acl.$resetUsersRights(),n.hide()},a.saveModal=function(){s.$acl.$saveUsersRights().then(function(){n.hide()},function(e,t){r.alert(l("Warning"),l("An error occured please try again."))})},a.confirmChange=function(e){var t=e.$confirmRights(a.folder);t&&(a.confirmation.showing=!0,a.confirmation.message=t)},a.removeUser=function(e){t(function(){s.$acl.$removeUser(e.uid)},500)},a.addUser=function(e){e&&s.$acl.$addUser(e).then(function(e){a.userToAdd="",a.searchText="",a.selectedUid=null,e&&c(e)})},a.selectAllRights=function(e){s.$acl.$selectAllRights(e)},a.selectUser=c,a.showRights=function(e){return a.selectedUid==e.uid&&!e.inactive},a.confirmation={showing:!1,message:""};function c(e,t){if(t&&t.target.parentNode.classList.contains("md-secondary"))return!1;a.selectedUid==e.uid?a.selectedUid=null:(a.selectedUid=e.uid,a.selectedUser=e,e.inactive||a.selectedUser.$rights())}}angular.module("SOGo.Common").controller("AclController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$timeout","$interval","$http","$window","$mdSidenav","$mdToast","$mdMedia","$log","sgConstant","sgSettings","Resource","Alarm"];function e(e,t,n,r,i,o,s,a,c,u,d,h,m,g){var p=new m(h.baseURL(),h.activeUser());this.$onInit=function(){t.isPopup=h.isPopup,t.activeUser=h.activeUser(),t.baseURL=h.baseURL(),t.leftIsClose=!c(d["gt-md"]),t.centerIsClose=!!o.centerIsClose&&!t.leftIsClose,t.currentDay=window.currentDay,n(function(){r(function(){i.get("../date").then(function(e){t.currentDay=e})},864e5)},1e3*window.currentDay.secondsBeforeTomorrow),t.$watch(function(){return c(d["gt-md"])},function(e){t.isGtMedium=e,e&&(t.leftIsClose=!1)}),e.$on("http:Error",f),h.activeUser("path").calendar&&g.getAlarms()},t.toggleLeft=function(){t.isGtMedium?t.leftIsClose=!t.leftIsClose:(t.leftIsClose=!s("left").isOpen(),t.leftIsClose&&angular.element(o).triggerHandler("resize"),s("left").toggle().then(function(){u.debug("toggle left is done")}))},t.toggleRight=function(){s("right").toggle().then(function(){u.debug("toggle right is done")})},t.toggleCenter=function(e){t.centerIsClose=!t.centerIsClose,e&&e.save&&p.post(null,"saveListState",{state:t.centerIsClose?"collapse":"rise"})};function f(e,t){var n;t.data&&t.data.message&&angular.isString(t.data.message)?n=t.data.message:t.status&&(n=t.statusText),n?a.show({template:["",' ',' error_outline '," "+l(n)+" ","
"," "].join(""),hideDelay:5e3,position:"top right"}):u.debug("untrap error")}}angular.module("SOGo.Common").controller("navController",e)}(),function(){"use strict";function e(e){this.folderId=e}e.factory=["$q","$timeout","sgSettings","Resource","User",function(t,n,r,i,o){return angular.extend(e,{$q:t,$timeout:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$User:o}),e}],angular.module("SOGo.Common").factory("Acl",e.factory),e.prototype.$users=function(t){var n,r=this,i=e.$q.defer();if(!this.users){return(angular.isDefined(t)?e.$$resource.userResource(t).fetch(this.folderId,"acls"):e.$$resource.fetch(this.folderId,"acls")).then(function(o){return r.users=[],angular.forEach(o.users,function(i){(n=new e.$User(i)).canSubscribeUser=n.isSubscribed,n.wasSubscribed=n.isSubscribed,n.$rights=angular.bind(n,n.$acl,r.folderId,t),r.users.push(n)}),i.resolve(r.users),r.users})}return i.resolve(this.users),i.promise},e.prototype.$addUser=function(t,n){var r=this,i=e.$q.defer(),o={uid:t.uid};if(!t.uid||_.indexOf(_.map(this.users,"uid"),t.uid)>-1)i.resolve();else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"addUserInAcls",o):e.$$resource.fetch(this.folderId,"addUserInAcls",o)).then(function(){t.wasSubscribed=!1,t.userClass=t.isGroup?"normal-group":"normal-user",t.$rights=angular.bind(t,t.$acl,r.folderId,n),r.users.push(t),i.resolve(t)},function(e,t){i.reject(l("An error occured please try again."))})}return i.promise},e.prototype.$removeUser=function(t,n){var r=this,i={uid:t};return(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"removeUserFromAcls",i):e.$$resource.fetch(this.folderId,"removeUserFromAcls",i)).then(function(){var e=_.indexOf(_.map(r.users,"uid"),t);e>=0&&(r.users[e].$shadowRights=null,r.users.splice(e,1))})},e.prototype.$selectAllRights=function(e){_.forEach(e.rights,function(t,n){angular.isNumber(e.rights[n])?e.rights[n]=1:e.rights[n]="Modifier"})},e.prototype.$resetUsersRights=function(){angular.forEach(this.users,function(e){e.$resetRights()})},e.prototype.$saveUsersRights=function(t){var n=this,r=e.$q.defer(),i=e.$q.defer(),o={action:"saveUserRights"},s=[];if(angular.forEach(this.users,function(e){e.$rightsAreDirty()&&s.push(e.$omit())}),s.length){(angular.isDefined(t)?e.$$resource.userResource(t).save(this.folderId,s,o):e.$$resource.save(this.folderId,s,o)).then(function(){angular.forEach(n.users,function(e){e.$rightsAreDirty()&&(e.$shadowRights=angular.copy(e.rights))}),r.resolve()},r.reject)}else r.resolve();return s=[],angular.forEach(this.users,function(e){!e.wasSubscribed&&e.isSubscribed&&s.push(e.uid)}),s.length?(o={uids:s.join(",")},e.$$resource.fetch(this.folderId,"subscribeUsers",o).then(function(){angular.forEach(n.users,function(e){e.wasSubscribed=e.isSubscribed}),i.resolve()},i.reject)):i.resolve(),e.$q.all([r.promise,i.promise])}}(),function(){"use strict";function e(){this.currentAlarm=null}e.getAlarms=function(){var t=this,n=new Date,r=Math.floor(n.getTime()/1e3);this.$$resource.fetch("","alarmslist?browserTime="+r).then(function(n){var r=n.alarms.sort(function(e,t){var n=parseInt(e[2]);return parseInt(t[2])-n});if(r.length>0){var i=r.pop(),o=new Date,s=Math.floor(o.getTime()/1e3),a=i[0]+"/"+i[1],l=parseInt(i[2]),c=l;l>0&&(c-=s);new Date(1e3*l);var u=angular.bind(t,e.showAlarm,a);t.currentAlarm&&t.$timeout.cancel(t.currentAlarm),t.currentAlarm=t.$timeout(u,1e3*c)}})},e.showAlarm=function(e){var t=this;this.$$resource.fetch(e,"?resetAlarm=yes").then(function(n){t.$toast.show({position:"top right",hideDelay:0,template:["",' ','
','
{{ summary }}
','
'," ",' {{ "Snooze for " | loc }} ',' ',' ',l("5 minutes")," ",' ',l("10 minutes")," ",' ',l("15 minutes")," ",' ',l("30 minutes")," ",' ',l("45 minutes")," ",' ',l("1 hour")," ",' ',l("1 day")," "," "," ",' ',l("Snooze")," ",' ',l("Close")," ","
","
","
"," "].join(""),locals:{url:e},controller:r}),r.$inject=["scope","$mdToast","url"];function r(e,r,i){e.summary=n.summary,e.reminder="10",e.close=function(){r.hide()},e.snooze=function(){t.$$resource.fetch(i,"view?snoozeAlarm="+e.reminder),r.hide()}}})},t.$inject=["$timeout","sgSettings","Resource","$mdToast"];function t(t,n,r,i){return angular.extend(e,{$timeout:t,$$resource:new r(n.activeUser("folderURL")+"Calendar",n.activeUser()),$toast:i}),e}angular.module("SOGo.Common").factory("Alarm",t)}(),function(){"use strict";angular.module("SOGo.Authentication",["ngCookies"]).constant("passwordPolicyConfig",{PolicyPasswordChangeUnsupported:-3,PolicyPasswordSystemUnknown:-2,PolicyPasswordUnknown:-1,PolicyPasswordExpired:0,PolicyAccountLocked:1,PolicyChangeAfterReset:2,PolicyPasswordModNotAllowed:3,PolicyMustSupplyOldPassword:4,PolicyInsufficientPasswordQuality:5,PolicyPasswordTooShort:6,PolicyPasswordTooYoung:7,PolicyPasswordInHistory:8,PolicyNoError:65535}).provider("Authentication",function(){function e(e,t){var n,r,i,o,s,a;return n=e,t&&(n+="@"+t.value),r=""+window.location.href,"/"==(i=ApplicationBaseURL+encodeURIComponent(n))[0]&&(o=r.split("/"),s=o[2],a=o[0],i=a+"//"+s+i),r.startsWith(i)&&!r.endsWith("/logoff")?r:i}this.$get=t,t.$inject=["$q","$http","$cookies","passwordPolicyConfig"];function t(t,n,r,i){function o(){var e,t=null,n=r.get("0xHIGHFLYxSOGo");return n&&n.length>8&&(e=decodeURIComponent(n.substr(8)),t=e.base64decode().split(":")),t}return{login:function(r){var s,a=t.defer(),c=r.username,u=r.password,d=r.domain,h=r.rememberLogin?1:0;return r.loginSuffix&&!c.endsWith(r.loginSuffix)&&(c+=loginSuffix,d=!1),r.language&&"WONoSelectionString"!=r.language&&(s=r.language),n({method:"POST",url:"/SOGo/connect",data:{userName:c,password:u,domain:d,language:s,rememberLogin:h}}).then(function(t){var n=t.data,r=o();r?void 0!==n.expire&&void 0!==n.grace?n.expire<0&&n.grace>0?a.reject({grace:n.grace}):n.expire>0&&-1==n.grace?a.reject({expire:n.expire}):a.resolve({cn:n.cn,url:e(c,d)}):a.resolve({url:e(c,d)}):a.reject(l("cookiesNotEnabled"))},function(e){var t,n,r=e.data;r&&r.LDAPPasswordPolicyError?(n=r.LDAPPasswordPolicyError,t=n==i.PolicyNoError?l("Wrong username or password."):n==i.PolicyAccountLocked?l("Your account was locked due to too many failed attempts."):l("Login failed due to unhandled error case: ")+n):t=l("Unhandled error response"),a.reject({error:t})}),a.promise},changePassword:function(e){var s=t.defer(),a=o(),c=r.get("XSRF-TOKEN");return r.remove("XSRF-TOKEN",{path:"/SOGo/"}),n({method:"POST",url:"/SOGo/so/changePassword",headers:{"X-XSRF-TOKEN":c},data:{userName:a[0],password:a[1],newPassword:e}}).then(s.resolve,function(e){var t,n=e.data,o=n.LDAPPasswordPolicyError;o?o==i.PolicyNoError?t=l("Password change failed"):o==i.PolicyPasswordModNotAllowed?t=l("Password change failed - Permission denied"):o==i.PolicyInsufficientPasswordQuality?t=l("Password change failed - Insufficient password quality"):o==i.PolicyPasswordTooShort?t=l("Password change failed - Password is too short"):o==i.PolicyPasswordTooYoung?t=l("Password change failed - Password is too young"):o==i.PolicyPasswordInHistory?t=l("Password change failed - Password is in history"):(t=l("Unhandled policy error: %{0}").formatted(o),o=i.PolicyPasswordUnknown):(o=i.PolicyPasswordSystemUnknown,t=_("Unhandled error response")),r.put("XSRF-TOKEN",c,{path:"/SOGo/"}),s.reject(t)}),s.promise}}}})}(),function(){"use strict";function e(){}e.alert=function(e,t){var n=this.$modal.alert().title(e).htmlContent(t).ok(l("OK")).multiple(!0);this.$modal.show(n)},e.confirm=function(e,t,n){var r=this.$modal.confirm().title(e).htmlContent(t).ok(n&&n.ok?n.ok:l("OK")).cancel(n&&n.cancel?n.cancel:l("Cancel"));return this.$modal.show(r)},e.prompt=function(e,t,n){var r=n||{},i=e.asCSSIdentifier(),o=this.$q.defer();this.$modal.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,template:['',' "," "].join(""),controller:s}),s.$inject=["scope","$mdDialog"];function s(t,n){t.title=e,t.name="",t.cancel=function(){o.reject(),n.hide()},t.ok=function(){o.resolve(t.name),n.hide()}}return o.promise},t.$inject=["$q","$mdDialog"];function t(t,n){return angular.extend(e,{$q:t,$modal:n}),e}angular.module("SOGo.Common").factory("Dialog",t)}(),function(){"use strict";angular.module("SOGo.Common").factory("Gravatar",function(){return function(e,t,n,r){var i,o,s,a=t,l=n;return e?((i=e.indexOf("<"))>=0&&(o=e.indexOf(">",i))>i&&(e=e.substring(i+1,o)),t||(a=48),s=e.md5(),l&&"none"!=l||(n=r&&r.no_404?"mm":"404"),"https://www.gravatar.com/avatar/"+s+"?s="+a+"&d="+n):""}})}(),function(){"use strict";function e(e,t,n,r,i,o){angular.extend(this,{_http:e,_q:t,_window:n,_path:r,_activeUser:i}),angular.extend(this,o),this._path=this._path.replace(/\/$/,"")}e.$factory=["$http","$q","$window",function(t,n,r){return function(i,o,s){return new e(t,n,r,i,o,s)}}],angular.module("SOGo.Common").factory("Resource",e.$factory),e.prototype.userResource=function(t){var n=_.compact(this._activeUser.folderURL.split("/"));return t&&n.splice(n.length-1,1,escape(t)),new e(this._http,this._q,"/"+n.join("/"),this._activeUser)},e.prototype.path=function(){var e=[this._path];return arguments.length>0&&Array.prototype.push.apply(e,Array.prototype.slice.call(arguments)),e.join("/")},e.prototype.fetch=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e.split("/")),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http({method:"GET",url:i,params:n}).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.newguid=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/newguid";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise},e.prototype.create=function(e,t){var n=this._q.defer(),r=this._path+"/"+e;return this._http.post(r,{name:t}).then(function(e){return n.resolve(e.data)},n.reject),n.promise},e.prototype.post=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http.post(i,n).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.save=function(e,t,n){var r=n&&n.action?n.action:"save";return this.post(e,r,t)},e.prototype.download=function(e,t,n,r){this._q.defer();var i=r&&r.type?r.type:"application/zip",o=[this._path];e&&o.push(e),t&&o.push(t),o=_.compact(_.flatten(o)).join("/");return this._http({method:"POST",url:o,data:n,headers:{accept:i},responseType:"arraybuffer",cache:!1,transformResponse:function(e,t,n){var o,s=null;if(n<200||n>299)throw new Error("Bad gateway");e&&(s=new Blob([e],{type:i})),r&&r.filename?o=r.filename:(a=t("content-disposition"))&&a.split(";")[1].trim().split("=")[1].replace(/"/g,"");var a;if(!saveAs)throw new Error("To use Resource.download, FileSaver.js must be loaded.");saveAs(s,o)}})},e.prototype.open=function(e,t){var n=[this._path];e&&n.push(e),t&&n.push(t),n=_.compact(_.flatten(n)).join("/"),this._window.location.href=n},e.prototype.remove=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/delete";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise}}(),function(){"use strict";e.$inject=["$rootScope","$timeout"];function e(e,t){return function(n){t(function(){e.$broadcast("sgFocusOn",n)})}}angular.module("SOGo.Common").factory("sgFocus",e)}(),function(){"use strict";e.$inject=["$mdDialog","$sgHotkeys"];function e(e,t){return angular.extend(t,{$modal:e}),new t}angular.module("SOGo.Common").service("sgHotkeys",e).provider("$sgHotkeys",function(){var e={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"caps",27:"escape",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},t={42:"*",63:"?"};this.$get=n,n.$inject=["$rootScope","$window"];function n(n,r){var i=function(e){this.id=e.id||guid(),this.key=e.key,this.description=e.description||null,this.context=e.context||null,this.callback=e.callback,this.preventInClass=e.preventInClass,this.args=e.args,this.onKeyUp=!1,this.key.length>1&&(this.lkey=l("key_"+this.key))};i.prototype.clone=function(){return new i(this)};var o=function(){this._hotkeys={},this._hotkeysUp={},this._preventIn=["INPUT","SELECT","TEXTAREA","MD-OPTION"],this._preventInClass=["md-chip-content"],this._onKeydown=this._onKeydown.bind(this),this._onKeyup=this._onKeyup.bind(this),this._onKeypress=this._onKeypress.bind(this),this.initialize()};return o.prototype.initialize=function(){this.registerHotkey(this.createHotkey({key:"?",description:l("Show or hide this help"),callback:this._toggleCheatSheet.bind(this)})),r.addEventListener("keydown",this._onKeydown,!0),r.addEventListener("keyup",this._onKeyup,!0),r.addEventListener("keypress",this._onKeypress,!0)},o.prototype._invokeHotkeyHandlers=function(e,t,n){for(var r=0,i=n.length;r=0;n--){var r=e.clone();r.key=e.key[n];var i=this._deregisterHotkey(r);void 0!==i&&t.push(i[0])}else t.push(this._deregisterHotkey(e));return t},o.prototype._validateHotkey=function(e){if(!(e instanceof i))throw new TypeError("Hotkeys: Expected a hotkey object be instance of HotKey")},o.prototype._registerKey=function(e){var t=this._hotkeys;return e.onKeyUp&&(t=this._hotkeysUp),t[e.key]=t[e.key]||[],t[e.key].push(e),e},o.prototype._registerKeys=function(e){var t=[];if(angular.isArray(e.key))for(var n=e.key.length-1;n>=0;n--){var r=e.clone();r.id=guid(),r.key=e.key[n],t.push(this._registerKey(r))}else t.push(this._registerKey(e));return t},o.prototype.registerHotkey=function(e){return this._validateHotkey(e),this._registerKeys(e)},o.prototype.registerHotkeyUp=function(e){this._validateHotkey(e),e.onKeyUp=!0,this._registerKeys(e)},o.prototype.createHotkey=function(e){if(null===e.key||void 0===e.key)throw new TypeError('HotKeys: Argument "key" is required');if(null===e.callback||void 0===e.callback)throw new TypeError('HotKeys: Argument "callback" is required');e.callback=(t=e.callback,function(e,r){n.$apply(function(){t.call(this,e,r)}.bind(this))});var t;return new i(e)},o.prototype.match=function(e,t){angular.isArray(t)||(t=[t]);var n=this.keyStringFromEvent(e);return Boolean(~t.indexOf(n))},o.prototype._toggleCheatSheet=function(){var e=this;this._cheatSheet?(o.$modal.hide(),this._cheatSheet=null):this._cheatSheet=o.$modal.show({clickOutsideToClose:!0,escapeToClose:!0,template:[""," "," ",' ',' '," {{keys[0].lkey || hotkey}} ","
"," {{keys[0].description}}"," "," "," "," "].join(""),controller:t,locals:{hotkeys:e._hotkeys}}).finally(function(){e._cheatSheet=null}),t.$inject=["$scope","hotkeys"];function t(e,t){e.hotkeys=t,e.closeDialog=function(){o.$modal.hide()}}},o}})}(),function(){"use strict";function e(e){e&&this.init(e)}e.factory=["$q","$log","sgSettings","Resource",function(t,n,r,i){return angular.extend(e,{$q:t,$log:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$query:"",$users:[]}),e}],angular.module("SOGo.Common").factory("User",e.factory),e.$filter=function(t,n,r){var i=e.$$resource,o={search:t};if(r&&r.dry)r&&r.uid&&(i=e.$$resource.userResource(r.uid));else{if(!t)return e.$users.splice(0,e.$users.length),e.$q.when(e.$users);if(e.$query==t)return e.$q.when(e.$users);e.$query=t}return i.fetch(null,"usersSearch",o).then(function(t){var i,o,s,a,l=function(e){return this.uid==e.uid};for(r?r.dry?a=[]:r.results&&(a=r.results):a=e.$users,i=n?_.filter(t.users,function(e){return!_.find(n,_.bind(l,e))}):t.users,o=a.length-1;o>=0;o--)s=a[o],_.find(i,_.bind(l,s))||a.splice(o,1);return _.forEach(i,function(t,n){if(_.isUndefined(_.find(a,_.bind(l,t)))){var r=new e(t);a.splice(n,0,r)}}),e.$log.debug(a),a})},e.prototype.init=function(e){angular.extend(this,e),this.$$shortFormat||(this.$$shortFormat=this.$shortFormat()),this.$$image||(this.$$image=this.image),this.$avatarIcon=this.$isGroup()||this.$isSpecial()?"group":"person",this.empty=" "},e.prototype.$fullname=function(){var e=this.cn||this.uid;return this.c_info&&(e+=" ("+this.c_info.split("\n").join("; ")+")"),e},e.prototype.$shortFormat=function(e){var t=this.$fullname(),n=this.c_email;return!(e&&!1===e.email)&&n&&t!=n&&(t+=" <"+n+">"),t},e.prototype.$acl=function(t,n){var r=this,i=e.$q.defer(),o={uid:this.uid};if(this.$shadowRights)i.resolve(this.rights);else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(t,"userRights",o):e.$$resource.fetch(t,"userRights",o)).then(function(e){return r.rights=e,r.$shadowRights=angular.copy(e),i.resolve(e),e})}return i.promise},e.prototype.$isGroup=function(){return this.isGroup||this.userClass&&"normal-group"==this.userClass},e.prototype.$isAnonymous=function(){return"anonymous"==this.uid},e.prototype.$isSpecial=function(){return this.userClass&&"public-user"==this.userClass},e.prototype.$confirmRights=function(e){var t=!1;return!this.$confirmation&&(_.some(_.values(this.rights))&&("anonymous"==this.uid?"AddressBook"==e.constructor.name?t=l('Potentially anyone on the Internet will be able to access your address book "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name):"Calendar"==e.constructor.name&&(t=l('Potentially anyone on the Internet will be able to access your calendar "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name)):"anyone"!=this.uid&&""!=this.uid||("AddressBook"==e.constructor.name?t=l('Any user with an account on this system will be able to access your address book "%{0}". Are you certain you trust them all?',e.name):"Calendar"==e.constructor.name?t=l('Any user with an account on this system will be able to access your calendar "%{0}". Are you certain you trust them all?',e.name):"Mailbox"==e.constructor.name&&(t=l('Any user with an account on this system will be able to access your mailbox "%{0}". Are you certain you trust them all?',e.name)))),this.$confirmation=t,t)},e.prototype.$rightsAreDirty=function(){return this.rights&&!_.isEqual(this.rights,this.$shadowRights)},e.prototype.$resetRights=function(e){var t=this;e?_.map(_.keys(this.rights),function(e){angular.isString(t.rights[e])?t.rights[e]="None":t.rights[e]=0}):this.$shadowRights&&(this.rights=angular.copy(this.$shadowRights))},e.prototype.$folders=function(t){var n=this,r=e.$q.defer(),i={type:t};return this.$$folders?r.resolve(this.$$folders):e.$$resource.userResource(this.uid).fetch(null,"foldersSearch",i).then(function(e){n.$$folders=e.folders,r.resolve(e.folders)}),r.promise},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e},e.prototype.toString=function(){return"[User "+this.c_email+"]"}}(),function(){"use strict";e.$inject=["$scope","$element","$http","$q","Preferences","Gravatar"];function e(e,t,n,r,i,o){var s,a;s=this,e.$on("$destroy",function(){a&&t.off("click",a)}),e.$watch(function(){return s.email},function(e,t){e&&s.urlEmail!=e?(l(),i.defaults.SOGoGravatarEnabled&&function(e){var t=o(e,s.size,i.defaults.SOGoAlternateAvatar);n({method:"GET",url:t,cache:!0,headers:{Accept:"image/*"}}).then(function(){s.url||(s.url=t,s.urlEmail=e,c())},function(){l()})}(e)):e||l()}),"sg-src"in t[0].attributes&&e.$watch(function(){return s.src},function(e){e&&(s.url=e,s.urlEmail=""+s.email,t.addClass("sg-avatar-image--zoomable"),a=function(){t.toggleClass("sg-avatar-image--zoom")},t.on("click",a),c())});function l(){s.url=null,s.urlEmail=null,s.img.addClass("ng-hide"),s.genericImg.removeClass("ng-hide")}function c(){s.genericImg.addClass("ng-hide"),s.img.removeClass("ng-hide")}}angular.module("SOGo.Common").directive("sgAvatarImage",function(){return{restrict:"AE",scope:{},bindToController:{size:"@",email:"=sgEmail",src:"=sgSrc"},transclude:!0,template:['',"
",'
not_interested ','
',"
"].join(""),link:function(e,t,n,r){var i,o=t.find("img"),s=t.find("md-icon"),a=angular.element(s[0]),l=angular.element(s[1]);n.size&&(o.attr("width",n.size),o.attr("height",n.size),a.css("font-size",n.size+"px"),l.css("font-size",parseInt(.4*n.size)+"px")),angular.isDefined(n.ngDisabled)&&(i=e.$watch(n.ngDisabled,function(e){n.disabled&&l.css({display:"block"}),i()})),r.img=o,r.genericImg=a},controller:"sgAvatarImageController",controllerAs:"vm"}}).controller("sgAvatarImageController",e)}(),function(){"use strict";e.$inject=["$mdUtil","$animateCss","$$rAF"];function e(e,t,n){return{link:function(e,r){var i=r[0].querySelector(".sg-button-toggle"),o=i.querySelector(".sg-icon-toggle"),s="md-rotate-180-ccw",a=r[0].querySelector(".sg-block-toggle"),l=!1;i.classList.add("md-clickable"),angular.element(i).on("click",function(){(l=!l)?o.classList.add(s):o.classList.remove(s);l&&(a.style.visibility="visible");n(function(){var e=l?a.scrollHeight:0;t(angular.element(a),{easing:"cubic-bezier(0.35, 0, 0.25, 1)",to:{height:e+"px"},duration:.75}).start().then(function(){c()})})}),c();function c(){a.setAttribute("aria-hidden",!l),a.setAttribute("aria-expanded",l),l||(a.style.visibility="hidden")}}}}angular.module("SOGo.Common").directive("sgBlockToggle",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgCheckmark",e),e.$inject=["$parse","$mdAria","$mdTheming","$mdUtil"];function e(e,t,n,r){var i="sg-checked";return{restrict:"E",replace:!0,transclude:!0,require:"?ngModel",template:[''," check "," "].join(""),compile:function(o,s){return o.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),function(o,s,a,l){var c=d(e,o,"sgTrueValue",a.sgTrueValue,!0),u=d(e,o,"sgFalseValue",a.sgFalseValue,!1);l=l||r.fakeNgModel(),n(s),t.expectWithText(s,"aria-label"),s.on("click",function(e){s[0].hasAttribute("disabled")||o.$apply(function(){var t=l.$viewValue==c?u:c;l.$setViewValue(t,e&&e.type),l.$render()})}),l.$render=function(){l.$viewValue==c?s.addClass(i):s.removeClass(i)};function d(e,t,n,r,i){var o;if(angular.isDefined(r)){if(!(o=e(r)).constant)throw Error("Expected constant expression for `"+n+"`, but saw `"+r+"`.");return o(t)}return i}}}}}}(),function(){"use strict";e.$inject=["$scope","$element","$mdPanel","sgColors"];function e(e,t,n,r){var i,o,s;this.$onInit=function(){i=this,o=t.controller("ngModel")},this.$postLink=function(){this.buttonIcon=t.find("md-icon"),o.$render=function(){a(o.$viewValue)}};function a(e){s=e,i.buttonIcon.css("color",s)}this.showPicker=function(e){for(var t=n.newPanelPosition().relativeTo(i.buttonIcon).addPanelPosition(n.xPosition.ALIGN_START,n.yPosition.ALIGN_TOPS),l=n.newPanelAnimation().openFrom(i.buttonIcon).duration(100).withAnimation(n.animation.FADE),c=[],u="",d=0;d",g&&(u+=' '),u+=""}var p={attachTo:angular.element(document.body),bindToController:!0,controller:f,controllerAs:"$menuCtrl",position:t,animation:l,targetEvent:e,template:['"].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};n.open(p).then(function(e){e.panelEl.one("click",function(){e.close()})}),f.$inject=["mdPanelRef","$state","$mdDialog","User"];function f(e,t,n,r){this.setColor=function(e,t){e&&(_.forEach(e.currentTarget.parentElement.children,function(e){e.classList.remove("selected")}),e.currentTarget.classList.add("selected")),a(t),o.$setViewValue(t)}}}}angular.module("SOGo.Common").directive("sgColorPicker",function(){return{restrict:"E",require:"ngModel",template:[' '," format_color_fill "," "].join(""),controller:e,controllerAs:"$ctrl"}})}(),function(){"use strict";e.$inject=["$compile"];function e(e){return{restrict:"A",link:function(t,n,r){var i=t.$watch(function(e){return e.$eval(r.sgCompile)},function(r){n.html(r),e(n.contents())(t),i()})}}}angular.module("SOGo.Common").directive("sgCompile",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgDatepickerReadonlyInput",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),e.prop("disabled",!0),e.parent().addClass("sg-datepicker-readonly-input-container"))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(o,s,a){var l;r(function(){var t,n,r;t=e(a.sgDraggable)(o),n=a.sgDragStart?e(a.sgDragStart):null,r=a.sgDragCount?e(a.sgDragCount):null,l=new c(s,t,n,r)}),o.$on("$destroy",function(){l.$destroy()});function c(e,t,r,i){if(this.$element=e,this.folder=t,this.dragStart=r,this.count=i,this.helper=n.find("sg-draggable-helper"),!this.helper)throw Error("sg-draggable requires a sg-draggable-helper element.");this.bindedOnDragDetect=angular.bind(this,this.onDragDetect),this.bindedOnDrag=angular.bind(this,this.onDrag),this.$element.on("mousedown",this.bindedOnDragDetect)}c.prototype={dragHasStarted:!1,$destroy:function(){this.$element.off("mousedown",this.bindedOnDragDetect)},getDistanceFromStart:function(e){var t={x:this.startPosition.clientX-e.clientX,y:this.startPosition.clientY-e.clientY};return Math.sqrt(t.x*t.x+t.y*t.y)},onDragDetect:function(e){e.stopPropagation(),this.dragStart&&!this.dragStart(o)||(n.on("mousemove",this.bindedOnDrag),n.one("mouseup",angular.bind(this,this.onDragEnd)))},onDrag:function(e){var n;this.startPosition?!this.dragHasStarted&&this.getDistanceFromStart(e)>10&&(n=this.helper.find("sg-draggable-helper-counter"),this.dragHasStarted=!0,this.helper.removeClass("ng-hide"),this.count&&this.count(o)>1?n.text(this.count(o)).removeClass("ng-hide"):n.addClass("ng-hide"),i.debug("emit folder:dragstart"),t.$emit("folder:dragstart",this.folder)):this.startPosition={clientX:e.clientX,clientY:e.clientY},this.dragHasStarted&&(e.shiftKey||this.folder.isRemote?this.helper.addClass("sg-draggable-helper--copy"):this.helper.removeClass("sg-draggable-helper--copy"),this.helper.css({top:e.pageY+5+"px",left:e.pageX+5+"px"}))},onDragEnd:function(e){var r="move";this.startPosition=null,n.off("mousemove",this.bindedOnDrag),this.dragHasStarted&&((e.shiftKey||this.folder.isRemote)&&(r="copy"),i.debug("emit folder:dragend"),t.$emit("folder:dragend",this.folder,r),this.dragHasStarted=!1,this.helper.addClass("ng-hide"))}}}}}angular.module("SOGo.Common").directive("sgDraggable",e)}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(n,r,i){var o,s,a,l,c=!1;if(!i.sgDrop)throw Error("sg-droppable requires a sg-drop action.");c=!1,s=e(i.sgDroppable),o=e(i.sgDrop),a=t.$on("folder:dragstart",function(e,t){s(n,{dragFolder:t})&&(r.on("mouseenter",u),r.on("mouseleave",d))}),l=t.$on("folder:dragend",function(e,t,i){r.off("mouseenter"),r.off("mouseleave"),c&&(angular.bind(r[0],d)(e),o(n,{dragFolder:t,dragMode:i}))}),n.$on("destroy",function(){a(),l()});function u(e){c=!0,r.addClass("sg-droppable-over")}function d(e){c=!1,this.classList.remove("sg-droppable-over"),r.off("mousemove")}}}}angular.module("SOGo.Common").directive("sgDroppable",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(n.sgEnter),t.preventDefault())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEscape",function(){return function(e,t,n){t.bind("keydown",function(t){27===t.keyCode&&e.$apply(n.sgEscape)})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFocusOn",function(){return function(e,t,n){e.$on("sgFocusOn",function(e,r){r===n.sgFocusOn&&(t[0].focus(),"function"==typeof t[0].select&&t[0].select())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFolderStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,bindToController:!0,controller:function(){this.contrast=contrast,this.transparent=function(e,t){var n=hexToRgb(e);return["rgba("+n.r,n.g,n.b,t+")"].join(",")}},controllerAs:"cssCtrl",template:['"].join("")}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgNoDirtyCheck",function(){return{restrict:"A",require:"ngModel",link:function(e,t,n,r){if(r){var i=r.$pristine&&!r.$dirty;i&&(r.$pristine=!1,r.$dirty=!0)}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgPlaceholder",function(){return{restrict:"A",scope:{placeholder:"=sgPlaceholder"},link:function(e,t,n){e.$watch("placeholder",function(){t[0].placeholder=e.placeholder})}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgResetOnDisabled",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),r.$scope.$watch("ctrl.isDisabled",function(e){e&&r.ngModelCtrl.$invalid&&r.$scope.$emit("md-calendar-change",r.date)}))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgRippleClick",e),e.$inject=["$log","$timeout"];function e(e,t){return{restrict:"A",compile:function(n,r){return function(n,r,i){var o,s,a,l;for(l=r.attr("sg-ripple-click"),a=r[0].parentNode;a&&a.id!=l;)a=a.parentNode;a?(s=a.querySelector("sg-ripple-content"))?((o=a.querySelector("sg-ripple"))?o=angular.element(o):(o=angular.element(' '),a.appendChild(o[0]),s.classList.contains("ng-hide")||s.classList.add("ng-hide")),r.on("click",c),n.$on("$destroy",function(){r.off("click",c)})):e.error("sg-ripple-content not found inside #"+l):e.error("No parent element found with id "+l);function c(e){var n;r[0].hasAttribute("disabled")||(n=e.pageX&&e.pageY?{left:e.pageX,top:e.pageY}:e.target.getBoundingClientRect(),s.classList.contains("ng-hide")?(angular.element(a).css({overflow:"hidden",position:"relative"}),angular.element(s).css({top:a.scrollTop+"px"}),t(function(){o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"400vmin",width:"400vmin"}),s.classList.remove("ng-hide")})):(o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"0px",width:"0px"}),s.classList.add("ng-hide"),t(function(){angular.element(a).css({overflow:"",position:""})},800)))}}}}}}(),function(){"use strict";e.$inject=["$parse"];function e(e){return{restrict:"A",controller:"sgSearchController",controllerAs:"$sgSearchController",priority:1001,compile:function(t,n){t.find("md-input-container");var r=t.find("input"),i=t.find("md-select"),o=t.find("md-button");r.attr("ng-model","$sgSearchController.searchText"),r.attr("ng-model-options","$sgSearchController.searchTextOptions"),r.attr("ng-change","$sgSearchController.onChange()"),i&&(i.attr("ng-model","$sgSearchController.searchField"),i.attr("ng-change","$sgSearchController.onChange()"));o&&o.attr("sg-search-cancel")?(o.attr("ng-click",o.attr("sg-search-cancel")),o.removeAttr("sg-search-cancel")):o=null;return function(t,n,i,s){var a=n.find("button");s.formName=n.attr("name"),s.inputName=r.attr("name"),s.allowDot=e(n.attr("sg-allow-dot"))(t),s.fields=e(n.attr("sg-search-fields"))(t),s.doSearch=e(n.attr("sg-search")),o&&a&&a.on("click",s.cancelSearch)}}}}t.$inject=["$window","$scope","$element"];function t(e,t,n){var r=this;if(r.searchText=null,r.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},n.attr("sg-search-fields"))var i=t.$watch(r.fields,function(e){r.searchField=_.clone(r.fields),i()});r.onChange=function(){var e=t[r.formName],n=e[r.inputName],i=n.$viewValue;(r.allowDot&&"."==i||e.$valid&&i)&&("."==i&&n.$setValidity("minlength",!0),r.doSearch(t,{searchText:i,searchField:r.searchField}))},r.cancelSearch=function(){r.searchText=null}}angular.module("SOGo.Common").controller("sgSearchController",t).directive("sgSearch",e).directive("sgSearch",function(){return{restrict:"A",priority:1e3,transclude:!0,compile:function(e,t){return function(e,t,n,r,i){i(function(e){t.append(e)})}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgSelectOnly",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(t){var n;t.length&&(i(),n=t.controller("ngModel"),t.on("blur",function(){r.scope.selectedItem||e.$applyAsync(n.$setValidity("required",!1))}))})},require:"mdAutocomplete",restrict:"A"}})}(),function(){"use strict";e.$inject=["User"];function e(e){return{restrict:"A",scope:{folderType:"@sgSubscribe",onFolderSelect:"&sgSubscribeOnSelect"},replace:!1,bindToController:!0,controller:n,controllerAs:"$sgSubscribeDialogController",link:t}}function t(e,t,n,r){t.find("input");t.on("click",r.showDialog)}n.$inject=["$mdDialog"];function n(e){var t=this;t.showDialog=function(){e.show({templateUrl:"../Contacts/UIxContactsUserFolders",clickOutsideToClose:!0,locals:{folderType:t.folderType,onFolderSelect:t.onFolderSelect},controller:r,controllerAs:"subscribe"})}}r.$inject=["$mdDialog","folderType","onFolderSelect","User"];function r(e,t,n,r){var i=this;i.selectedUser=null,i.users=[],i.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},i.onChange=function(e){r.$filter(i.searchText,null,{results:i.users}).then(function(t){e.$setValidity("matches",t.length>0),e.$setTouched(),i.selectedUser&&_.isUndefined(_.find(t,function(e){return e.uid==i.selectedUser.uid}))&&(i.selectedUser=null)})},i.selectUser=function(e){i.selectedUser==i.users[e]?i.selectedUser=null:i.users[e].$folders(t).then(function(){i.selectedUser=i.users[e]})},i.selectFolder=function(e){n({folderData:e})},i.close=function(){e.hide()}}angular.module("SOGo.Common").directive("sgSubscribe",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimePane",function(){return{template:['','
','
','
',' {{hour.displayName}} ',"
","
","
",'
','
','
',' {{minute.displayName}} ',"
","
","
",'
",'
',' ',"
","
"].join(""),scope:{},require:["ngModel","sgTimePane","?^mdInputContainer"],controller:t,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){var i=r[0],o=r[1],s=r[2];if(s)throw Error("sg-timepicker should not be placed inside md-input-container.");o.configureNgModel(i,o)}}});var e=0;t.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale"];function t(t,n,r,i,o,s,a,l,c){var u;s(t),this.$element=t,this.$scope=n,this.dateUtil=r,this.$mdUtil=i,this.keyCode=o.KEY_CODE,this.$$rAF=a,this.timePaneElement=t[0].querySelector(".sg-time-pane"),this.ngModelCtrl=null,this.SELECTED_TIME_CLASS="sg-time-selected",this.FOCUSED_TIME_CLASS="md-focus",this.id=e++,this.displayTime=null,this.selectedTime=null,this.isInitialized=!1,n.hours=[],n.hours[0]=[],n.hours[0][0]=[],n.hours[0][1]=[],n.hours[1]=[],n.hours[1][0]=[],n.hours[1][1]=[];for(var d=0;d<6;d++)n.hours[0][0][d]={id:"tp-"+this.id+"-hour-"+d,displayName:d<10?"0"+d:""+d,selected:!1},n.hours[0][1][d]={id:"tp-"+this.id+"-hour-"+(d+6),displayName:d+6<10?"0"+(d+6):""+(d+6),selected:!1},n.hours[1][0][d]={id:"tp-"+this.id+"-hour-"+(d+12),displayName:""+(d+12),selected:!1},n.hours[1][1][d]={id:"tp-"+this.id+"-hour-"+(d+18),displayName:""+(d+18),selected:!1};for(n.min5=[],n.min5[0]=[],n.min5[1]=[],d=0;d<6;d++)u=5*d,n.min5[0][d]={id:"tp-"+this.id+"-minute5-"+u,displayName:u<10?":0"+u:":"+u,selected:!0},n.min5[1][d]={id:"tp-"+this.id+"-minute5-"+(u+30),displayName:":"+(u+30),selected:!1};for(n.min1=[],d=0;d<12;d++){n.min1[d]=[];for(var h=0;h<5;h++)u=5*d+h,n.min1[d][h]={id:"tp-"+this.id+"-minute-"+u,displayName:u<10?":0"+u:":"+u,selected:!0}}n.show5min=!0,n.getToggleBtnLbl=function(){return n.is5min()?">>":"<<"},n.toggleManual5min=function(){n.manual5min=!n.is5min()},n.is5min=function(){return!0===n.manual5min||!1===n.manual5min?n.manual5min:n.show5min},l.tabindex||t.attr("tabindex","-1");var m=this;this.hourClickHandler=function(e){var t=new Date(m.displayTime);t.setHours(Number(e)),m.setNgModelValue(t,"hours")},n.hourClickHandler=this.hourClickHandler,this.minuteClickHandler=function(e){var t=e.substr(1),n=new Date(m.displayTime);n.setMinutes(Number(t)),m.setNgModelValue(n,"minutes")},n.minuteClickHandler=this.minuteClickHandler;var g=angular.bind(this,this.handleKeyEvent);angular.element(document.body).on("keydown",g),n.$on("$destroy",function(){angular.element(document.body).off("keydown",g)})}t.prototype.configureNgModel=function(e,t){var n=this;n.ngModelCtrl=e,n.$mdUtil.nextTick(function(){n.isInitialized=!0}),e.$render=function(){var e=this.$viewValue;n.$mdUtil.nextTick(function(){n.changeSelectedTime(e,t)})}},t.prototype.changeSelectedTime=function(e,t){var n=this.selectedTime;if(this.selectedTime=e,this.displayTime=new Date(e),n){var r=n.getHours(),i=document.getElementById("tp-"+t.id+"-hour-"+r);i&&(i.classList.remove(this.SELECTED_TIME_CLASS),i.setAttribute("aria-selected","false"));var o=n.getMinutes(),s=document.getElementById("tp-"+t.id+"-minute-"+o);s&&(s.classList.remove(this.SELECTED_TIME_CLASS),s.setAttribute("aria-selected","false"));var a=document.getElementById("tp-"+t.id+"-minute5-"+o);a&&(a.classList.remove(this.SELECTED_TIME_CLASS),a.setAttribute("aria-selected","false"))}if(e){var l,c=e.getHours(),u=document.getElementById("tp-"+t.id+"-hour-"+c);u&&(u.classList.add(this.SELECTED_TIME_CLASS),u.setAttribute("aria-selected","true"));var d=e.getMinutes();d%5==0?(t.$scope.show5min=!0,(l=document.getElementById("tp-"+t.id+"-minute5-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))):t.$scope.show5min=!1,(l=document.getElementById("tp-"+t.id+"-minute-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))}},t.prototype.setNgModelValue=function(e,t){return this.$scope.$emit("sg-time-pane-change",{date:e,changed:t}),this.ngModelCtrl.$setViewValue(e),this.ngModelCtrl.$render(),e},t.prototype.handleKeyEvent=function(e){var t=this;this.$scope.$apply(function(){return e.which==t.keyCode.ESCAPE||e.which==t.keyCode.TAB?(t.$scope.$emit("md-time-pane-close"),void(e.which==t.keyCode.TAB&&e.preventDefault())):e.which===t.keyCode.ENTER?(t.setNgModelValue(t.displayTime,"enter"),void e.preventDefault()):void 0})},t.prototype.focus=function(e,t){var n=e||this.selectedTime||this.today,r=this.timePaneElement.querySelector(".md-focus");if(r&&r.classList.remove(this.FOCUSED_TIME_CLASS),n){var i=n.getHours(),o=document.getElementById("tp-"+t.id+"-hour-"+i);o&&(o.classList.add(this.FOCUSED_TIME_CLASS),o.focus())}}}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimepicker",e),e.$inject=["$mdUtil","$mdAria"];function e(e,t){return{template:function(e,t){var n=t.ariaLabel||t.mdPlaceholder;return['',' access_time '," ",'",'"].join("")},require:["ngModel","sgTimepicker","?^form"],scope:{placeholder:"@mdPlaceholder"},controller:s,controllerAs:"ctrl",bindToController:!0,link:function(t,n,r,i){var o=i[0],s=i[1],a=i[2];e.parseAttributeBoolean(r.mdNoAsterisk);if(s.configureNgModel(o),a)var l=t.$watch(function(){return a.$submitted},function(e){e&&(s.updateErrorState(),l())})}}}var t="sg-timepicker-invalid",n="sg-timepicker-open",r={MIN5:{GTXS:192,XS:311},MIN1:{GTXS:384,XS:474}},i={GTXS:530,XS:294},o=/ipad|iphone|ipod|android/i;s.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$mdMedia"];function s(e,t,n,r,i,s,a,l,c,u,d){this.$window=r,this.dateLocale=l,this.dateUtil=c,this.$mdConstant=i,this.$mdUtil=a,this.$$rAF=u,this.$mdMedia=d,this.documentElement=angular.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=t[0].querySelector("input"),this.ngInputElement=angular.element(this.inputElement),this.inputContainer=t[0].querySelector(".sg-timepicker-input-container"),this.timePane=t[0].querySelector(".sg-timepicker-time-pane"),this.timeButton=t[0].querySelector(".sg-timepicker-button"),this.inputMask=angular.element(t[0].querySelector(".sg-timepicker-input-mask-opaque")),this.$element=t,this.$attrs=n,this.$scope=e,this.date=null,this.isFocused=!1,this.isDisabled=!1,this.setDisabled(t[0].disabled||angular.isString(n.disabled)),this.isTimeOpen=!1,this.timePaneOpenedFrom=null,this.timePaneId="sg-time-pane"+a.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=o.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=a.debounce(angular.bind(this,this.closeTimePane),100),this.windowBlurHandler=angular.bind(this,this.handleWindowBlur),this.leftMargin=20,this.topMargin=null,n.tabindex?(this.ngInputElement.attr("tabindex",n.tabindex),n.$set("tabindex",null)):n.$set("tabindex","-1"),s(t),s(angular.element(this.timePane)),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var h=this;e.$on("$destroy",function(){h.detachTimePane()})}s.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;t.ngModelCtrl.$formatters.push(function(e){if(e&&!(e instanceof Date))throw Error("The ng-model for sg-timepicker must be a Date instance. Currently the model is a: "+typeof e);return t.time=e,t.inputElement.value=t.dateLocale.formatTime(e),t.resizeInputElement(),t.updateErrorState(),e}),e.$viewChangeListeners.unshift(angular.bind(this,this.updateErrorState))},s.prototype.attachChangeListeners=function(){var e=this;e.$scope.$on("sg-time-pane-change",function(n,r){var i=new Date(r.date);e.ngModelCtrl.$setViewValue(i),e.time=i,e.inputElement.value=e.dateLocale.formatTime(i),"minutes"==r.changed&&e.closeTimePane(),e.resizeInputElement(),e.inputContainer.classList.remove(t)}),e.ngInputElement.on("input",angular.bind(e,e.resizeInputElement));var n=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;e.ngInputElement.on("input",e.$mdUtil.debounce(e.handleInputEvent,n,e))},s.prototype.attachInteractionListeners=function(){var e=this,t=this.$scope,n=this.$mdConstant.KEY_CODE;e.ngInputElement.on("keydown",function(r){r.altKey&&r.keyCode==n.DOWN_ARROW&&(e.openTimePane(r),t.$digest())}),t.$on("md-time-close",function(){e.closeTimePane()})},s.prototype.installPropertyInterceptors=function(){var e=this;if(this.$attrs.ngDisabled){var t=this.$scope.$parent;t&&t.$watch(this.$attrs.ngDisabled,function(t){e.setDisabled(t)})}Object.defineProperty(this,"placeholder",{get:function(){return e.inputElement.placeholder},set:function(t){e.inputElement.placeholder=t||""}})},s.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.timeButton&&(this.timeButton.disabled=e)},s.prototype.updateErrorState=function(e){var n=e||this.date;this.clearErrorState(),this.dateUtil.isValidDate(n)||this.ngModelCtrl.$setValidity("valid",null===n),this.ngModelCtrl.$valid||this.inputContainer.classList.add(t)},s.prototype.clearErrorState=function(){this.inputContainer.classList.remove(t),["valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},s.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},s.prototype.handleInputEvent=function(e){var t=this.inputElement.value,n=t?this.dateLocale.parseTime(t):null;if(""===t||this.dateUtil.isValidDate(n)){var r=new Date(this.time);r.setHours(n.getHours()),r.setMinutes(n.getMinutes()),this.ngModelCtrl.$setViewValue(r),this.time=r}this.updateErrorState(n)},s.prototype.attachTimePane=function(){var e=this.timePane,t=document.body;e.style.transform="",this.$element.addClass(n),angular.element(t).addClass("md-datepicker-is-showing");var o=this.inputContainer.getBoundingClientRect(),s=t.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var a=o.top-s.top-this.topMargin,l=o.left-s.left-this.leftMargin,c=s.top<0&&0===t.scrollTop?-s.top:document.body.scrollTop,u=s.left<0&&0===t.scrollLeft?-s.left:document.body.scrollLeft,d=c+this.$window.innerHeight,h=u+this.$window.innerWidth;this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:o.width-1+"px",height:o.height-2+"px"});var m=this.$mdMedia("xs")?i.XS:i.GTXS;if(l+m>h){if(h-m>0)l=h-m;else{l=u;var g=this.$window.innerWidth/m;e.style.transform="scale("+g+")"}e.classList.add("sg-timepicker-pos-adjusted")}var p="object"==typeof this.time&&this.time.getMinutes()%5==0?"MIN5":"MIN1",f=this.$mdMedia("xs")?r[p].XS:r[p].GTXS;a+f>d&&d-f>c&&(a=d-f,e.classList.add("sg-timepicker-pos-adjusted")),e.style.left=l+"px",e.style.top=a+"px",document.body.appendChild(e),this.$$rAF(function(){e.classList.add("md-pane-open")})},s.prototype.detachTimePane=function(){this.$element.removeClass(n),angular.element(document.body).removeClass("md-datepicker-is-showing"),this.timePane.classList.remove("md-pane-open"),this.timePane.classList.remove("md-timepicker-pos-adjusted"),this.isTimeOpen&&this.$mdUtil.enableScrolling(),this.timePane.parentNode&&this.timePane.parentNode.removeChild(this.timePane)},s.prototype.openTimePane=function(e){if(!this.isTimeOpen&&!this.isDisabled){this.isTimeOpen=!0,this.timePaneOpenedFrom=e.target,this.$mdUtil.disableScrollAround(this.timePane),this.attachTimePane(),this.evalAttr("ngFocus");var t=this;this.$mdUtil.nextTick(function(){t.documentElement.on("click touchstart",t.bodyClickHandler)},!1),window.addEventListener(this.windowEventName,this.windowEventHandler)}},s.prototype.closeTimePane=function(){if(this.isTimeOpen){this.detachTimePane(),this.ngModelCtrl.$setTouched(),this.evalAttr("ngBlur"),this.documentElement.off("click touchstart",this.bodyClickHandler),window.removeEventListener(this.windowEventName,this.windowEventHandler),this.timePaneOpenedFrom.focus(),this.timePaneOpenedFrom=null,this.isTimeOpen=!1}},s.prototype.getTimePaneCtrl=function(){return angular.element(this.timePane.querySelector("sg-time-pane")).controller("sgTimePane")},s.prototype.focusTime=function(){var e=this;this.$mdUtil.nextTick(function(){var t=e.getTimePaneCtrl();e.getTimePaneCtrl().focus(null,t)},!1)},s.prototype.setFocused=function(e){e||this.ngModelCtrl.$setTouched(),this.evalAttr(e?"ngFocus":"ngBlur"),this.isFocused=e},s.prototype.handleBodyClick=function(e){if(this.isTimeOpen){this.$mdUtil.getClosest(e.target,"sg-time-pane")||this.closeTimePane(),this.$scope.$digest()}},s.prototype.handleWindowBlur=function(){this.inputFocusedOnWindowBlur=document.activeElement===this.inputElement},s.prototype.evalAttr=function(e){this.$attrs[e]&&this.$scope.$parent.$eval(this.$attrs[e])}}(),function(){"use strict";e.$inject=["$parse","$mdUtil","$mdColors"];function e(e,t,n){return{restrict:"A",require:["mdGridList","?ngModel"],compile:function(e,r){return function(i,o,s,a){var l,c,u,d,h,m=e.find("md-grid-tile"),g=[];for((c=a[1]||t.fakeNgModel()).$render=function(){var e=c.$viewValue;g=c.$viewValue,r.sgToggleGridAttr&&(d=r.sgToggleGridAttr,e=_.map(c.$viewValue,r.sgToggleGridAttr));_.forEach(m,function(t){var n=angular.element(t);_.includes(e,n.attr("value"))&&n.addClass("sg-active")}),c.$validate(),p(c.$invalid)},c.$isEmpty=function(e){return!e||0===e.length},h=function(){var e=angular.element(this),t=e.attr("value");e.toggleClass("sg-active"),function(e){var t=_.findIndex(g,function(t){return d?t[d]==e:t==e});if(t<0)if(d){var n={};n[d]=e,g.push(n)}else g.push(e);else g.splice(t,1);i.$apply(function(){c.$setViewValue(g),c.$setDirty(),c.$validate(),p(c.$invalid)})}(t)},u=0;u /g,">")},String.prototype._base64_keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",String.prototype.base64encode=function(){for(var e,t,n,r,i,o,s,a="",l=0,c=this.utf8encode();l>2,i=(3&e)<<4|(t=c.charCodeAt(l++))>>4,o=(15&t)<<2|(n=c.charCodeAt(l++))>>6,s=63&n,isNaN(t)?o=s=64:isNaN(n)&&(s=64),a=a+this._base64_keyStr.charAt(r)+this._base64_keyStr.charAt(i)+this._base64_keyStr.charAt(o)+this._base64_keyStr.charAt(s);return a},String.prototype.base64decode=function(){for(var e,t,n,r,i,o,s="",a=0,l=""+this;a>4,t=(15&r)<<4|(i=this._base64_keyStr.indexOf(l.charAt(a++)))>>2,n=(3&i)<<6|(o=this._base64_keyStr.indexOf(l.charAt(a++))),s+=String.fromCharCode(e),64!=i&&(s+=String.fromCharCode(t)),64!=o&&(s+=String.fromCharCode(n));return s},String.prototype.md5=function(){if(this.length){return function(e){function t(e,t){return e<>>32-t}function n(e,t){var n,r,i,o,s;return i=2147483648&e,o=2147483648&t,s=(1073741823&e)+(1073741823&t),(n=1073741824&e)&(r=1073741824&t)?2147483648^s^i^o:n|r?1073741824&s?3221225472^s^i^o:1073741824^s^i^o:s^i^o}function r(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&u|~c&d),s),l)),a),r)}function i(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&d|u&~d),s),l)),a),r)}function o(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c^u^d),s),l)),a),r)}function s(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,u^(c|~d)),s),l)),a),r)}function a(e){var t,n="",r="";for(t=0;t<=3;t++)n+=(r="0"+(e>>>8*t&255).toString(16)).substr(r.length-2,2);return n}var l,c,u,d,h,m,g,p,f,y=Array();for(y=function(e){for(var t,n=e.length,r=n+8,i=16*((r-r%64)/64+1),o=Array(i-1),s=0,a=0;a>>29,o}(e=function(e){e=e.replace(/rn/g,"n");for(var t="",n=0;n127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(63&r|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(63&r|128))}return t}(e)),m=1732584193,g=4023233417,p=2562383102,f=271733878,l=0;l=0&&(a.month=n),n>=0}],"%B":[/[^\d\s\.\/\-]{2,}/,function(t){var n=_.indexOf(_.map(e.months,_.toLower),_.toLower(t));return n>=0&&(a.month=n),n>=0}],"%y":[/\d\d/,function(e){var t=parseInt(s.getFullYear().toString().substring(2))+5;return a.year=parseInt(e),a.yearr){var i=n;n=r,r=i}for(var o=Math.round((r-n)/864e5)+1,s=0;s(n=this.getDay())&&(n+=7),n-t},Date.prototype.firstWeekOfYearForDate=function(e){var t,n,r;return t=e.firstWeekOfYear,(r=new Date(this.getTime())).setMonth(0),r.setDate(1),n=r.dayOfWeek(e),"First4DayWeek"==t?n<4?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):"FirstFullWeek"==t?0===n?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):r.beginOfWeek(e.firstDayOfWeek)},Date.prototype.getWeek=function(e){var t,n,r,i;return(i=new Date(this.getTime())).addDays(6),(t=i.firstWeekOfYearForDate(e)).getTime()0&&(t-=7);var n=this.beginOfDay();return n.setHours(12),n.addDays(t),n},Date.prototype.endOfWeek=function(e){var t=this.beginOfWeek(e);return t.addDays(6),t.setHours(23),t.setMinutes(59),t.setSeconds(59),t.setMilliseconds(999),t},Date.prototype.getDayString=function(){var e=this.getYear();e<1e3&&(e+=1900);var t=""+(this.getMonth()+1);1==t.length&&(t="0"+t),e+=t;var n=""+this.getDate();return 1==n.length&&(n="0"+n),e+=n},Date.prototype.getHourString=function(){var e=this.getHours()+"00";return 3==e.length&&(e="0"+e),e},Date.prototype.format=function(e,t){var n,r,i,o,s=[],a=/%[deaAmbByYUHIMp]/g,c={"%d":this.getDate(),"%e":this.getDate(),"%a":e.shortDays[this.getDay()],"%A":e.days[this.getDay()],"%m":this.getMonth()+1,"%b":e.shortMonths[this.getMonth()],"%B":e.months[this.getMonth()],"%y":this.getFullYear().toString().substring(2),"%Y":this.getFullYear(),"%U":this.getWeek(e),"%H":this.getHours(),"%M":this.getMinutes()};for(c["%I"]=c["%H"]>12?c["%H"]%12:c["%H"],c["%p"]=c["%H"]<12?l("AM"):l("PM"),c["%d"]=(c["%d"]<10?"0":"")+c["%d"],c["%e"]=(c["%e"]<10?" ":"")+c["%e"],c["%m"]=(c["%m"]<10?"0":"")+c["%m"],c["%H"]=(c["%H"]<10?"0":"")+c["%H"],c["%I"]=(c["%I"]<10?"0":"")+c["%I"],c["%M"]=(c["%M"]<10?"0":"")+c["%M"],n=t.replace(a,"\0").split("\0"),i=0,o=(r=t.match(a)).length;i<=o;i++)n.length&&s.push(n.shift()),s.push(c[r[i]]);return s.join("")};function l(){var e,t,n=arguments[0],r=n,i=arguments;for(labels[n]?r=labels[n]:clabels[n]&&(r=clabels[n]),e=1,t=0;e1&&(r=r.replace(/%((%)|s|d)/g,function(t){var n=null;if(t[2])n=t[2];else{switch(n=i[e],t){case"%d":n=parseFloat(n),isNaN(n)&&(n=0)}e++}return n})),r}function hexToRgb(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function contrast(e){var t,n,r=1;if(t=hexToRgb(e)){n=[t.r/255,t.g/255,t.b/255];for(var i=0;i.179?"black":"white"}function guid(){function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return(e()+e()+"-"+e()+"-4"+e().substr(0,3)+"-"+e()+"-"+e()+e()+e()).toLowerCase()}
+!function(){"use strict";angular.module("SOGo.Common",["ngAnimate","ngMessages","ngSanitize","ngMaterial","mdColors"]).value("sgSettings",{isPopup:document.body.classList.contains("popup"),baseURL:function(){return ApplicationBaseURL||null},resourcesURL:function(){return ResourcesURL||null},activeUser:function(e){var t={login:UserLogin||null,identification:UserIdentification||null,email:UserEmail||null,language:UserLanguage||null,folderURL:UserFolderURL||null,isSuperUser:IsSuperUser||null,path:{calendar:UserCalendarPath||null,contacts:UserContactsPath||null,mail:UserMailPath||null,preferences:UserPreferencesPath||null,administration:IsSuperUser?UserAdministrationPath:null,help:HelpURL||null,logoff:UserLogoffPath||null}};return e?t[e]:t},minimumSearchLength:function(){return angular.isNumber(minimumSearchLength)?minimumSearchLength:2}}).constant("sgColors",{selection:["#FFFFFF","#330033","#C0C0C0","#999999","#666666","#333333","#000000","#FFCCCC","#FF6666","#FF0000","#CC0000","#990000","#660000","#330000","#FFCC99","#FF9966","#FF9900","#FF6600","#CC6600","#993300","#663300","#FFFF99","#FFFF66","#FFCC66","#FFCC33","#CC9933","#996633","#663333","#FFFFCC","#FFFF33","#FFFF00","#FFCC00","#999900","#666600","#333300","#CCCCCC","#66FF99","#33FF33","#33CC00","#009900","#006600","#003300","#99FFFF","#33FFFF","#66CCCC","#00CCCC","#339999","#336666","#003333","#CCFFFF","#66FFFF","#33CCFF","#3366FF","#3333FF","#000099","#000066","#CCCCFF","#9999FF","#6666CC","#6633FF","#6600CC","#333399","#330099","#FFCCFF","#FF99FF","#CC66CC","#CC33CC","#993399","#663366","#99FF99"]}).constant("sgConstant",{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1023px)","gt-md":"(min-width: 1024px)",lg:"(min-width: 1024px) and (max-width: 1279px)","gt-lg":"(min-width: 1280px)",xl:"(min-width: 1920px)",print:"print"}).config(e).factory("AuthInterceptor",t).factory("ErrorInterceptor",n),e.$inject=["$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider"];function e(e,t,n,r,i){r.definePalette("sogo-green",{50:"eaf5e9",100:"cbe5c8",200:"aad6a5",300:"88c781",400:"66b86a",500:"56b04c",600:"4da143",700:"388e3c",800:"367d2e",900:"225e1b",A100:"fafafa",A200:"69f0ae",A400:"00e676",A700:"00c853",contrastDefaultColor:"dark",contrastLightColors:["300","400","500","600","700","800","900"]}),r.definePalette("sogo-blue",{50:"f0faf9",100:"e1f5f3",200:"ceebe8",300:"bfe0dd",400:"b2d6d3",500:"a1ccc8",600:"8ebfbb",700:"7db3b0",800:"639997",900:"4d8080",A100:"d4f7fa",A200:"c3f5fa",A400:"53e3f0",A700:"00b0c0",contrastDefaultColor:"light",contrastDarkColors:["50","100","200"]}),r.definePalette("sogo-paper",{50:"fcf7f8",100:"f7f1dc",200:"ede5ca",300:"e6d8ba",400:"e2d2a3",500:"d6c48d",600:"baa870",700:"857545",800:"524517",900:"433809",1000:"000000",A100:"ffffff",A200:"eeeeee",A400:"bdbdbd",A700:"616161",contrastDefaultColor:"dark",contrastLightColors:["800","900"]});var o=r.extendPalette("grey",{600:"00B0C0"});r.definePalette("sogo-grey",o),r.theme("default").primaryPalette("sogo-blue",{default:"900","hue-1":"400","hue-2":"800","hue-3":"A700"}).accentPalette("sogo-green",{default:"500","hue-1":"A100","hue-2":"300","hue-3":"A700"}).backgroundPalette("sogo-grey"),DebugEnabled||(e.debugEnabled(!1),t.debugInfoEnabled(!1),i.disableWarnings(),r.generateThemesOnDemand(!0)),n.interceptors.push("AuthInterceptor"),n.interceptors.push("ErrorInterceptor")}t.$inject=["$window","$q"];function t(e,t){return{response:function(n){return n&&/^application\/json/.test(n.config.headers.Accept)&&/^[\n\r ]*/.test(n.data)?(e.location.reload(!0),t.reject()):n}}}n.$inject=["$rootScope","$window","$q","$injector"];function n(e,t,n,r){return{responseError:function(i){var o,s;if(/^application\/json/.test(i.config.headers.Accept)){if(t.usesCASAuthentication&&-1==i.status)return o=n.defer(),(s=angular.element('')).on("load",function(){r.get("$http")(i.config).then(o.resolve,o.reject),s.remove()}),document.body.appendChild(s[0]),o.promise;t.usesSAML2Authentication&&401==i.status?t.location.reload(!0):e.$broadcast("http:Error",i)}return n.reject(i)}}}}(),function(){"use strict";var e;angular.module("mdColors",["ngMaterial"]).config(t).run(n),t.$inject=["$mdThemingProvider"];function t(t){e=t}n.$inject=["$interpolate","$document","$log"];function n(t,n,r){function i(e){return e.join("")}for(var o=t(i([".md-{{theme}}-theme",".md-fg"])+" { color:{{value}};}"),s=t(i([".md-{{theme}}-theme",".md-bg"])+" { background-color:{{value}};}"),a=t(i([".md-{{theme}}-theme",".md-bdr"])+" { border-color:{{value}};}"),l=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-fg"])+" { color:{{value}};}"),c=t(i([".md-{{theme}}-theme",".md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),u=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-fg"])+" { color:{{value}};}"),d=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bg"])+" { background-color:{{value}}; color:{{contrast}} !important; }"),h=t(i([".md-{{theme}}-theme",".md-{{palette}}",".md-bdr"])+" { border-color:{{value}};}"),m=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-fg"])+" { color:{{value}};}"),g=t(i([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),p=function(){var e=n[0].head.querySelector('style[title="Dynamic-Generated-by-mdColors"]');null===e&&((e=n[0].createElement("style")).title="Dynamic-Generated-by-mdColors",e.appendChild(n[0].createTextNode("")),n[0].head.appendChild(e));return e.sheet}(),f=0;p.cssRules.length>0;)p.deleteRule(0);angular.forEach(e._THEMES,function(t,n){y(o,s,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-2"]],"hue-2"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-3"]],"hue-3"),y(l,c,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues["hue-1"]],"hue-1"),v(a,n,"primary",e._PALETTES[t.colors.primary.name][t.colors.primary.hues.default]),angular.forEach(t.colors,function(t,r){y(u,d,n,r,e._PALETTES[t.name][t.hues.default]),v(h,n,r,e._PALETTES[t.name][t.hues.default]),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-2"]],"hue-2"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-3"]],"hue-3"),y(m,g,n,r,e._PALETTES[t.name][t.hues["hue-1"]],"hue-1")})});function y(e,t,n,r,i,o){if(i){var s={theme:n,palette:r,value:"rgb("+i.value[0]+","+i.value[1]+","+i.value[2]+")",contrast:"rgb("+i.contrast[0]+","+i.contrast[1]+","+i.contrast[2]+")",hue:o};p.insertRule(e(s),f),f+=1,p.insertRule(t(s),f),f+=1}}function v(e,t,n,r,i){if(r){var o="rgb("+r.value[0]+","+r.value[1]+","+r.value[2]+")";p.insertRule(e({theme:t,palette:n,value:o,hue:i}),f),f+=1}}}}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.decodeURIComponent}angular.module("SOGo.Common").filter("decodeUri",e)}(),function(){"use strict";e.$inject=["$window"];function e(e){return e.encodeURIComponent}angular.module("SOGo.Common").filter("encodeUri",e)}(),function(){"use strict";e.$inject=["$sce"];function e(e){return function(t){var n=angular.element(""+t+"
");return n.find("a").attr("target","_blank"),e.trustAs("html",n.html())}}angular.module("SOGo.Common").filter("ensureTarget",e)}(),function(){"use strict";angular.module("SOGo.Common").filter("loc",function(){return l})}(),function(){"use strict";angular.module("SOGo.Common").filter("range",function(){return function(e){for(var t=[],n=0;n"):void 0}}angular.module("SOGo.Common").filter("txt2html",e)}(),function(){"use strict";e.$inject=["$document","$timeout","$mdDialog","Dialog","usersWithACL","User","folder"];function e(e,t,n,r,i,o,s){var a=this;a.users=i,a.folder=s,a.selectedUser=null,a.selectedUid=null,a.userToAdd="",a.searchText="",a.folderClassName=function(){return!!angular.isFunction(s.getClassName)&&s.getClassName("bg")},a.templateName=function(t){return"UIx"+(e[0].getElementById("UIxAnonymousUserRightsEditor")&&t.$isAnonymous()?"Anonymous":"")+"UserRightsEditor"},a.userFilter=function(e){return o.$filter(e,s.$acl.users)},a.closeModal=function(){s.$acl.$resetUsersRights(),n.hide()},a.saveModal=function(){s.$acl.$saveUsersRights().then(function(){n.hide()},function(e,t){r.alert(l("Warning"),l("An error occured please try again."))})},a.confirmChange=function(e){var t=e.$confirmRights(a.folder);t&&(a.confirmation.showing=!0,a.confirmation.message=t)},a.removeUser=function(e){t(function(){s.$acl.$removeUser(e.uid)},500)},a.addUser=function(e){e&&s.$acl.$addUser(e).then(function(e){a.userToAdd="",a.searchText="",a.selectedUid=null,e&&c(e)})},a.selectAllRights=function(e){s.$acl.$selectAllRights(e)},a.selectUser=c,a.showRights=function(e){return a.selectedUid==e.uid&&!e.inactive},a.confirmation={showing:!1,message:""};function c(e,t){if(t&&t.target.parentNode.classList.contains("md-secondary"))return!1;a.selectedUid==e.uid?a.selectedUid=null:(a.selectedUid=e.uid,a.selectedUser=e,e.inactive||a.selectedUser.$rights())}}angular.module("SOGo.Common").controller("AclController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$timeout","$interval","$http","$window","$mdSidenav","$mdToast","$mdMedia","$log","sgConstant","sgSettings","Resource","Alarm"];function e(e,t,n,r,i,o,s,a,c,u,d,h,m,g){var p=new m(h.baseURL(),h.activeUser());this.$onInit=function(){t.isPopup=h.isPopup,t.activeUser=h.activeUser(),t.baseURL=h.baseURL(),t.leftIsClose=!c(d["gt-md"]),t.centerIsClose=!!o.centerIsClose&&!t.leftIsClose,t.currentDay=window.currentDay,n(function(){r(function(){i.get("../date").then(function(e){t.currentDay=e})},864e5)},1e3*window.currentDay.secondsBeforeTomorrow),t.$watch(function(){return c(d["gt-md"])},function(e){t.isGtMedium=e,e&&(t.leftIsClose=!1)}),e.$on("http:Error",f),h.activeUser("path").calendar&&g.getAlarms()},t.toggleLeft=function(){t.isGtMedium?t.leftIsClose=!t.leftIsClose:(t.leftIsClose=!s("left").isOpen(),t.leftIsClose&&angular.element(o).triggerHandler("resize"),s("left").toggle().then(function(){u.debug("toggle left is done")}))},t.toggleRight=function(){s("right").toggle().then(function(){u.debug("toggle right is done")})},t.toggleCenter=function(e){t.centerIsClose=!t.centerIsClose,e&&e.save&&p.post(null,"saveListState",{state:t.centerIsClose?"collapse":"rise"})};function f(e,t){var n;t.data&&t.data.message&&angular.isString(t.data.message)?n=t.data.message:t.status&&(n=t.statusText),n?a.show({template:["",' ',' error_outline '," "+l(n)+" ","
"," "].join(""),hideDelay:5e3,position:"top right"}):u.debug("untrap error")}}angular.module("SOGo.Common").controller("navController",e)}(),function(){"use strict";function e(e){this.folderId=e}e.factory=["$q","$timeout","sgSettings","Resource","User",function(t,n,r,i,o){return angular.extend(e,{$q:t,$timeout:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$User:o}),e}],angular.module("SOGo.Common").factory("Acl",e.factory),e.prototype.$users=function(t){var n,r=this,i=e.$q.defer();if(!this.users){return(angular.isDefined(t)?e.$$resource.userResource(t).fetch(this.folderId,"acls"):e.$$resource.fetch(this.folderId,"acls")).then(function(o){return r.users=[],angular.forEach(o.users,function(i){(n=new e.$User(i)).canSubscribeUser=n.isSubscribed,n.wasSubscribed=n.isSubscribed,n.$rights=angular.bind(n,n.$acl,r.folderId,t),r.users.push(n)}),i.resolve(r.users),r.users})}return i.resolve(this.users),i.promise},e.prototype.$addUser=function(t,n){var r=this,i=e.$q.defer(),o={uid:t.uid};if(!t.uid||_.indexOf(_.map(this.users,"uid"),t.uid)>-1)i.resolve();else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"addUserInAcls",o):e.$$resource.fetch(this.folderId,"addUserInAcls",o)).then(function(){t.wasSubscribed=!1,t.userClass=t.isGroup?"normal-group":"normal-user",t.$rights=angular.bind(t,t.$acl,r.folderId,n),r.users.push(t),i.resolve(t)},function(e,t){i.reject(l("An error occured please try again."))})}return i.promise},e.prototype.$removeUser=function(t,n){var r=this,i={uid:t};return(angular.isDefined(n)?e.$$resource.userResource(n).fetch(this.folderId,"removeUserFromAcls",i):e.$$resource.fetch(this.folderId,"removeUserFromAcls",i)).then(function(){var e=_.indexOf(_.map(r.users,"uid"),t);e>=0&&(r.users[e].$shadowRights=null,r.users.splice(e,1))})},e.prototype.$selectAllRights=function(e){_.forEach(e.rights,function(t,n){angular.isNumber(e.rights[n])?e.rights[n]=1:e.rights[n]="Modifier"})},e.prototype.$resetUsersRights=function(){angular.forEach(this.users,function(e){e.$resetRights()})},e.prototype.$saveUsersRights=function(t){var n=this,r=e.$q.defer(),i=e.$q.defer(),o={action:"saveUserRights"},s=[];if(angular.forEach(this.users,function(e){e.$rightsAreDirty()&&s.push(e.$omit())}),s.length){(angular.isDefined(t)?e.$$resource.userResource(t).save(this.folderId,s,o):e.$$resource.save(this.folderId,s,o)).then(function(){angular.forEach(n.users,function(e){e.$rightsAreDirty()&&(e.$shadowRights=angular.copy(e.rights))}),r.resolve()},r.reject)}else r.resolve();return s=[],angular.forEach(this.users,function(e){!e.wasSubscribed&&e.isSubscribed&&s.push(e.uid)}),s.length?(o={uids:s.join(",")},e.$$resource.fetch(this.folderId,"subscribeUsers",o).then(function(){angular.forEach(n.users,function(e){e.wasSubscribed=e.isSubscribed}),i.resolve()},i.reject)):i.resolve(),e.$q.all([r.promise,i.promise])}}(),function(){"use strict";function e(){this.currentAlarm=null}e.getAlarms=function(){var t=this,n=new Date,r=Math.floor(n.getTime()/1e3);this.$$resource.fetch("","alarmslist?browserTime="+r).then(function(n){var r=n.alarms.sort(function(e,t){var n=parseInt(e[2]);return parseInt(t[2])-n});if(r.length>0){var i=r.pop(),o=new Date,s=Math.floor(o.getTime()/1e3),a=i[0]+"/"+i[1],l=parseInt(i[2]),c=l;l>0&&(c-=s);new Date(1e3*l);var u=angular.bind(t,e.showAlarm,a);t.currentAlarm&&t.$timeout.cancel(t.currentAlarm),t.currentAlarm=t.$timeout(u,1e3*c)}})},e.showAlarm=function(e){var t=this;this.$$resource.fetch(e,"?resetAlarm=yes").then(function(n){t.$toast.show({position:"top right",hideDelay:0,template:["",' ','
','
{{ summary }}
','
'," ",' {{ "Snooze for " | loc }} ',' ',' ',l("5 minutes")," ",' ',l("10 minutes")," ",' ',l("15 minutes")," ",' ',l("30 minutes")," ",' ',l("45 minutes")," ",' ',l("1 hour")," ",' ',l("1 day")," "," "," ",' ',l("Snooze")," ",' ',l("Close")," ","
","
","
"," "].join(""),locals:{url:e},controller:r}),r.$inject=["scope","$mdToast","url"];function r(e,r,i){e.summary=n.summary,e.reminder="10",e.close=function(){r.hide()},e.snooze=function(){t.$$resource.fetch(i,"view?snoozeAlarm="+e.reminder),r.hide()}}})},t.$inject=["$timeout","sgSettings","Resource","$mdToast"];function t(t,n,r,i){return angular.extend(e,{$timeout:t,$$resource:new r(n.activeUser("folderURL")+"Calendar",n.activeUser()),$toast:i}),e}angular.module("SOGo.Common").factory("Alarm",t)}(),function(){"use strict";angular.module("SOGo.Authentication",["ngCookies"]).constant("passwordPolicyConfig",{PolicyPasswordChangeUnsupported:-3,PolicyPasswordSystemUnknown:-2,PolicyPasswordUnknown:-1,PolicyPasswordExpired:0,PolicyAccountLocked:1,PolicyChangeAfterReset:2,PolicyPasswordModNotAllowed:3,PolicyMustSupplyOldPassword:4,PolicyInsufficientPasswordQuality:5,PolicyPasswordTooShort:6,PolicyPasswordTooYoung:7,PolicyPasswordInHistory:8,PolicyNoError:65535}).provider("Authentication",function(){function e(e,t){var n,r,i,o,s,a;return n=e,t&&(n+="@"+t.value),r=""+window.location.href,"/"==(i=ApplicationBaseURL+encodeURIComponent(n))[0]&&(o=r.split("/"),s=o[2],a=o[0],i=a+"//"+s+i),r.startsWith(i)&&!r.endsWith("/logoff")?r:i}this.$get=t,t.$inject=["$q","$http","$cookies","passwordPolicyConfig"];function t(t,n,r,i){function o(){var e,t=null,n=r.get("0xHIGHFLYxSOGo");return n&&n.length>8&&(e=decodeURIComponent(n.substr(8)),t=e.base64decode().split(":")),t}return{login:function(r){var s,a=t.defer(),c=r.username,u=r.password,d=r.domain,h=r.rememberLogin?1:0;return r.loginSuffix&&!c.endsWith(r.loginSuffix)&&(c+=loginSuffix,d=!1),r.language&&"WONoSelectionString"!=r.language&&(s=r.language),n({method:"POST",url:"/SOGo/connect",data:{userName:c,password:u,domain:d,language:s,rememberLogin:h}}).then(function(t){var n=t.data,r=o();r?void 0!==n.expire&&void 0!==n.grace?n.expire<0&&n.grace>0?a.reject({grace:n.grace}):n.expire>0&&-1==n.grace?a.reject({expire:n.expire}):a.resolve({cn:n.cn,url:e(c,d)}):a.resolve({url:e(c,d)}):a.reject(l("cookiesNotEnabled"))},function(e){var t,n,r=e.data;r&&r.LDAPPasswordPolicyError?(n=r.LDAPPasswordPolicyError,t=n==i.PolicyNoError?l("Wrong username or password."):n==i.PolicyAccountLocked?l("Your account was locked due to too many failed attempts."):l("Login failed due to unhandled error case: ")+n):t=l("Unhandled error response"),a.reject({error:t})}),a.promise},changePassword:function(e){var s=t.defer(),a=o(),c=r.get("XSRF-TOKEN");return r.remove("XSRF-TOKEN",{path:"/SOGo/"}),n({method:"POST",url:"/SOGo/so/changePassword",headers:{"X-XSRF-TOKEN":c},data:{userName:a[0],password:a[1],newPassword:e}}).then(s.resolve,function(e){var t,n=e.data,o=n.LDAPPasswordPolicyError;o?o==i.PolicyNoError?t=l("Password change failed"):o==i.PolicyPasswordModNotAllowed?t=l("Password change failed - Permission denied"):o==i.PolicyInsufficientPasswordQuality?t=l("Password change failed - Insufficient password quality"):o==i.PolicyPasswordTooShort?t=l("Password change failed - Password is too short"):o==i.PolicyPasswordTooYoung?t=l("Password change failed - Password is too young"):o==i.PolicyPasswordInHistory?t=l("Password change failed - Password is in history"):(t=l("Unhandled policy error: %{0}").formatted(o),o=i.PolicyPasswordUnknown):(o=i.PolicyPasswordSystemUnknown,t=_("Unhandled error response")),r.put("XSRF-TOKEN",c,{path:"/SOGo/"}),s.reject(t)}),s.promise}}}})}(),function(){"use strict";function e(){}e.alert=function(e,t){var n=this.$modal.alert().title(e).htmlContent(t).ok(l("OK")).multiple(!0);this.$modal.show(n)},e.confirm=function(e,t,n){var r=this.$modal.confirm().title(e).htmlContent(t).ok(n&&n.ok?n.ok:l("OK")).cancel(n&&n.cancel?n.cancel:l("Cancel"));return this.$modal.show(r)},e.prompt=function(e,t,n){var r=n||{},i=e.asCSSIdentifier(),o=this.$q.defer();this.$modal.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,template:['',' "," "].join(""),controller:s}),s.$inject=["scope","$mdDialog"];function s(t,n){t.title=e,t.name="",t.cancel=function(){o.reject(),n.hide()},t.ok=function(){o.resolve(t.name),n.hide()}}return o.promise},t.$inject=["$q","$mdDialog"];function t(t,n){return angular.extend(e,{$q:t,$modal:n}),e}angular.module("SOGo.Common").factory("Dialog",t)}(),function(){"use strict";angular.module("SOGo.Common").factory("Gravatar",function(){return function(e,t,n,r){var i,o,s,a=t,l=n;return e?((i=e.indexOf("<"))>=0&&(o=e.indexOf(">",i))>i&&(e=e.substring(i+1,o)),t||(a=48),s=e.md5(),l&&"none"!=l||(n=r&&r.no_404?"mm":"404"),"https://www.gravatar.com/avatar/"+s+"?s="+a+"&d="+n):""}})}(),function(){"use strict";function e(e,t,n,r,i,o){angular.extend(this,{_http:e,_q:t,_window:n,_path:r,_activeUser:i}),angular.extend(this,o),this._path=this._path.replace(/\/$/,"")}e.$factory=["$http","$q","$window",function(t,n,r){return function(i,o,s){return new e(t,n,r,i,o,s)}}],angular.module("SOGo.Common").factory("Resource",e.$factory),e.prototype.userResource=function(t){var n=_.compact(this._activeUser.folderURL.split("/"));return t&&n.splice(n.length-1,1,escape(t)),new e(this._http,this._q,this._window,"/"+n.join("/"),this._activeUser)},e.prototype.path=function(){var e=[this._path];return arguments.length>0&&Array.prototype.push.apply(e,Array.prototype.slice.call(arguments)),e.join("/")},e.prototype.fetch=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e.split("/")),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http({method:"GET",url:i,params:n}).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.newguid=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/newguid";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise},e.prototype.create=function(e,t){var n=this._q.defer(),r=this._path+"/"+e;return this._http.post(r,{name:t}).then(function(e){return n.resolve(e.data)},n.reject),n.promise},e.prototype.post=function(e,t,n){var r=this._q.defer(),i=[this._path];return e&&i.push(e),t&&i.push(t),i=_.compact(_.flatten(i)).join("/"),this._http.post(i,n).then(function(e){return r.resolve(e.data)},r.reject),r.promise},e.prototype.save=function(e,t,n){var r=n&&n.action?n.action:"save";return this.post(e,r,t)},e.prototype.download=function(e,t,n,r){this._q.defer();var i=r&&r.type?r.type:"application/zip",o=[this._path];e&&o.push(e),t&&o.push(t),o=_.compact(_.flatten(o)).join("/");return this._http({method:"POST",url:o,data:n,headers:{accept:i},responseType:"arraybuffer",cache:!1,transformResponse:function(e,t,n){var o,s=null;if(n<200||n>299)throw new Error("Bad gateway");e&&(s=new Blob([e],{type:i})),r&&r.filename?o=r.filename:(a=t("content-disposition"))&&a.split(";")[1].trim().split("=")[1].replace(/"/g,"");var a;if(!saveAs)throw new Error("To use Resource.download, FileSaver.js must be loaded.");saveAs(s,o)}})},e.prototype.open=function(e,t){var n=[this._path];e&&n.push(e),t&&n.push(t),n=_.compact(_.flatten(n)).join("/"),this._window.location.href=n},e.prototype.remove=function(e){var t=this._q.defer(),n=this._path+"/"+e+"/delete";return this._http.get(n).then(function(e){return t.resolve(e.data)},t.reject),t.promise}}(),function(){"use strict";e.$inject=["$rootScope","$timeout"];function e(e,t){return function(n){t(function(){e.$broadcast("sgFocusOn",n)})}}angular.module("SOGo.Common").factory("sgFocus",e)}(),function(){"use strict";e.$inject=["$mdDialog","$sgHotkeys"];function e(e,t){return angular.extend(t,{$modal:e}),new t}angular.module("SOGo.Common").service("sgHotkeys",e).provider("$sgHotkeys",function(){var e={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"caps",27:"escape",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},t={42:"*",63:"?"};this.$get=n,n.$inject=["$rootScope","$window"];function n(n,r){var i=function(e){this.id=e.id||guid(),this.key=e.key,this.description=e.description||null,this.context=e.context||null,this.callback=e.callback,this.preventInClass=e.preventInClass,this.args=e.args,this.onKeyUp=!1,this.key.length>1&&(this.lkey=l("key_"+this.key))};i.prototype.clone=function(){return new i(this)};var o=function(){this._hotkeys={},this._hotkeysUp={},this._preventIn=["INPUT","SELECT","TEXTAREA","MD-OPTION"],this._preventInClass=["md-chip-content"],this._onKeydown=this._onKeydown.bind(this),this._onKeyup=this._onKeyup.bind(this),this._onKeypress=this._onKeypress.bind(this),this.initialize()};return o.prototype.initialize=function(){this.registerHotkey(this.createHotkey({key:"?",description:l("Show or hide this help"),callback:this._toggleCheatSheet.bind(this)})),r.addEventListener("keydown",this._onKeydown,!0),r.addEventListener("keyup",this._onKeyup,!0),r.addEventListener("keypress",this._onKeypress,!0)},o.prototype._invokeHotkeyHandlers=function(e,t,n){for(var r=0,i=n.length;r=0;n--){var r=e.clone();r.key=e.key[n];var i=this._deregisterHotkey(r);void 0!==i&&t.push(i[0])}else t.push(this._deregisterHotkey(e));return t},o.prototype._validateHotkey=function(e){if(!(e instanceof i))throw new TypeError("Hotkeys: Expected a hotkey object be instance of HotKey")},o.prototype._registerKey=function(e){var t=this._hotkeys;return e.onKeyUp&&(t=this._hotkeysUp),t[e.key]=t[e.key]||[],t[e.key].push(e),e},o.prototype._registerKeys=function(e){var t=[];if(angular.isArray(e.key))for(var n=e.key.length-1;n>=0;n--){var r=e.clone();r.id=guid(),r.key=e.key[n],t.push(this._registerKey(r))}else t.push(this._registerKey(e));return t},o.prototype.registerHotkey=function(e){return this._validateHotkey(e),this._registerKeys(e)},o.prototype.registerHotkeyUp=function(e){this._validateHotkey(e),e.onKeyUp=!0,this._registerKeys(e)},o.prototype.createHotkey=function(e){if(null===e.key||void 0===e.key)throw new TypeError('HotKeys: Argument "key" is required');if(null===e.callback||void 0===e.callback)throw new TypeError('HotKeys: Argument "callback" is required');e.callback=(t=e.callback,function(e,r){n.$apply(function(){t.call(this,e,r)}.bind(this))});var t;return new i(e)},o.prototype.match=function(e,t){angular.isArray(t)||(t=[t]);var n=this.keyStringFromEvent(e);return Boolean(~t.indexOf(n))},o.prototype._toggleCheatSheet=function(){var e=this;this._cheatSheet?(o.$modal.hide(),this._cheatSheet=null):this._cheatSheet=o.$modal.show({clickOutsideToClose:!0,escapeToClose:!0,template:[""," "," ",' ',' '," {{keys[0].lkey || hotkey}} ","
"," {{keys[0].description}}"," "," "," "," "].join(""),controller:t,locals:{hotkeys:e._hotkeys}}).finally(function(){e._cheatSheet=null}),t.$inject=["$scope","hotkeys"];function t(e,t){e.hotkeys=t,e.closeDialog=function(){o.$modal.hide()}}},o}})}(),function(){"use strict";function e(e){e&&this.init(e)}e.factory=["$q","$log","sgSettings","Resource",function(t,n,r,i){return angular.extend(e,{$q:t,$log:n,$$resource:new i(r.activeUser("folderURL"),r.activeUser()),$query:"",$users:[]}),e}],angular.module("SOGo.Common").factory("User",e.factory),e.$filter=function(t,n,r){var i=e.$$resource,o={search:t};if(r&&r.dry)r&&r.uid&&(i=e.$$resource.userResource(r.uid));else{if(!t)return e.$users.splice(0,e.$users.length),e.$q.when(e.$users);if(e.$query==t)return e.$q.when(e.$users);e.$query=t}return i.fetch(null,"usersSearch",o).then(function(t){var i,o,s,a,l=function(e){return this.uid==e.uid};for(r?r.dry?a=[]:r.results&&(a=r.results):a=e.$users,i=n?_.filter(t.users,function(e){return!_.find(n,_.bind(l,e))}):t.users,o=a.length-1;o>=0;o--)s=a[o],_.find(i,_.bind(l,s))||a.splice(o,1);return _.forEach(i,function(t,n){if(_.isUndefined(_.find(a,_.bind(l,t)))){var r=new e(t);a.splice(n,0,r)}}),e.$log.debug(a),a})},e.prototype.init=function(e){angular.extend(this,e),this.$$shortFormat||(this.$$shortFormat=this.$shortFormat()),this.$$image||(this.$$image=this.image),this.$avatarIcon=this.$isGroup()||this.$isSpecial()?"group":"person",this.empty=" "},e.prototype.$fullname=function(){var e=this.cn||this.uid;return this.c_info&&(e+=" ("+this.c_info.split("\n").join("; ")+")"),e},e.prototype.$shortFormat=function(e){var t=this.$fullname(),n=this.c_email;return!(e&&!1===e.email)&&n&&t!=n&&(t+=" <"+n+">"),t},e.prototype.$acl=function(t,n){var r=this,i=e.$q.defer(),o={uid:this.uid};if(this.$shadowRights)i.resolve(this.rights);else{(angular.isDefined(n)?e.$$resource.userResource(n).fetch(t,"userRights",o):e.$$resource.fetch(t,"userRights",o)).then(function(e){return r.rights=e,r.$shadowRights=angular.copy(e),i.resolve(e),e})}return i.promise},e.prototype.$isGroup=function(){return this.isGroup||this.userClass&&"normal-group"==this.userClass},e.prototype.$isAnonymous=function(){return"anonymous"==this.uid},e.prototype.$isSpecial=function(){return this.userClass&&"public-user"==this.userClass},e.prototype.$confirmRights=function(e){var t=!1;return!this.$confirmation&&(_.some(_.values(this.rights))&&("anonymous"==this.uid?"AddressBook"==e.constructor.name?t=l('Potentially anyone on the Internet will be able to access your address book "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name):"Calendar"==e.constructor.name&&(t=l('Potentially anyone on the Internet will be able to access your calendar "%{0}", even if they do not have an account on this system. Is this information suitable for the public Internet?',e.name)):"anyone"!=this.uid&&""!=this.uid||("AddressBook"==e.constructor.name?t=l('Any user with an account on this system will be able to access your address book "%{0}". Are you certain you trust them all?',e.name):"Calendar"==e.constructor.name?t=l('Any user with an account on this system will be able to access your calendar "%{0}". Are you certain you trust them all?',e.name):"Mailbox"==e.constructor.name&&(t=l('Any user with an account on this system will be able to access your mailbox "%{0}". Are you certain you trust them all?',e.name)))),this.$confirmation=t,t)},e.prototype.$rightsAreDirty=function(){return this.rights&&!_.isEqual(this.rights,this.$shadowRights)},e.prototype.$resetRights=function(e){var t=this;e?_.map(_.keys(this.rights),function(e){angular.isString(t.rights[e])?t.rights[e]="None":t.rights[e]=0}):this.$shadowRights&&(this.rights=angular.copy(this.$shadowRights))},e.prototype.$folders=function(t){var n=this,r=e.$q.defer(),i={type:t};return this.$$folders?r.resolve(this.$$folders):e.$$resource.userResource(this.uid).fetch(null,"foldersSearch",i).then(function(e){n.$$folders=e.folders,r.resolve(e.folders)}),r.promise},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e},e.prototype.toString=function(){return"[User "+this.c_email+"]"}}(),function(){"use strict";e.$inject=["$scope","$element","$http","$q","Preferences","Gravatar"];function e(e,t,n,r,i,o){var s,a;s=this,e.$on("$destroy",function(){a&&t.off("click",a)}),e.$watch(function(){return s.email},function(e,t){e&&s.urlEmail!=e?(l(),i.defaults.SOGoGravatarEnabled&&function(e){var t=o(e,s.size,i.defaults.SOGoAlternateAvatar);n({method:"GET",url:t,cache:!0,headers:{Accept:"image/*"}}).then(function(){s.url||(s.url=t,s.urlEmail=e,c())},function(){l()})}(e)):e||l()}),"sg-src"in t[0].attributes&&e.$watch(function(){return s.src},function(e){e&&(s.url=e,s.urlEmail=""+s.email,t.addClass("sg-avatar-image--zoomable"),a=function(){t.toggleClass("sg-avatar-image--zoom")},t.on("click",a),c())});function l(){s.url=null,s.urlEmail=null,s.img.addClass("ng-hide"),s.genericImg.removeClass("ng-hide")}function c(){s.genericImg.addClass("ng-hide"),s.img.removeClass("ng-hide")}}angular.module("SOGo.Common").directive("sgAvatarImage",function(){return{restrict:"AE",scope:{},bindToController:{size:"@",email:"=sgEmail",src:"=sgSrc"},transclude:!0,template:['',"
",'
not_interested ','
',"
"].join(""),link:function(e,t,n,r){var i,o=t.find("img"),s=t.find("md-icon"),a=angular.element(s[0]),l=angular.element(s[1]);n.size&&(o.attr("width",n.size),o.attr("height",n.size),a.css("font-size",n.size+"px"),l.css("font-size",parseInt(.4*n.size)+"px")),angular.isDefined(n.ngDisabled)&&(i=e.$watch(n.ngDisabled,function(e){n.disabled&&l.css({display:"block"}),i()})),r.img=o,r.genericImg=a},controller:"sgAvatarImageController",controllerAs:"vm"}}).controller("sgAvatarImageController",e)}(),function(){"use strict";e.$inject=["$mdUtil","$animateCss","$$rAF"];function e(e,t,n){return{link:function(e,r){var i=r[0].querySelector(".sg-button-toggle"),o=i.querySelector(".sg-icon-toggle"),s="md-rotate-180-ccw",a=r[0].querySelector(".sg-block-toggle"),l=!1;i.classList.add("md-clickable"),angular.element(i).on("click",function(){(l=!l)?o.classList.add(s):o.classList.remove(s);l&&(a.style.visibility="visible");n(function(){var e=l?a.scrollHeight:0;t(angular.element(a),{easing:"cubic-bezier(0.35, 0, 0.25, 1)",to:{height:e+"px"},duration:.75}).start().then(function(){c()})})}),c();function c(){a.setAttribute("aria-hidden",!l),a.setAttribute("aria-expanded",l),l||(a.style.visibility="hidden")}}}}angular.module("SOGo.Common").directive("sgBlockToggle",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgCheckmark",e),e.$inject=["$parse","$mdAria","$mdTheming","$mdUtil"];function e(e,t,n,r){var i="sg-checked";return{restrict:"E",replace:!0,transclude:!0,require:"?ngModel",template:[''," check "," "].join(""),compile:function(o,s){return o.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),function(o,s,a,l){var c=d(e,o,"sgTrueValue",a.sgTrueValue,!0),u=d(e,o,"sgFalseValue",a.sgFalseValue,!1);l=l||r.fakeNgModel(),n(s),t.expectWithText(s,"aria-label"),s.on("click",function(e){s[0].hasAttribute("disabled")||o.$apply(function(){var t=l.$viewValue==c?u:c;l.$setViewValue(t,e&&e.type),l.$render()})}),l.$render=function(){l.$viewValue==c?s.addClass(i):s.removeClass(i)};function d(e,t,n,r,i){var o;if(angular.isDefined(r)){if(!(o=e(r)).constant)throw Error("Expected constant expression for `"+n+"`, but saw `"+r+"`.");return o(t)}return i}}}}}}(),function(){"use strict";e.$inject=["$scope","$element","$mdPanel","sgColors"];function e(e,t,n,r){var i,o,s;this.$onInit=function(){i=this,o=t.controller("ngModel")},this.$postLink=function(){this.buttonIcon=t.find("md-icon"),o.$render=function(){a(o.$viewValue)}};function a(e){s=e,i.buttonIcon.css("color",s)}this.showPicker=function(e){for(var t=n.newPanelPosition().relativeTo(i.buttonIcon).addPanelPosition(n.xPosition.ALIGN_START,n.yPosition.ALIGN_TOPS),l=n.newPanelAnimation().openFrom(i.buttonIcon).duration(100).withAnimation(n.animation.FADE),c=[],u="",d=0;d",g&&(u+=' '),u+=""}var p={attachTo:angular.element(document.body),bindToController:!0,controller:f,controllerAs:"$menuCtrl",position:t,animation:l,targetEvent:e,template:['"].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};n.open(p).then(function(e){e.panelEl.one("click",function(){e.close()})}),f.$inject=["mdPanelRef","$state","$mdDialog","User"];function f(e,t,n,r){this.setColor=function(e,t){e&&(_.forEach(e.currentTarget.parentElement.children,function(e){e.classList.remove("selected")}),e.currentTarget.classList.add("selected")),a(t),o.$setViewValue(t)}}}}angular.module("SOGo.Common").directive("sgColorPicker",function(){return{restrict:"E",require:"ngModel",template:[' '," format_color_fill "," "].join(""),controller:e,controllerAs:"$ctrl"}})}(),function(){"use strict";e.$inject=["$compile"];function e(e){return{restrict:"A",link:function(t,n,r){var i=t.$watch(function(e){return e.$eval(r.sgCompile)},function(r){n.html(r),e(n.contents())(t),i()})}}}angular.module("SOGo.Common").directive("sgCompile",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgDatepickerReadonlyInput",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),e.prop("disabled",!0),e.parent().addClass("sg-datepicker-readonly-input-container"))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(o,s,a){var l;r(function(){var t,n,r;t=e(a.sgDraggable)(o),n=a.sgDragStart?e(a.sgDragStart):null,r=a.sgDragCount?e(a.sgDragCount):null,l=new c(s,t,n,r)}),o.$on("$destroy",function(){l.$destroy()});function c(e,t,r,i){if(this.$element=e,this.folder=t,this.dragStart=r,this.count=i,this.helper=n.find("sg-draggable-helper"),!this.helper)throw Error("sg-draggable requires a sg-draggable-helper element.");this.bindedOnDragDetect=angular.bind(this,this.onDragDetect),this.bindedOnDrag=angular.bind(this,this.onDrag),this.$element.on("mousedown",this.bindedOnDragDetect)}c.prototype={dragHasStarted:!1,$destroy:function(){this.$element.off("mousedown",this.bindedOnDragDetect)},getDistanceFromStart:function(e){var t={x:this.startPosition.clientX-e.clientX,y:this.startPosition.clientY-e.clientY};return Math.sqrt(t.x*t.x+t.y*t.y)},onDragDetect:function(e){e.stopPropagation(),this.dragStart&&!this.dragStart(o)||(n.on("mousemove",this.bindedOnDrag),n.one("mouseup",angular.bind(this,this.onDragEnd)))},onDrag:function(e){var n;this.startPosition?!this.dragHasStarted&&this.getDistanceFromStart(e)>10&&(n=this.helper.find("sg-draggable-helper-counter"),this.dragHasStarted=!0,this.helper.removeClass("ng-hide"),this.count&&this.count(o)>1?n.text(this.count(o)).removeClass("ng-hide"):n.addClass("ng-hide"),i.debug("emit folder:dragstart"),t.$emit("folder:dragstart",this.folder)):this.startPosition={clientX:e.clientX,clientY:e.clientY},this.dragHasStarted&&(e.shiftKey||this.folder.isRemote?this.helper.addClass("sg-draggable-helper--copy"):this.helper.removeClass("sg-draggable-helper--copy"),this.helper.css({top:e.pageY+5+"px",left:e.pageX+5+"px"}))},onDragEnd:function(e){var r="move";this.startPosition=null,n.off("mousemove",this.bindedOnDrag),this.dragHasStarted&&((e.shiftKey||this.folder.isRemote)&&(r="copy"),i.debug("emit folder:dragend"),t.$emit("folder:dragend",this.folder,r),this.dragHasStarted=!1,this.helper.addClass("ng-hide"))}}}}}angular.module("SOGo.Common").directive("sgDraggable",e)}(),function(){"use strict";e.$inject=["$parse","$rootScope","$document","$timeout","$log"];function e(e,t,n,r,i){return{restrict:"A",link:function(n,r,i){var o,s,a,l,c=!1;if(!i.sgDrop)throw Error("sg-droppable requires a sg-drop action.");c=!1,s=e(i.sgDroppable),o=e(i.sgDrop),a=t.$on("folder:dragstart",function(e,t){s(n,{dragFolder:t})&&(r.on("mouseenter",u),r.on("mouseleave",d))}),l=t.$on("folder:dragend",function(e,t,i){r.off("mouseenter"),r.off("mouseleave"),c&&(angular.bind(r[0],d)(e),o(n,{dragFolder:t,dragMode:i}))}),n.$on("destroy",function(){a(),l()});function u(e){c=!0,r.addClass("sg-droppable-over")}function d(e){c=!1,this.classList.remove("sg-droppable-over"),r.off("mousemove")}}}}angular.module("SOGo.Common").directive("sgDroppable",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(n.sgEnter),t.preventDefault())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgEscape",function(){return function(e,t,n){t.bind("keydown",function(t){27===t.keyCode&&e.$apply(n.sgEscape)})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFocusOn",function(){return function(e,t,n){e.$on("sgFocusOn",function(e,r){r===n.sgFocusOn&&(t[0].focus(),"function"==typeof t[0].select&&t[0].select())})}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgFolderStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,bindToController:!0,controller:function(){this.contrast=contrast,this.transparent=function(e,t){var n=hexToRgb(e);return["rgba("+n.r,n.g,n.b,t+")"].join(",")}},controllerAs:"cssCtrl",template:['"].join("")}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgNoDirtyCheck",function(){return{restrict:"A",require:"ngModel",link:function(e,t,n,r){if(r){var i=r.$pristine&&!r.$dirty;i&&(r.$pristine=!1,r.$dirty=!0)}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgPlaceholder",function(){return{restrict:"A",scope:{placeholder:"=sgPlaceholder"},link:function(e,t,n){e.$watch("placeholder",function(){t[0].placeholder=e.placeholder})}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgResetOnDisabled",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(e){e.length&&(i(),r.$scope.$watch("ctrl.isDisabled",function(e){e&&r.ngModelCtrl.$invalid&&r.$scope.$emit("md-calendar-change",r.date)}))})},require:"mdDatepicker",restrict:"A"}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgRippleClick",e),e.$inject=["$log","$timeout"];function e(e,t){return{restrict:"A",compile:function(n,r){return function(n,r,i){var o,s,a,l;for(l=r.attr("sg-ripple-click"),a=r[0].parentNode;a&&a.id!=l;)a=a.parentNode;a?(s=a.querySelector("sg-ripple-content"))?((o=a.querySelector("sg-ripple"))?o=angular.element(o):(o=angular.element(' '),a.appendChild(o[0]),s.classList.contains("ng-hide")||s.classList.add("ng-hide")),r.on("click",c),n.$on("$destroy",function(){r.off("click",c)})):e.error("sg-ripple-content not found inside #"+l):e.error("No parent element found with id "+l);function c(e){var n;r[0].hasAttribute("disabled")||(n=e.pageX&&e.pageY?{left:e.pageX,top:e.pageY}:e.target.getBoundingClientRect(),s.classList.contains("ng-hide")?(angular.element(a).css({overflow:"hidden",position:"relative"}),angular.element(s).css({top:a.scrollTop+"px"}),t(function(){o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"400vmin",width:"400vmin"}),s.classList.remove("ng-hide")})):(o.css({top:n.top-a.offsetTop+a.scrollTop+"px",left:n.left-a.offsetLeft+"px",height:"0px",width:"0px"}),s.classList.add("ng-hide"),t(function(){angular.element(a).css({overflow:"",position:""})},800)))}}}}}}(),function(){"use strict";e.$inject=["$parse"];function e(e){return{restrict:"A",controller:"sgSearchController",controllerAs:"$sgSearchController",priority:1001,compile:function(t,n){t.find("md-input-container");var r=t.find("input"),i=t.find("md-select"),o=t.find("md-button");r.attr("ng-model","$sgSearchController.searchText"),r.attr("ng-model-options","$sgSearchController.searchTextOptions"),r.attr("ng-change","$sgSearchController.onChange()"),i&&(i.attr("ng-model","$sgSearchController.searchField"),i.attr("ng-change","$sgSearchController.onChange()"));o&&o.attr("sg-search-cancel")?(o.attr("ng-click",o.attr("sg-search-cancel")),o.removeAttr("sg-search-cancel")):o=null;return function(t,n,i,s){var a=n.find("button");s.formName=n.attr("name"),s.inputName=r.attr("name"),s.allowDot=e(n.attr("sg-allow-dot"))(t),s.fields=e(n.attr("sg-search-fields"))(t),s.doSearch=e(n.attr("sg-search")),o&&a&&a.on("click",s.cancelSearch)}}}}t.$inject=["$window","$scope","$element"];function t(e,t,n){var r=this;if(r.searchText=null,r.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},n.attr("sg-search-fields"))var i=t.$watch(r.fields,function(e){r.searchField=_.clone(r.fields),i()});r.onChange=function(){var e=t[r.formName],n=e[r.inputName],i=n.$viewValue;(r.allowDot&&"."==i||e.$valid&&i)&&("."==i&&n.$setValidity("minlength",!0),r.doSearch(t,{searchText:i,searchField:r.searchField}))},r.cancelSearch=function(){r.searchText=null}}angular.module("SOGo.Common").controller("sgSearchController",t).directive("sgSearch",e).directive("sgSearch",function(){return{restrict:"A",priority:1e3,transclude:!0,compile:function(e,t){return function(e,t,n,r,i){i(function(e){t.append(e)})}}}})}(),function(){"use strict";angular.module("SOGo.Common").directive("sgSelectOnly",function(){return{link:function(e,t,n,r){var i=e.$watch(function(){return t.find("input").eq(0)},function(t){var n;t.length&&(i(),n=t.controller("ngModel"),t.on("blur",function(){r.scope.selectedItem||e.$applyAsync(n.$setValidity("required",!1))}))})},require:"mdAutocomplete",restrict:"A"}})}(),function(){"use strict";e.$inject=["User"];function e(e){return{restrict:"A",scope:{folderType:"@sgSubscribe",onFolderSelect:"&sgSubscribeOnSelect"},replace:!1,bindToController:!0,controller:n,controllerAs:"$sgSubscribeDialogController",link:t}}function t(e,t,n,r){t.find("input");t.on("click",r.showDialog)}n.$inject=["$mdDialog"];function n(e){var t=this;t.showDialog=function(){e.show({templateUrl:"../Contacts/UIxContactsUserFolders",clickOutsideToClose:!0,locals:{folderType:t.folderType,onFolderSelect:t.onFolderSelect},controller:r,controllerAs:"subscribe"})}}r.$inject=["$mdDialog","folderType","onFolderSelect","User"];function r(e,t,n,r){var i=this;i.selectedUser=null,i.users=[],i.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},i.onChange=function(e){r.$filter(i.searchText,null,{results:i.users}).then(function(t){e.$setValidity("matches",t.length>0),e.$setTouched(),i.selectedUser&&_.isUndefined(_.find(t,function(e){return e.uid==i.selectedUser.uid}))&&(i.selectedUser=null)})},i.selectUser=function(e){i.selectedUser==i.users[e]?i.selectedUser=null:i.users[e].$folders(t).then(function(){i.selectedUser=i.users[e]})},i.selectFolder=function(e){n({folderData:e})},i.close=function(){e.hide()}}angular.module("SOGo.Common").directive("sgSubscribe",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimePane",function(){return{template:['','
','
','
',' {{hour.displayName}} ',"
","
","
",'
','
','
',' {{minute.displayName}} ',"
","
","
",'
",'
',' ',"
","
"].join(""),scope:{},require:["ngModel","sgTimePane","?^mdInputContainer"],controller:t,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){var i=r[0],o=r[1],s=r[2];if(s)throw Error("sg-timepicker should not be placed inside md-input-container.");o.configureNgModel(i,o)}}});var e=0;t.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale"];function t(t,n,r,i,o,s,a,l,c){var u;s(t),this.$element=t,this.$scope=n,this.dateUtil=r,this.$mdUtil=i,this.keyCode=o.KEY_CODE,this.$$rAF=a,this.timePaneElement=t[0].querySelector(".sg-time-pane"),this.ngModelCtrl=null,this.SELECTED_TIME_CLASS="sg-time-selected",this.FOCUSED_TIME_CLASS="md-focus",this.id=e++,this.displayTime=null,this.selectedTime=null,this.isInitialized=!1,n.hours=[],n.hours[0]=[],n.hours[0][0]=[],n.hours[0][1]=[],n.hours[1]=[],n.hours[1][0]=[],n.hours[1][1]=[];for(var d=0;d<6;d++)n.hours[0][0][d]={id:"tp-"+this.id+"-hour-"+d,displayName:d<10?"0"+d:""+d,selected:!1},n.hours[0][1][d]={id:"tp-"+this.id+"-hour-"+(d+6),displayName:d+6<10?"0"+(d+6):""+(d+6),selected:!1},n.hours[1][0][d]={id:"tp-"+this.id+"-hour-"+(d+12),displayName:""+(d+12),selected:!1},n.hours[1][1][d]={id:"tp-"+this.id+"-hour-"+(d+18),displayName:""+(d+18),selected:!1};for(n.min5=[],n.min5[0]=[],n.min5[1]=[],d=0;d<6;d++)u=5*d,n.min5[0][d]={id:"tp-"+this.id+"-minute5-"+u,displayName:u<10?":0"+u:":"+u,selected:!0},n.min5[1][d]={id:"tp-"+this.id+"-minute5-"+(u+30),displayName:":"+(u+30),selected:!1};for(n.min1=[],d=0;d<12;d++){n.min1[d]=[];for(var h=0;h<5;h++)u=5*d+h,n.min1[d][h]={id:"tp-"+this.id+"-minute-"+u,displayName:u<10?":0"+u:":"+u,selected:!0}}n.show5min=!0,n.getToggleBtnLbl=function(){return n.is5min()?">>":"<<"},n.toggleManual5min=function(){n.manual5min=!n.is5min()},n.is5min=function(){return!0===n.manual5min||!1===n.manual5min?n.manual5min:n.show5min},l.tabindex||t.attr("tabindex","-1");var m=this;this.hourClickHandler=function(e){var t=new Date(m.displayTime);t.setHours(Number(e)),m.setNgModelValue(t,"hours")},n.hourClickHandler=this.hourClickHandler,this.minuteClickHandler=function(e){var t=e.substr(1),n=new Date(m.displayTime);n.setMinutes(Number(t)),m.setNgModelValue(n,"minutes")},n.minuteClickHandler=this.minuteClickHandler;var g=angular.bind(this,this.handleKeyEvent);angular.element(document.body).on("keydown",g),n.$on("$destroy",function(){angular.element(document.body).off("keydown",g)})}t.prototype.configureNgModel=function(e,t){var n=this;n.ngModelCtrl=e,n.$mdUtil.nextTick(function(){n.isInitialized=!0}),e.$render=function(){var e=this.$viewValue;n.$mdUtil.nextTick(function(){n.changeSelectedTime(e,t)})}},t.prototype.changeSelectedTime=function(e,t){var n=this.selectedTime;if(this.selectedTime=e,this.displayTime=new Date(e),n){var r=n.getHours(),i=document.getElementById("tp-"+t.id+"-hour-"+r);i&&(i.classList.remove(this.SELECTED_TIME_CLASS),i.setAttribute("aria-selected","false"));var o=n.getMinutes(),s=document.getElementById("tp-"+t.id+"-minute-"+o);s&&(s.classList.remove(this.SELECTED_TIME_CLASS),s.setAttribute("aria-selected","false"));var a=document.getElementById("tp-"+t.id+"-minute5-"+o);a&&(a.classList.remove(this.SELECTED_TIME_CLASS),a.setAttribute("aria-selected","false"))}if(e){var l,c=e.getHours(),u=document.getElementById("tp-"+t.id+"-hour-"+c);u&&(u.classList.add(this.SELECTED_TIME_CLASS),u.setAttribute("aria-selected","true"));var d=e.getMinutes();d%5==0?(t.$scope.show5min=!0,(l=document.getElementById("tp-"+t.id+"-minute5-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))):t.$scope.show5min=!1,(l=document.getElementById("tp-"+t.id+"-minute-"+d))&&(l.classList.add(this.SELECTED_TIME_CLASS),l.setAttribute("aria-selected","true"))}},t.prototype.setNgModelValue=function(e,t){return this.$scope.$emit("sg-time-pane-change",{date:e,changed:t}),this.ngModelCtrl.$setViewValue(e),this.ngModelCtrl.$render(),e},t.prototype.handleKeyEvent=function(e){var t=this;this.$scope.$apply(function(){return e.which==t.keyCode.ESCAPE||e.which==t.keyCode.TAB?(t.$scope.$emit("md-time-pane-close"),void(e.which==t.keyCode.TAB&&e.preventDefault())):e.which===t.keyCode.ENTER?(t.setNgModelValue(t.displayTime,"enter"),void e.preventDefault()):void 0})},t.prototype.focus=function(e,t){var n=e||this.selectedTime||this.today,r=this.timePaneElement.querySelector(".md-focus");if(r&&r.classList.remove(this.FOCUSED_TIME_CLASS),n){var i=n.getHours(),o=document.getElementById("tp-"+t.id+"-hour-"+i);o&&(o.classList.add(this.FOCUSED_TIME_CLASS),o.focus())}}}(),function(){"use strict";angular.module("SOGo.Common").directive("sgTimepicker",e),e.$inject=["$mdUtil","$mdAria"];function e(e,t){return{template:function(e,t){var n=t.ariaLabel||t.mdPlaceholder;return['',' access_time '," ",'",'"].join("")},require:["ngModel","sgTimepicker","?^form"],scope:{placeholder:"@mdPlaceholder"},controller:s,controllerAs:"ctrl",bindToController:!0,link:function(t,n,r,i){var o=i[0],s=i[1],a=i[2];e.parseAttributeBoolean(r.mdNoAsterisk);if(s.configureNgModel(o),a)var l=t.$watch(function(){return a.$submitted},function(e){e&&(s.updateErrorState(),l())})}}}var t="sg-timepicker-invalid",n="sg-timepicker-open",r={MIN5:{GTXS:192,XS:311},MIN1:{GTXS:384,XS:474}},i={GTXS:530,XS:294},o=/ipad|iphone|ipod|android/i;s.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$mdMedia"];function s(e,t,n,r,i,s,a,l,c,u,d){this.$window=r,this.dateLocale=l,this.dateUtil=c,this.$mdConstant=i,this.$mdUtil=a,this.$$rAF=u,this.$mdMedia=d,this.documentElement=angular.element(document.documentElement),this.ngModelCtrl=null,this.inputElement=t[0].querySelector("input"),this.ngInputElement=angular.element(this.inputElement),this.inputContainer=t[0].querySelector(".sg-timepicker-input-container"),this.timePane=t[0].querySelector(".sg-timepicker-time-pane"),this.timeButton=t[0].querySelector(".sg-timepicker-button"),this.inputMask=angular.element(t[0].querySelector(".sg-timepicker-input-mask-opaque")),this.$element=t,this.$attrs=n,this.$scope=e,this.date=null,this.isFocused=!1,this.isDisabled=!1,this.setDisabled(t[0].disabled||angular.isString(n.disabled)),this.isTimeOpen=!1,this.timePaneOpenedFrom=null,this.timePaneId="sg-time-pane"+a.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=o.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=a.debounce(angular.bind(this,this.closeTimePane),100),this.windowBlurHandler=angular.bind(this,this.handleWindowBlur),this.leftMargin=20,this.topMargin=null,n.tabindex?(this.ngInputElement.attr("tabindex",n.tabindex),n.$set("tabindex",null)):n.$set("tabindex","-1"),s(t),s(angular.element(this.timePane)),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var h=this;e.$on("$destroy",function(){h.detachTimePane()})}s.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;t.ngModelCtrl.$formatters.push(function(e){if(e&&!(e instanceof Date))throw Error("The ng-model for sg-timepicker must be a Date instance. Currently the model is a: "+typeof e);return t.time=e,t.inputElement.value=t.dateLocale.formatTime(e),t.resizeInputElement(),t.updateErrorState(),e}),e.$viewChangeListeners.unshift(angular.bind(this,this.updateErrorState))},s.prototype.attachChangeListeners=function(){var e=this;e.$scope.$on("sg-time-pane-change",function(n,r){var i=new Date(r.date);e.ngModelCtrl.$setViewValue(i),e.time=i,e.inputElement.value=e.dateLocale.formatTime(i),"minutes"==r.changed&&e.closeTimePane(),e.resizeInputElement(),e.inputContainer.classList.remove(t)}),e.ngInputElement.on("input",angular.bind(e,e.resizeInputElement));var n=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;e.ngInputElement.on("input",e.$mdUtil.debounce(e.handleInputEvent,n,e))},s.prototype.attachInteractionListeners=function(){var e=this,t=this.$scope,n=this.$mdConstant.KEY_CODE;e.ngInputElement.on("keydown",function(r){r.altKey&&r.keyCode==n.DOWN_ARROW&&(e.openTimePane(r),t.$digest())}),t.$on("md-time-close",function(){e.closeTimePane()})},s.prototype.installPropertyInterceptors=function(){var e=this;if(this.$attrs.ngDisabled){var t=this.$scope.$parent;t&&t.$watch(this.$attrs.ngDisabled,function(t){e.setDisabled(t)})}Object.defineProperty(this,"placeholder",{get:function(){return e.inputElement.placeholder},set:function(t){e.inputElement.placeholder=t||""}})},s.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.timeButton&&(this.timeButton.disabled=e)},s.prototype.updateErrorState=function(e){var n=e||this.date;this.clearErrorState(),this.dateUtil.isValidDate(n)||this.ngModelCtrl.$setValidity("valid",null===n),this.ngModelCtrl.$valid||this.inputContainer.classList.add(t)},s.prototype.clearErrorState=function(){this.inputContainer.classList.remove(t),["valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},s.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},s.prototype.handleInputEvent=function(e){var t=this.inputElement.value,n=t?this.dateLocale.parseTime(t):null;if(""===t||this.dateUtil.isValidDate(n)){var r=new Date(this.time);r.setHours(n.getHours()),r.setMinutes(n.getMinutes()),this.ngModelCtrl.$setViewValue(r),this.time=r}this.updateErrorState(n)},s.prototype.attachTimePane=function(){var e=this.timePane,t=document.body;e.style.transform="",this.$element.addClass(n),angular.element(t).addClass("md-datepicker-is-showing");var o=this.inputContainer.getBoundingClientRect(),s=t.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var a=o.top-s.top-this.topMargin,l=o.left-s.left-this.leftMargin,c=s.top<0&&0===t.scrollTop?-s.top:document.body.scrollTop,u=s.left<0&&0===t.scrollLeft?-s.left:document.body.scrollLeft,d=c+this.$window.innerHeight,h=u+this.$window.innerWidth;this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:o.width-1+"px",height:o.height-2+"px"});var m=this.$mdMedia("xs")?i.XS:i.GTXS;if(l+m>h){if(h-m>0)l=h-m;else{l=u;var g=this.$window.innerWidth/m;e.style.transform="scale("+g+")"}e.classList.add("sg-timepicker-pos-adjusted")}var p="object"==typeof this.time&&this.time.getMinutes()%5==0?"MIN5":"MIN1",f=this.$mdMedia("xs")?r[p].XS:r[p].GTXS;a+f>d&&d-f>c&&(a=d-f,e.classList.add("sg-timepicker-pos-adjusted")),e.style.left=l+"px",e.style.top=a+"px",document.body.appendChild(e),this.$$rAF(function(){e.classList.add("md-pane-open")})},s.prototype.detachTimePane=function(){this.$element.removeClass(n),angular.element(document.body).removeClass("md-datepicker-is-showing"),this.timePane.classList.remove("md-pane-open"),this.timePane.classList.remove("md-timepicker-pos-adjusted"),this.isTimeOpen&&this.$mdUtil.enableScrolling(),this.timePane.parentNode&&this.timePane.parentNode.removeChild(this.timePane)},s.prototype.openTimePane=function(e){if(!this.isTimeOpen&&!this.isDisabled){this.isTimeOpen=!0,this.timePaneOpenedFrom=e.target,this.$mdUtil.disableScrollAround(this.timePane),this.attachTimePane(),this.evalAttr("ngFocus");var t=this;this.$mdUtil.nextTick(function(){t.documentElement.on("click touchstart",t.bodyClickHandler)},!1),window.addEventListener(this.windowEventName,this.windowEventHandler)}},s.prototype.closeTimePane=function(){if(this.isTimeOpen){this.detachTimePane(),this.ngModelCtrl.$setTouched(),this.evalAttr("ngBlur"),this.documentElement.off("click touchstart",this.bodyClickHandler),window.removeEventListener(this.windowEventName,this.windowEventHandler),this.timePaneOpenedFrom.focus(),this.timePaneOpenedFrom=null,this.isTimeOpen=!1}},s.prototype.getTimePaneCtrl=function(){return angular.element(this.timePane.querySelector("sg-time-pane")).controller("sgTimePane")},s.prototype.focusTime=function(){var e=this;this.$mdUtil.nextTick(function(){var t=e.getTimePaneCtrl();e.getTimePaneCtrl().focus(null,t)},!1)},s.prototype.setFocused=function(e){e||this.ngModelCtrl.$setTouched(),this.evalAttr(e?"ngFocus":"ngBlur"),this.isFocused=e},s.prototype.handleBodyClick=function(e){if(this.isTimeOpen){this.$mdUtil.getClosest(e.target,"sg-time-pane")||this.closeTimePane(),this.$scope.$digest()}},s.prototype.handleWindowBlur=function(){this.inputFocusedOnWindowBlur=document.activeElement===this.inputElement},s.prototype.evalAttr=function(e){this.$attrs[e]&&this.$scope.$parent.$eval(this.$attrs[e])}}(),function(){"use strict";e.$inject=["$parse","$mdUtil","$mdColors"];function e(e,t,n){return{restrict:"A",require:["mdGridList","?ngModel"],compile:function(e,r){return function(i,o,s,a){var l,c,u,d,h,m=e.find("md-grid-tile"),g=[];for((c=a[1]||t.fakeNgModel()).$render=function(){var e=c.$viewValue;g=c.$viewValue,r.sgToggleGridAttr&&(d=r.sgToggleGridAttr,e=_.map(c.$viewValue,r.sgToggleGridAttr));_.forEach(m,function(t){var n=angular.element(t);_.includes(e,n.attr("value"))&&n.addClass("sg-active")}),c.$validate(),p(c.$invalid)},c.$isEmpty=function(e){return!e||0===e.length},h=function(){var e=angular.element(this),t=e.attr("value");e.toggleClass("sg-active"),function(e){var t=_.findIndex(g,function(t){return d?t[d]==e:t==e});if(t<0)if(d){var n={};n[d]=e,g.push(n)}else g.push(e);else g.splice(t,1);i.$apply(function(){c.$setViewValue(g),c.$setDirty(),c.$validate(),p(c.$invalid)})}(t)},u=0;u /g,">")},String.prototype._base64_keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",String.prototype.base64encode=function(){for(var e,t,n,r,i,o,s,a="",l=0,c=this.utf8encode();l>2,i=(3&e)<<4|(t=c.charCodeAt(l++))>>4,o=(15&t)<<2|(n=c.charCodeAt(l++))>>6,s=63&n,isNaN(t)?o=s=64:isNaN(n)&&(s=64),a=a+this._base64_keyStr.charAt(r)+this._base64_keyStr.charAt(i)+this._base64_keyStr.charAt(o)+this._base64_keyStr.charAt(s);return a},String.prototype.base64decode=function(){for(var e,t,n,r,i,o,s="",a=0,l=""+this;a>4,t=(15&r)<<4|(i=this._base64_keyStr.indexOf(l.charAt(a++)))>>2,n=(3&i)<<6|(o=this._base64_keyStr.indexOf(l.charAt(a++))),s+=String.fromCharCode(e),64!=i&&(s+=String.fromCharCode(t)),64!=o&&(s+=String.fromCharCode(n));return s},String.prototype.md5=function(){if(this.length){return function(e){function t(e,t){return e<>>32-t}function n(e,t){var n,r,i,o,s;return i=2147483648&e,o=2147483648&t,s=(1073741823&e)+(1073741823&t),(n=1073741824&e)&(r=1073741824&t)?2147483648^s^i^o:n|r?1073741824&s?3221225472^s^i^o:1073741824^s^i^o:s^i^o}function r(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&u|~c&d),s),l)),a),r)}function i(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c&d|u&~d),s),l)),a),r)}function o(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,c^u^d),s),l)),a),r)}function s(e,r,i,o,s,a,l){var c,u,d;return n(t(e=n(e,n(n((c=r,u=i,d=o,u^(c|~d)),s),l)),a),r)}function a(e){var t,n="",r="";for(t=0;t<=3;t++)n+=(r="0"+(e>>>8*t&255).toString(16)).substr(r.length-2,2);return n}var l,c,u,d,h,m,g,p,f,y=Array();for(y=function(e){for(var t,n=e.length,r=n+8,i=16*((r-r%64)/64+1),o=Array(i-1),s=0,a=0;a>>29,o}(e=function(e){e=e.replace(/rn/g,"n");for(var t="",n=0;n127&&r<2048?(t+=String.fromCharCode(r>>6|192),t+=String.fromCharCode(63&r|128)):(t+=String.fromCharCode(r>>12|224),t+=String.fromCharCode(r>>6&63|128),t+=String.fromCharCode(63&r|128))}return t}(e)),m=1732584193,g=4023233417,p=2562383102,f=271733878,l=0;l=0&&(a.month=n),n>=0}],"%B":[/[^\d\s\.\/\-]{2,}/,function(t){var n=_.indexOf(_.map(e.months,_.toLower),_.toLower(t));return n>=0&&(a.month=n),n>=0}],"%y":[/\d\d/,function(e){var t=parseInt(s.getFullYear().toString().substring(2))+5;return a.year=parseInt(e),a.yearr){var i=n;n=r,r=i}for(var o=Math.round((r-n)/864e5)+1,s=0;s(n=this.getDay())&&(n+=7),n-t},Date.prototype.firstWeekOfYearForDate=function(e){var t,n,r;return t=e.firstWeekOfYear,(r=new Date(this.getTime())).setMonth(0),r.setDate(1),n=r.dayOfWeek(e),"First4DayWeek"==t?n<4?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):"FirstFullWeek"==t?0===n?r.beginOfWeek(e.firstDayOfWeek):r.addDays(7).beginOfWeek(e.firstDayOfWeek):r.beginOfWeek(e.firstDayOfWeek)},Date.prototype.getWeek=function(e){var t,n,r,i;return(i=new Date(this.getTime())).addDays(6),(t=i.firstWeekOfYearForDate(e)).getTime()0&&(t-=7);var n=this.beginOfDay();return n.setHours(12),n.addDays(t),n},Date.prototype.endOfWeek=function(e){var t=this.beginOfWeek(e);return t.addDays(6),t.setHours(23),t.setMinutes(59),t.setSeconds(59),t.setMilliseconds(999),t},Date.prototype.getDayString=function(){var e=this.getYear();e<1e3&&(e+=1900);var t=""+(this.getMonth()+1);1==t.length&&(t="0"+t),e+=t;var n=""+this.getDate();return 1==n.length&&(n="0"+n),e+=n},Date.prototype.getHourString=function(){var e=this.getHours()+"00";return 3==e.length&&(e="0"+e),e},Date.prototype.format=function(e,t){var n,r,i,o,s=[],a=/%[deaAmbByYUHIMp]/g,c={"%d":this.getDate(),"%e":this.getDate(),"%a":e.shortDays[this.getDay()],"%A":e.days[this.getDay()],"%m":this.getMonth()+1,"%b":e.shortMonths[this.getMonth()],"%B":e.months[this.getMonth()],"%y":this.getFullYear().toString().substring(2),"%Y":this.getFullYear(),"%U":this.getWeek(e),"%H":this.getHours(),"%M":this.getMinutes()};for(c["%I"]=c["%H"]>12?c["%H"]%12:c["%H"],c["%p"]=c["%H"]<12?l("AM"):l("PM"),c["%d"]=(c["%d"]<10?"0":"")+c["%d"],c["%e"]=(c["%e"]<10?" ":"")+c["%e"],c["%m"]=(c["%m"]<10?"0":"")+c["%m"],c["%H"]=(c["%H"]<10?"0":"")+c["%H"],c["%I"]=(c["%I"]<10?"0":"")+c["%I"],c["%M"]=(c["%M"]<10?"0":"")+c["%M"],n=t.replace(a,"\0").split("\0"),i=0,o=(r=t.match(a)).length;i<=o;i++)n.length&&s.push(n.shift()),s.push(c[r[i]]);return s.join("")};function l(){var e,t,n=arguments[0],r=n,i=arguments;for(labels[n]?r=labels[n]:clabels[n]&&(r=clabels[n]),e=1,t=0;e1&&(r=r.replace(/%((%)|s|d)/g,function(t){var n=null;if(t[2])n=t[2];else{switch(n=i[e],t){case"%d":n=parseFloat(n),isNaN(n)&&(n=0)}e++}return n})),r}function hexToRgb(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function contrast(e){var t,n,r=1;if(t=hexToRgb(e)){n=[t.r/255,t.g/255,t.b/255];for(var i=0;i.179?"black":"white"}function guid(){function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return(e()+e()+"-"+e()+"-4"+e().substr(0,3)+"-"+e()+"-"+e()+e()+e()).toLowerCase()}
//# sourceMappingURL=Common.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Common.js.map b/UI/WebServerResources/js/Common.js.map
index 0c5a464c1..8d20ab929 100644
--- a/UI/WebServerResources/js/Common.js.map
+++ b/UI/WebServerResources/js/Common.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Common/Common.app.js","Common/mdColors.app.js","Common/decodeUri.filter.js","Common/encodeUri.filter.js","Common/ensureTarget.filter.js","Common/loc.filter.js","Common/range.filter.js","Common/txt2html.filter.js","Common/AclController.js","Common/navController.js","Common/Acl.service.js","Common/Alarm.service.js","Common/Authentication.service.js","Common/Dialog.service.js","Common/Gravatar.service.js","Common/Resource.service.js","Common/sgFocus.service.js","Common/sgHotkeys.service.js","Common/User.service.js","Common/sgAvatarImage.directive.js","Common/sgBlockToggle.directive.js","Common/sgCheckmark.directive.js","Common/sgColorPicker.directive.js","Common/sgCompile.directive.js","Common/sgDatepickerReadonlyInput.directive.js","Common/sgDraggable.directive.js","Common/sgDroppable.directive.js","Common/sgEnter.directive.js","Common/sgEscape.directive.js","Common/sgFocus.directive.js","Common/sgFolderStylesheet.directive.js","Common/sgNoDirtyCheck.directive.js","Common/sgPlaceholder.directive.js","Common/sgResetOnDisabled.directive.js","Common/sgRippleClick.directive.js","Common/sgSearch.directive.js","Common/sgSelectOnly.directive.js","Common/sgSubscribe.directive.js","Common/sgTimepicker.directive.js","Common/sgToggleGrid.directive.js","Common/utils.js"],"names":["angular","module","value","isPopup","document","body","classList","contains","baseURL","ApplicationBaseURL","resourcesURL","ResourcesURL","activeUser","param","settings","login","UserLogin","identification","UserIdentification","email","UserEmail","language","UserLanguage","folderURL","UserFolderURL","isSuperUser","IsSuperUser","path","calendar","UserCalendarPath","contacts","UserContactsPath","mail","UserMailPath","preferences","UserPreferencesPath","administration","UserAdministrationPath","help","HelpURL","logoff","UserLogoffPath","minimumSearchLength","isNumber","constant","selection","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print","config","configure","factory","AuthInterceptor","ErrorInterceptor","$inject","$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider","definePalette","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","contrastDefaultColor","contrastLightColors","contrastDarkColors","1000","greyMap","extendPalette","theme","primaryPalette","default","hue-1","hue-2","hue-3","accentPalette","backgroundPalette","DebugEnabled","debugEnabled","debugInfoEnabled","disableWarnings","generateThemesOnDemand","interceptors","push","$window","$q","response","test","headers","Accept","data","location","reload","reject","$rootScope","$injector","responseError","rejection","deferred","iframe","usesCASAuthentication","status","defer","element","on","get","$http","then","resolve","remove","appendChild","promise","usesSAML2Authentication","$broadcast","_$mdThemingProvider","run","runBlock","$interpolate","$document","$log","buildCssSelectors","selectors","join","fgDefault","bgDefault","bdrDefault","fgDefaultHue","bgDefaultHue","fgColor","bgColor","bdrColor","fgHue","bgHue","customSheet","style","head","querySelector","createElement","title","createTextNode","sheet","getStyleSheet","index","cssRules","length","deleteRule","forEach","_THEMES","themeName","addRule","_PALETTES","colors","primary","name","hues","addBorderRule","color","paletteName","fgInterpolate","bgInterpolate","colorArray","hueName","context","palette","contrast","hue","insertRule","bdrInterpolate","colorValue","decodeUri","decodeURIComponent","filter","encodeUri","encodeURIComponent","ensureTarget","$sce","tree","find","attr","trustAs","html","l","n","res","i","parseInt","txt2html","linkyFilter","text","String","replace","undefined","AclController","$timeout","$mdDialog","Dialog","usersWithACL","User","folder","vm","this","users","selectedUser","selectedUid","userToAdd","searchText","folderClassName","isFunction","getClassName","templateName","user","getElementById","$isAnonymous","userFilter","$query","$filter","$acl","closeModal","$resetUsersRights","hide","saveModal","$saveUsersRights","alert","confirmChange","confirmation","$confirmRights","showing","message","removeUser","$removeUser","uid","addUser","$addUser","selectUser","selectAllRights","$selectAllRights","showRights","inactive","$event","target","parentNode","$rights","controller","navController","$scope","$interval","$mdSidenav","$mdToast","$mdMedia","sgConstant","sgSettings","Resource","Alarm","resource","$onInit","leftIsClose","centerIsClose","currentDay","window","secondsBeforeTomorrow","$watch","newVal","isGtMedium","$on","onHttpError","getAlarms","toggleLeft","isOpen","triggerHandler","toggle","debug","toggleRight","toggleCenter","options","save","post","state","event","isString","statusText","show","template","hideDelay","position","Acl","folderId","Settings","extend","$$resource","$User","prototype","$users","owner","_this","isDefined","userResource","fetch","canSubscribeUser","isSubscribed","wasSubscribed","bind","_","indexOf","map","userClass","isGroup","$shadowRights","splice","rights","right","$resetRights","deferredSave","deferredSubscribe","action","$rightsAreDirty","$omit","copy","uids","all","currentAlarm","now","Date","browserTime","Math","floor","getTime","alarms","sort","a","b","x","next","pop","utc","url","alarmTime","delay","f","showAlarm","cancel","$toast","locals","AlarmController","scope","summary","reminder","close","snooze","AlarmService","PolicyPasswordChangeUnsupported","PolicyPasswordSystemUnknown","PolicyPasswordUnknown","PolicyPasswordExpired","PolicyAccountLocked","PolicyChangeAfterReset","PolicyPasswordModNotAllowed","PolicyMustSupplyOldPassword","PolicyInsufficientPasswordQuality","PolicyPasswordTooShort","PolicyPasswordTooYoung","PolicyPasswordInHistory","PolicyNoError","provider","redirectUrl","username","domain","userName","address","baseAddress","parts","hostpart","protocol","href","split","startsWith","endsWith","$get","getService","$cookies","passwordPolicyConfig","readLoginCookie","loginValues","cookie","substr","base64decode","d","password","rememberLogin","loginSuffix","method","loginCookie","expire","grace","cn","msg","perr","LDAPPasswordPolicyError","error","changePassword","newPassword","xsrfCookie","X-XSRF-TOKEN","formatted","put","content","$modal","htmlContent","ok","multiple","confirm","prompt","label","o","id","asCSSIdentifier","parent","clickOutsideToClose","escapeToClose","inputType","PromptDialogController","DialogService","size","alternate_avatar","y","hash","s","substring","md5","no_404","_http","_q","_window","_path","_activeUser","$factory","compact","escape","arguments","Array","apply","slice","call","params","flatten","newguid","create","newValue","download","type","accept","responseType","cache","transformResponse","fileName","blob","Error","Blob","filename","header","trim","saveAs","open","sgFocus","sgHotkeys","$sgHotkeys","service","KEY_CODES","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","96","97","98","99","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","CHAR_CODES","42","63","HotKey","guid","key","description","callback","preventInClass","args","onKeyUp","lkey","clone","Hotkeys","_hotkeys","_hotkeysUp","_preventIn","_preventInClass","_onKeydown","_onKeyup","_onKeypress","initialize","registerHotkey","createHotkey","_toggleCheatSheet","addEventListener","_invokeHotkeyHandlers","keyString","hotkeys","hotkey","srcElement","nodeName","toUpperCase","includes","intersection","e","console","keyStringFromEvent","charCode","keyCode","which","result","fromCharCode","toLowerCase","ctrlKey","altKey","shiftKey","metaKey","uniq","_deregisterHotkey","ret","table","callbackArray","callbackData","deregisterHotkey","_validateHotkey","isArray","TypeError","_registerKey","_registerKeys","registerHotkeyUp","fn","$apply","match","eventHotkey","Boolean","_cheatSheet","CheatSheetController","finally","closeDialog","userData","init","search","excludedUsers","dry","when","results","compareUids","isUndefined","$$shortFormat","$shortFormat","$$image","image","$avatarIcon","$isGroup","$isSpecial","empty","$fullname","fullname","c_info","c_email","$confirmation","some","values","constructor","isEqual","zero","keys","$folders","$$folders","folders","toString","sgAvatarImageController","$element","Preferences","Gravatar","toggleZoomFcn","off","old","urlEmail","showGenericAvatar","defaults","SOGoGravatarEnabled","SOGoAlternateAvatar","hideGenericAvatar","getGravatar","attributes","src","addClass","toggleClass","img","genericImg","removeClass","directive","restrict","bindToController","transclude","link","attrs","deregisterWatcher","imgElement","mdIcons","mdIconElement","mdBadgeElement","css","ngDisabled","isDisabled","disabled","display","controllerAs","sgBlockToggle","$mdUtil","$animateCss","$$rAF","button","icon","icon_rotate_class","block","add","visibility","targetHeight","scrollHeight","easing","to","height","duration","start","renderContent","setAttribute","sgCheckmarkDirective","$parse","$mdAria","$mdTheming","CHECKED_CSS","require","compile","tElement","tAttrs","hasAttribute","stopImmediatePropagation","ngModelCtrl","trueValue","parseConstantExpr","sgTrueValue","falseValue","sgFalseValue","fakeNgModel","expectWithText","ev","viewValue","$viewValue","$setViewValue","$render","expression","fallback","parseFn","sgColorPickerController","$mdPanel","sgColors","$ctrl","ngModelController","$postLink","buttonIcon","updateColor","newColor","showPicker","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","columns","column","currentColor","currentContrastColor","selected","attachTo","MenuController","targetEvent","trapFocus","focusOnOpen","panelRef","panelEl","one","mdPanelRef","$state","setColor","currentTarget","parentElement","children","tile","sgCompile","$compile","ensureCompileRunsOnce","$eval","contents","datepickerCtrl","listener","eq","input","prop","sgDraggable","dragStart","count","sgDragStart","sgDragCount","sgDraggableObject","$destroy","helper","bindedOnDragDetect","onDragDetect","bindedOnDrag","onDrag","dragHasStarted","getDistanceFromStart","delta","startPosition","clientX","clientY","sqrt","stopPropagation","onDragEnd","counter","$emit","isRemote","top","pageY","left","pageX","sgDroppable","dropAction","droppable","deregisterFolderDragStart","deregisterFolderDragEnd","overElement","sgDrop","dragFolder","onEnter","onLeave","mode","dragMode","sgEnter","preventDefault","elem","sgEscape","sgFocusOn","focus","select","ngModel","transparent","hex","ratio","hexToRgb","r","g","clean","$pristine","$dirty","placeholder","$invalid","date","sgRippleClick","ripple","container","containerId","coordinates","getBoundingClientRect","overflow","scrollTop","offsetTop","offsetLeft","width","sgSearchPreTransclude","priority","tAttr","inputEl","selectEl","buttonEl","removeAttr","iElement","iAttr","compiledButtonEl","formName","inputName","allowDot","fields","doSearch","cancelSearch","sgSearchController","searchTextOptions","updateOn","debounce","blur","waitforFieldsOnce","searchField","onChange","form","rawSearchText","$valid","$setValidity","append","autoComplete","selectedItem","$applyAsync","sgSubscribe","folderType","onFolderSelect","sgSubscribeDialogController","showDialog","templateUrl","sgSubscribeController","$setTouched","selectFolder","folderData","TimePaneCtrl","controllers","sgTimePaneCtrl","mdInputContainer","configureNgModel","nextUniqueId","$$mdDateUtil","$mdConstant","$attrs","$mdDateLocale","m","dateUtil","KEY_CODE","timePaneElement","SELECTED_TIME_CLASS","FOCUSED_TIME_CLASS","displayTime","selectedTime","isInitialized","hours","displayName","min5","min1","ii","show5min","getToggleBtnLbl","is5min","toggleManual5min","manual5min","tabindex","self","hourClickHandler","displayVal","updated","setHours","Number","setNgModelValue","minuteClickHandler","val","setMinutes","boundKeyHandler","handleKeyEvent","nextTick","changeSelectedTime","previousSelectedTime","prevH","getHours","prevHCell","prevM","getMinutes","prevMCell","prevM5Cell","mCell","newH","hCell","newM","changed","ESCAPE","TAB","ENTER","opt_date","today","previousFocus","timePickerDirective","ariaLabelValue","ariaLabel","mdPlaceholder","TimePickerCtrl","mdTimePickerCtrl","parentForm","parseAttributeBoolean","mdNoAsterisk","parentSubmittedWatcher","$submitted","isSubmitted","updateErrorState","INVALID_CLASS","OPEN_CLASS","TIME_PANE_HEIGHT","MIN5","GTXS","XS","MIN1","TIME_PANE_WIDTH","IS_MOBILE_REGEX","dateLocale","documentElement","inputElement","ngInputElement","inputContainer","timePane","timeButton","inputMask","isFocused","setDisabled","isTimeOpen","timePaneOpenedFrom","timePaneId","nextUid","bodyClickHandler","handleBodyClick","windowEventName","navigator","userAgent","vendor","opera","windowEventHandler","closeTimePane","windowBlurHandler","handleWindowBlur","leftMargin","topMargin","$set","installPropertyInterceptors","attachChangeListeners","attachInteractionListeners","detachTimePane","$formatters","time","formatTime","resizeInputElement","$viewChangeListeners","unshift","debounceInterval","handleInputEvent","keyCodes","DOWN_ARROW","openTimePane","$digest","$parent","Object","defineProperty","set","clearErrorState","isValidDate","field","inputString","parsedTime","parseTime","attachTimePane","transform","elementRect","bodyRect","paneTop","paneLeft","viewportTop","viewportLeft","scrollLeft","viewportBottom","innerHeight","viewportRight","innerWidth","paneWidth","scale","min","paneHeight","enableScrolling","removeChild","disableScrollAround","evalAttr","removeEventListener","getTimePaneCtrl","focusTime","ctrl","setFocused","getClosest","inputFocusedOnWindowBlur","activeElement","sgToggleGrid","$mdColors","modelAttr","tiles","modelDays","flattenedDays","sgToggleGridAttr","$validate","setInvalid","$isEmpty","day","findIndex","$setDirty","invalid","tagName","getThemeColor","suffix","pattern","lastIndexOf","encodeEntities","charCodeAt","_base64_keyStr","base64encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","utf8encode","isNaN","charAt","L","k","K","G","I","F","H","u","aa","Z","D","t","B","P","h","E","v","Y","X","W","V","C","J","capitalize","asDate","newDate","newString","isValidEmail","characters","escapeds","re","RegExp","timeInterval","parseDate","localeProvider","format","string","formattingTokens","tokens","token","regexes","parsedInput","matchesCount","year","getYear","month","getMonth","getDate","hour","minute","%d","%e","%m","%b","shortMonths","toLower","%B","months","%y","nearFuture","getFullYear","%Y","%H","%I","%M","%p","linput","am","pm","NaN","daysUpTo","otherDate","days","day1","day2","tmp","nbrDays","round","setTime","minutesTo","valueOf","getTimezoneOffset","stringWithSeparator","separator","str","addDays","initialDate","milliSeconds","dstOffset","addHours","nbrHours","addMinutes","nbrMinutes","beginOfDay","setSeconds","setMilliseconds","dayOfWeek","offset","baseDayOfWeek","firstDayOfWeek","getDay","firstWeekOfYearForDate","firstWeekRule","januaryFirst","firstWeekOfYear","setMonth","setDate","beginOfWeek","getWeek","firstWeek","previousWeek","weekNumber","endOfWeek","getDayString","getHourString","separators","max","validParts","%a","shortDays","%A","%U","shift","j","labels","clabels","parseFloat","exec","c","pow","S4","random"],"mappings":"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","file":"Common.js"}
\ No newline at end of file
+{"version":3,"sources":["Common/Common.app.js","Common/mdColors.app.js","Common/decodeUri.filter.js","Common/encodeUri.filter.js","Common/ensureTarget.filter.js","Common/loc.filter.js","Common/range.filter.js","Common/txt2html.filter.js","Common/AclController.js","Common/navController.js","Common/Acl.service.js","Common/Alarm.service.js","Common/Authentication.service.js","Common/Dialog.service.js","Common/Gravatar.service.js","Common/Resource.service.js","Common/sgFocus.service.js","Common/sgHotkeys.service.js","Common/User.service.js","Common/sgAvatarImage.directive.js","Common/sgBlockToggle.directive.js","Common/sgCheckmark.directive.js","Common/sgColorPicker.directive.js","Common/sgCompile.directive.js","Common/sgDatepickerReadonlyInput.directive.js","Common/sgDraggable.directive.js","Common/sgDroppable.directive.js","Common/sgEnter.directive.js","Common/sgEscape.directive.js","Common/sgFocus.directive.js","Common/sgFolderStylesheet.directive.js","Common/sgNoDirtyCheck.directive.js","Common/sgPlaceholder.directive.js","Common/sgResetOnDisabled.directive.js","Common/sgRippleClick.directive.js","Common/sgSearch.directive.js","Common/sgSelectOnly.directive.js","Common/sgSubscribe.directive.js","Common/sgTimepicker.directive.js","Common/sgToggleGrid.directive.js","Common/utils.js"],"names":["angular","module","value","isPopup","document","body","classList","contains","baseURL","ApplicationBaseURL","resourcesURL","ResourcesURL","activeUser","param","settings","login","UserLogin","identification","UserIdentification","email","UserEmail","language","UserLanguage","folderURL","UserFolderURL","isSuperUser","IsSuperUser","path","calendar","UserCalendarPath","contacts","UserContactsPath","mail","UserMailPath","preferences","UserPreferencesPath","administration","UserAdministrationPath","help","HelpURL","logoff","UserLogoffPath","minimumSearchLength","isNumber","constant","selection","xs","gt-xs","sm","gt-sm","md","gt-md","lg","gt-lg","xl","print","config","configure","factory","AuthInterceptor","ErrorInterceptor","$inject","$logProvider","$compileProvider","$httpProvider","$mdThemingProvider","$mdAriaProvider","definePalette","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","contrastDefaultColor","contrastLightColors","contrastDarkColors","1000","greyMap","extendPalette","theme","primaryPalette","default","hue-1","hue-2","hue-3","accentPalette","backgroundPalette","DebugEnabled","debugEnabled","debugInfoEnabled","disableWarnings","generateThemesOnDemand","interceptors","push","$window","$q","response","test","headers","Accept","data","location","reload","reject","$rootScope","$injector","responseError","rejection","deferred","iframe","usesCASAuthentication","status","defer","element","on","get","$http","then","resolve","remove","appendChild","promise","usesSAML2Authentication","$broadcast","_$mdThemingProvider","run","runBlock","$interpolate","$document","$log","buildCssSelectors","selectors","join","fgDefault","bgDefault","bdrDefault","fgDefaultHue","bgDefaultHue","fgColor","bgColor","bdrColor","fgHue","bgHue","customSheet","style","head","querySelector","createElement","title","createTextNode","sheet","getStyleSheet","index","cssRules","length","deleteRule","forEach","_THEMES","themeName","addRule","_PALETTES","colors","primary","name","hues","addBorderRule","color","paletteName","fgInterpolate","bgInterpolate","colorArray","hueName","context","palette","contrast","hue","insertRule","bdrInterpolate","colorValue","decodeUri","decodeURIComponent","filter","encodeUri","encodeURIComponent","ensureTarget","$sce","tree","find","attr","trustAs","html","l","n","res","i","parseInt","txt2html","linkyFilter","text","String","replace","undefined","AclController","$timeout","$mdDialog","Dialog","usersWithACL","User","folder","vm","this","users","selectedUser","selectedUid","userToAdd","searchText","folderClassName","isFunction","getClassName","templateName","user","getElementById","$isAnonymous","userFilter","$query","$filter","$acl","closeModal","$resetUsersRights","hide","saveModal","$saveUsersRights","alert","confirmChange","confirmation","$confirmRights","showing","message","removeUser","$removeUser","uid","addUser","$addUser","selectUser","selectAllRights","$selectAllRights","showRights","inactive","$event","target","parentNode","$rights","controller","navController","$scope","$interval","$mdSidenav","$mdToast","$mdMedia","sgConstant","sgSettings","Resource","Alarm","resource","$onInit","leftIsClose","centerIsClose","currentDay","window","secondsBeforeTomorrow","$watch","newVal","isGtMedium","$on","onHttpError","getAlarms","toggleLeft","isOpen","triggerHandler","toggle","debug","toggleRight","toggleCenter","options","save","post","state","event","isString","statusText","show","template","hideDelay","position","Acl","folderId","Settings","extend","$$resource","$User","prototype","$users","owner","_this","isDefined","userResource","fetch","canSubscribeUser","isSubscribed","wasSubscribed","bind","_","indexOf","map","userClass","isGroup","$shadowRights","splice","rights","right","$resetRights","deferredSave","deferredSubscribe","action","$rightsAreDirty","$omit","copy","uids","all","currentAlarm","now","Date","browserTime","Math","floor","getTime","alarms","sort","a","b","x","next","pop","utc","url","alarmTime","delay","f","showAlarm","cancel","$toast","locals","AlarmController","scope","summary","reminder","close","snooze","AlarmService","PolicyPasswordChangeUnsupported","PolicyPasswordSystemUnknown","PolicyPasswordUnknown","PolicyPasswordExpired","PolicyAccountLocked","PolicyChangeAfterReset","PolicyPasswordModNotAllowed","PolicyMustSupplyOldPassword","PolicyInsufficientPasswordQuality","PolicyPasswordTooShort","PolicyPasswordTooYoung","PolicyPasswordInHistory","PolicyNoError","provider","redirectUrl","username","domain","userName","address","baseAddress","parts","hostpart","protocol","href","split","startsWith","endsWith","$get","getService","$cookies","passwordPolicyConfig","readLoginCookie","loginValues","cookie","substr","base64decode","d","password","rememberLogin","loginSuffix","method","loginCookie","expire","grace","cn","msg","perr","LDAPPasswordPolicyError","error","changePassword","newPassword","xsrfCookie","X-XSRF-TOKEN","formatted","put","content","$modal","htmlContent","ok","multiple","confirm","prompt","label","o","id","asCSSIdentifier","parent","clickOutsideToClose","escapeToClose","inputType","PromptDialogController","DialogService","size","alternate_avatar","y","hash","s","substring","md5","no_404","_http","_q","_window","_path","_activeUser","$factory","compact","escape","arguments","Array","apply","slice","call","params","flatten","newguid","create","newValue","download","type","accept","responseType","cache","transformResponse","fileName","blob","Error","Blob","filename","header","trim","saveAs","open","sgFocus","sgHotkeys","$sgHotkeys","service","KEY_CODES","8","9","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","96","97","98","99","101","102","103","104","105","106","107","109","110","111","112","113","114","115","116","117","118","119","120","121","122","123","CHAR_CODES","42","63","HotKey","guid","key","description","callback","preventInClass","args","onKeyUp","lkey","clone","Hotkeys","_hotkeys","_hotkeysUp","_preventIn","_preventInClass","_onKeydown","_onKeyup","_onKeypress","initialize","registerHotkey","createHotkey","_toggleCheatSheet","addEventListener","_invokeHotkeyHandlers","keyString","hotkeys","hotkey","srcElement","nodeName","toUpperCase","includes","intersection","e","console","keyStringFromEvent","charCode","keyCode","which","result","fromCharCode","toLowerCase","ctrlKey","altKey","shiftKey","metaKey","uniq","_deregisterHotkey","ret","table","callbackArray","callbackData","deregisterHotkey","_validateHotkey","isArray","TypeError","_registerKey","_registerKeys","registerHotkeyUp","fn","$apply","match","eventHotkey","Boolean","_cheatSheet","CheatSheetController","finally","closeDialog","userData","init","search","excludedUsers","dry","when","results","compareUids","isUndefined","$$shortFormat","$shortFormat","$$image","image","$avatarIcon","$isGroup","$isSpecial","empty","$fullname","fullname","c_info","c_email","$confirmation","some","values","constructor","isEqual","zero","keys","$folders","$$folders","folders","toString","sgAvatarImageController","$element","Preferences","Gravatar","toggleZoomFcn","off","old","urlEmail","showGenericAvatar","defaults","SOGoGravatarEnabled","SOGoAlternateAvatar","hideGenericAvatar","getGravatar","attributes","src","addClass","toggleClass","img","genericImg","removeClass","directive","restrict","bindToController","transclude","link","attrs","deregisterWatcher","imgElement","mdIcons","mdIconElement","mdBadgeElement","css","ngDisabled","isDisabled","disabled","display","controllerAs","sgBlockToggle","$mdUtil","$animateCss","$$rAF","button","icon","icon_rotate_class","block","add","visibility","targetHeight","scrollHeight","easing","to","height","duration","start","renderContent","setAttribute","sgCheckmarkDirective","$parse","$mdAria","$mdTheming","CHECKED_CSS","require","compile","tElement","tAttrs","hasAttribute","stopImmediatePropagation","ngModelCtrl","trueValue","parseConstantExpr","sgTrueValue","falseValue","sgFalseValue","fakeNgModel","expectWithText","ev","viewValue","$viewValue","$setViewValue","$render","expression","fallback","parseFn","sgColorPickerController","$mdPanel","sgColors","$ctrl","ngModelController","$postLink","buttonIcon","updateColor","newColor","showPicker","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","columns","column","currentColor","currentContrastColor","selected","attachTo","MenuController","targetEvent","trapFocus","focusOnOpen","panelRef","panelEl","one","mdPanelRef","$state","setColor","currentTarget","parentElement","children","tile","sgCompile","$compile","ensureCompileRunsOnce","$eval","contents","datepickerCtrl","listener","eq","input","prop","sgDraggable","dragStart","count","sgDragStart","sgDragCount","sgDraggableObject","$destroy","helper","bindedOnDragDetect","onDragDetect","bindedOnDrag","onDrag","dragHasStarted","getDistanceFromStart","delta","startPosition","clientX","clientY","sqrt","stopPropagation","onDragEnd","counter","$emit","isRemote","top","pageY","left","pageX","sgDroppable","dropAction","droppable","deregisterFolderDragStart","deregisterFolderDragEnd","overElement","sgDrop","dragFolder","onEnter","onLeave","mode","dragMode","sgEnter","preventDefault","elem","sgEscape","sgFocusOn","focus","select","ngModel","transparent","hex","ratio","hexToRgb","r","g","clean","$pristine","$dirty","placeholder","$invalid","date","sgRippleClick","ripple","container","containerId","coordinates","getBoundingClientRect","overflow","scrollTop","offsetTop","offsetLeft","width","sgSearchPreTransclude","priority","tAttr","inputEl","selectEl","buttonEl","removeAttr","iElement","iAttr","compiledButtonEl","formName","inputName","allowDot","fields","doSearch","cancelSearch","sgSearchController","searchTextOptions","updateOn","debounce","blur","waitforFieldsOnce","searchField","onChange","form","rawSearchText","$valid","$setValidity","append","autoComplete","selectedItem","$applyAsync","sgSubscribe","folderType","onFolderSelect","sgSubscribeDialogController","showDialog","templateUrl","sgSubscribeController","$setTouched","selectFolder","folderData","TimePaneCtrl","controllers","sgTimePaneCtrl","mdInputContainer","configureNgModel","nextUniqueId","$$mdDateUtil","$mdConstant","$attrs","$mdDateLocale","m","dateUtil","KEY_CODE","timePaneElement","SELECTED_TIME_CLASS","FOCUSED_TIME_CLASS","displayTime","selectedTime","isInitialized","hours","displayName","min5","min1","ii","show5min","getToggleBtnLbl","is5min","toggleManual5min","manual5min","tabindex","self","hourClickHandler","displayVal","updated","setHours","Number","setNgModelValue","minuteClickHandler","val","setMinutes","boundKeyHandler","handleKeyEvent","nextTick","changeSelectedTime","previousSelectedTime","prevH","getHours","prevHCell","prevM","getMinutes","prevMCell","prevM5Cell","mCell","newH","hCell","newM","changed","ESCAPE","TAB","ENTER","opt_date","today","previousFocus","timePickerDirective","ariaLabelValue","ariaLabel","mdPlaceholder","TimePickerCtrl","mdTimePickerCtrl","parentForm","parseAttributeBoolean","mdNoAsterisk","parentSubmittedWatcher","$submitted","isSubmitted","updateErrorState","INVALID_CLASS","OPEN_CLASS","TIME_PANE_HEIGHT","MIN5","GTXS","XS","MIN1","TIME_PANE_WIDTH","IS_MOBILE_REGEX","dateLocale","documentElement","inputElement","ngInputElement","inputContainer","timePane","timeButton","inputMask","isFocused","setDisabled","isTimeOpen","timePaneOpenedFrom","timePaneId","nextUid","bodyClickHandler","handleBodyClick","windowEventName","navigator","userAgent","vendor","opera","windowEventHandler","closeTimePane","windowBlurHandler","handleWindowBlur","leftMargin","topMargin","$set","installPropertyInterceptors","attachChangeListeners","attachInteractionListeners","detachTimePane","$formatters","time","formatTime","resizeInputElement","$viewChangeListeners","unshift","debounceInterval","handleInputEvent","keyCodes","DOWN_ARROW","openTimePane","$digest","$parent","Object","defineProperty","set","clearErrorState","isValidDate","field","inputString","parsedTime","parseTime","attachTimePane","transform","elementRect","bodyRect","paneTop","paneLeft","viewportTop","viewportLeft","scrollLeft","viewportBottom","innerHeight","viewportRight","innerWidth","paneWidth","scale","min","paneHeight","enableScrolling","removeChild","disableScrollAround","evalAttr","removeEventListener","getTimePaneCtrl","focusTime","ctrl","setFocused","getClosest","inputFocusedOnWindowBlur","activeElement","sgToggleGrid","$mdColors","modelAttr","tiles","modelDays","flattenedDays","sgToggleGridAttr","$validate","setInvalid","$isEmpty","day","findIndex","$setDirty","invalid","tagName","getThemeColor","suffix","pattern","lastIndexOf","encodeEntities","charCodeAt","_base64_keyStr","base64encode","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","utf8encode","isNaN","charAt","L","k","K","G","I","F","H","u","aa","Z","D","t","B","P","h","E","v","Y","X","W","V","C","J","capitalize","asDate","newDate","newString","isValidEmail","characters","escapeds","re","RegExp","timeInterval","parseDate","localeProvider","format","string","formattingTokens","tokens","token","regexes","parsedInput","matchesCount","year","getYear","month","getMonth","getDate","hour","minute","%d","%e","%m","%b","shortMonths","toLower","%B","months","%y","nearFuture","getFullYear","%Y","%H","%I","%M","%p","linput","am","pm","NaN","daysUpTo","otherDate","days","day1","day2","tmp","nbrDays","round","setTime","minutesTo","valueOf","getTimezoneOffset","stringWithSeparator","separator","str","addDays","initialDate","milliSeconds","dstOffset","addHours","nbrHours","addMinutes","nbrMinutes","beginOfDay","setSeconds","setMilliseconds","dayOfWeek","offset","baseDayOfWeek","firstDayOfWeek","getDay","firstWeekOfYearForDate","firstWeekRule","januaryFirst","firstWeekOfYear","setMonth","setDate","beginOfWeek","getWeek","firstWeek","previousWeek","weekNumber","endOfWeek","getDayString","getHourString","separators","max","validParts","%a","shortDays","%A","%U","shift","j","labels","clabels","parseFloat","exec","c","pow","S4","random"],"mappings":"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","file":"Common.js"}
\ No newline at end of file