diff --git a/UI/WebServerResources/js/Administration.js b/UI/WebServerResources/js/Administration.js
index fb403a2ca..d74b7fcef 100644
--- a/UI/WebServerResources/js/Administration.js
+++ b/UI/WebServerResources/js/Administration.js
@@ -1,2 +1,2 @@
-!function(){"use strict";angular.module("SOGo.AdministrationUI",["ui.router","SOGo.Common","SOGo.Authentication","SOGo.PreferencesUI","SOGo.ContactsUI","SOGo.SchedulerUI"]).config(e).run(n),e.$inject=["$stateProvider","$urlServiceProvider"];function e(e,n){e.state("administration",{abstract:!0,views:{administration:{templateUrl:"administration.html",controller:"AdministrationController",controllerAs:"app"}}}).state("administration.rights",{url:"/rights",views:{module:{templateUrl:"rights.html"}}}).state("administration.rights.edit",{url:"/:userId/:folderId/edit",views:{acl:{templateUrl:"UIxAdministrationAclEditor",controller:"AdministrationAclController",controllerAs:"acl"}},resolve:{stateUser:t,stateFolder:r}}),n.rules.otherwise("/rights")}t.$inject=["$q","$stateParams","User"];function t(e,t,r){var n;return n=_.find(r.$users,function(e){return e.uid==t.userId}),angular.isUndefined(n)?r.$filter(t.userId).then(function(i){return n=_.find(r.$users,function(e){return e.uid==t.userId}),angular.isUndefined(n)?e.reject("User with ID "+t.userId+" not found"):n.$folders().then(function(){return n})}):n}r.$inject=["$state","$stateParams","decodeUriFilter","stateUser","AddressBook","Calendar"];function r(e,t,r,n,i,s){var o,d,l=r(t.folderId);return d="Appointment"==(o=_.find(n.$$folders,function(e){return e.name==l})).type?new s({id:o.name.split("/").pop(),owner:o.owner,name:o.displayName}):new i({id:o.name.split("/").pop(),owner:o.owner,name:o.displayName}),n.selectedFolder=d.id,d}n.$inject=["$window","$log","$transitions","$state"];function n(e,t,r,n){e.DebugEnabled||n.defaultErrorHandler(function(){}),r.onError({to:"administration.**"},function(e){"administration"==e.to().name||e.ignored()||(t.error("transition error to "+e.to().name+": "+e.error().detail),n.go({state:"administration.rights"}))})}}(),function(){"use strict";e.$inject=["$timeout","$state","$mdMedia","$mdToast","stateUser","stateFolder","User"];function e(e,t,r,n,i,s,o){var d=this;d.user=i,d.folder=s,d.folderType=angular.isDefined(s.$cards)?"AddressBook":"Calendar",d.selectedUser=null,d.selectedUid=null,d.selectUser=a,d.selectAllRights=function(e){s.$acl.$selectAllRights(e)},d.showRights=function(e){return d.selectedUid==e.uid&&e.rights},d.removeUser=function(t){e(function(){s.$acl.$removeUser(t.uid,s.owner)},500)},d.getTemplate=function(){return angular.isDefined(s.$cards)?"../"+s.owner+"/Contacts/"+s.id+"/UIxContactsUserRightsEditor":"../"+s.owner+"/Calendar/"+s.id+"/UIxCalUserRightsEditor"},d.close=u,d.save=function(){s.$acl.$saveUsersRights(s.owner).then(function(){n.show(n.simple().content(l("ACLs saved")).position("bottom right").hideDelay(3e3)),r("xs")&&u()})},d.userToAdd="",d.searchText="",d.userFilter=function(e){return o.$filter(e,s.$acl.users,{dry:!0,uid:d.user.uid})},d.addUser=function(e){e&&s.$acl.$addUser(e,s.owner).then(function(e){d.userToAdd="",d.searchText="",d.selectedUid=null,e&&a(e)})},s.$acl.$users(s.owner).then(function(e){d.users=e});function a(e,t){if(t&&t.target.parentNode.classList.contains("md-secondary"))return!1;d.selectedUid==e.uid?d.selectedUid=null:(d.selectedUid=e.uid,d.selectedUser=e,d.selectedUser.$rights())}function u(){t.go("administration.rights").then(function(){delete d.user.selectedFolder,d.user=null})}}angular.module("SOGo.AdministrationUI").controller("AdministrationAclController",e)}(),function(){"use strict";e.$inject=["$state","$mdToast","$mdMedia","$mdSidenav","sgConstant","Dialog","encodeUriFilter","User"];function e(e,t,r,n,i,s,o,d){var l=this;l.service=d,l.selectedUser=null,l.users=d.$users,l.go=function(t){e.go("administration."+t),r(i["gt-md"])||n("left").close()},l.filter=function(e){d.$filter(e)},l.selectUser=function(e){l.selectedUser==l.users[e]?l.selectedUser=null:l.users[e].$folders().then(function(){l.selectedUser=l.users[e]})},l.selectFolder=function(t){e.go("administration.rights.edit",{userId:l.selectedUser.uid,folderId:o(t.name)})}}angular.module("SOGo.AdministrationUI").controller("AdministrationController",e)}();
+!function(){"use strict";function e(e,t){e.state("administration",{abstract:!0,views:{administration:{templateUrl:"administration.html",controller:"AdministrationController",controllerAs:"app"}}}).state("administration.rights",{url:"/rights",views:{module:{templateUrl:"rights.html"}}}).state("administration.rights.edit",{url:"/:userId/:folderId/edit",views:{acl:{templateUrl:"UIxAdministrationAclEditor",controller:"AdministrationAclController",controllerAs:"acl"}},resolve:{stateUser:r,stateFolder:n}}),t.rules.otherwise("/rights")}function r(t,r,n){var i;return i=_.find(n.$users,function(e){return e.uid==r.userId}),angular.isUndefined(i)?n.$filter(r.userId).then(function(e){return i=_.find(n.$users,function(e){return e.uid==r.userId}),angular.isUndefined(i)?t.reject("User with ID "+r.userId+" not found"):i.$folders().then(function(){return i})}):i}function n(e,t,r,n,i,s){var o,d,l=r(t.folderId);return d="Appointment"==(o=_.find(n.$$folders,function(e){return e.name==l})).type?new s({id:o.name.split("/").pop(),owner:o.owner,name:o.displayName}):new i({id:o.name.split("/").pop(),owner:o.owner,name:o.displayName}),n.selectedFolder=d.id,d}function t(e,t,r,n){e.DebugEnabled||n.defaultErrorHandler(function(){}),r.onError({to:"administration.**"},function(e){"administration"==e.to().name||e.ignored()||(t.error("transition error to "+e.to().name+": "+e.error().detail),n.go({state:"administration.rights"}))})}angular.module("SOGo.AdministrationUI",["ui.router","SOGo.Common","SOGo.Authentication","SOGo.PreferencesUI","SOGo.ContactsUI","SOGo.SchedulerUI"]).config(e).run(t),e.$inject=["$stateProvider","$urlServiceProvider"],r.$inject=["$q","$stateParams","User"],n.$inject=["$state","$stateParams","decodeUriFilter","stateUser","AddressBook","Calendar"],t.$inject=["$window","$log","$transitions","$state"]}(),function(){"use strict";function e(t,e,r,n,i,s,o){var d=this;function a(e,t){if(t&&t.target.parentNode.classList.contains("md-secondary"))return!1;d.selectedUid==e.uid?d.selectedUid=null:(d.selectedUid=e.uid,d.selectedUser=e,d.selectedUser.$rights())}function u(){e.go("administration.rights").then(function(){delete d.user.selectedFolder,d.user=null})}d.user=i,d.folder=s,d.folderType=angular.isDefined(s.$cards)?"AddressBook":"Calendar",d.selectedUser=null,d.selectedUid=null,d.selectUser=a,d.selectAllRights=function(e){s.$acl.$selectAllRights(e)},d.showRights=function(e){return d.selectedUid==e.uid&&e.rights},d.removeUser=function(e){t(function(){s.$acl.$removeUser(e.uid,s.owner)},500)},d.getTemplate=function(){return angular.isDefined(s.$cards)?"../"+s.owner+"/Contacts/"+s.id+"/UIxContactsUserRightsEditor":"../"+s.owner+"/Calendar/"+s.id+"/UIxCalUserRightsEditor"},d.close=u,d.save=function(){s.$acl.$saveUsersRights(s.owner).then(function(){n.show(n.simple().content(l("ACLs saved")).position("bottom right").hideDelay(3e3)),r("xs")&&u()})},d.userToAdd="",d.searchText="",d.userFilter=function(e){return o.$filter(e,s.$acl.users,{dry:!0,uid:d.user.uid})},d.addUser=function(e){e&&s.$acl.$addUser(e,s.owner).then(function(e){d.userToAdd="",d.searchText="",d.selectedUid=null,e&&a(e)})},s.$acl.$users(s.owner).then(function(e){d.users=e})}e.$inject=["$timeout","$state","$mdMedia","$mdToast","stateUser","stateFolder","User"],angular.module("SOGo.AdministrationUI").controller("AdministrationAclController",e)}(),function(){"use strict";function e(t,e,r,n,i,s,o,d){var l=this;l.service=d,l.selectedUser=null,l.users=d.$users,l.go=function(e){t.go("administration."+e),r(i["gt-md"])||n("left").close()},l.filter=function(e){d.$filter(e)},l.selectUser=function(e){l.selectedUser==l.users[e]?l.selectedUser=null:l.users[e].$folders().then(function(){l.selectedUser=l.users[e]})},l.selectFolder=function(e){t.go("administration.rights.edit",{userId:l.selectedUser.uid,folderId:o(e.name)})}}e.$inject=["$state","$mdToast","$mdMedia","$mdSidenav","sgConstant","Dialog","encodeUriFilter","User"],angular.module("SOGo.AdministrationUI").controller("AdministrationController",e)}();
//# sourceMappingURL=Administration.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Administration.js.map b/UI/WebServerResources/js/Administration.js.map
index 7d61e4032..75bc3c71d 100644
--- a/UI/WebServerResources/js/Administration.js.map
+++ b/UI/WebServerResources/js/Administration.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Administration/Administration.app.js","Administration/AdministrationAclController.js","Administration/AdministrationController.js"],"names":["angular","module","config","configure","run","runBlock","$inject","$stateProvider","$urlServiceProvider","state","abstract","views","administration","templateUrl","controller","controllerAs","url","acl","resolve","stateUser","stateFolder","rules","otherwise","$q","$stateParams","User","user","_","find","$users","uid","userId","isUndefined","$filter","then","users","reject","$folders","$state","decodeUriFilter","AddressBook","Calendar","folder","o","folderId","$$folders","name","type","id","split","pop","owner","displayName","selectedFolder","$window","$log","$transitions","DebugEnabled","defaultErrorHandler","onError","to","transition","ignored","error","detail","go","AdministrationAclController","$timeout","$mdMedia","$mdToast","vm","this","folderType","isDefined","$cards","selectedUser","selectedUid","selectUser","selectAllRights","$acl","$selectAllRights","showRights","rights","removeUser","$removeUser","getTemplate","close","save","$saveUsersRights","show","simple","content","l","position","hideDelay","userToAdd","searchText","userFilter","$query","dry","addUser","data","$addUser","$event","target","parentNode","classList","contains","$rights","AdministrationController","$mdSidenav","sgConstant","Dialog","encodeUriFilter","service","filter","i","selectFolder"],"mappings":"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","file":"Administration.js"}
\ No newline at end of file
+{"version":3,"sources":["Administration/Administration.app.js","Administration/AdministrationAclController.js","Administration/AdministrationController.js"],"names":["configure","$stateProvider","$urlServiceProvider","state","abstract","views","administration","templateUrl","controller","controllerAs","url","module","acl","resolve","stateUser","stateFolder","rules","otherwise","$q","$stateParams","User","user","_","find","$users","uid","userId","angular","isUndefined","$filter","then","users","reject","$folders","$state","decodeUriFilter","AddressBook","Calendar","folder","o","folderId","$$folders","name","type","id","split","pop","owner","displayName","selectedFolder","runBlock","$window","$log","$transitions","DebugEnabled","defaultErrorHandler","onError","to","transition","ignored","error","detail","go","config","run","$inject","AdministrationAclController","$timeout","$mdMedia","$mdToast","vm","this","selectUser","$event","target","parentNode","classList","contains","selectedUid","selectedUser","$rights","close","folderType","isDefined","$cards","selectAllRights","$acl","$selectAllRights","showRights","rights","removeUser","$removeUser","getTemplate","save","$saveUsersRights","show","simple","content","l","position","hideDelay","userToAdd","searchText","userFilter","$query","dry","addUser","data","$addUser","AdministrationController","$mdSidenav","sgConstant","Dialog","encodeUriFilter","service","filter","i","selectFolder"],"mappings":"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","file":"Administration.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Administration.services.js b/UI/WebServerResources/js/Administration.services.js
index 5d98f070d..832442fc7 100644
--- a/UI/WebServerResources/js/Administration.services.js
+++ b/UI/WebServerResources/js/Administration.services.js
@@ -1,2 +1,2 @@
-!function(){"use strict";function t(){}t.$factory=["$q","$timeout","$log","sgSettings","Resource","User",function(e,o,r,n,i,a){return angular.extend(t,{$q:e,$timeout:o,$log:r,$$resource:new i(n.activeUser("folderURL"),n.activeUser()),activeUser:n.activeUser(),$User:a}),new t}];try{angular.module("SOGo.AdministrationUI")}catch(t){angular.module("SOGo.AdministrationUI",["SOGo.Common"])}angular.module("SOGo.AdministrationUI").factory("Administration",t.$factory)}();
+!function(){"use strict";function a(){}a.$factory=["$q","$timeout","$log","sgSettings","Resource","User",function(t,e,o,r,n,i){return angular.extend(a,{$q:t,$timeout:e,$log:o,$$resource:new n(r.activeUser("folderURL"),r.activeUser()),activeUser:r.activeUser(),$User:i}),new a}];try{angular.module("SOGo.AdministrationUI")}catch(t){angular.module("SOGo.AdministrationUI",["SOGo.Common"])}angular.module("SOGo.AdministrationUI").factory("Administration",a.$factory)}();
//# sourceMappingURL=Administration.services.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Administration.services.js.map b/UI/WebServerResources/js/Administration.services.js.map
index fca5af334..04ac23cd0 100644
--- a/UI/WebServerResources/js/Administration.services.js.map
+++ b/UI/WebServerResources/js/Administration.services.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Administration/Administration.service.js"],"names":["Administration","$factory","$q","$timeout","$log","Settings","Resource","User","angular","extend","$$resource","activeUser","$User","module","e","factory"],"mappings":"CAEA,WACE,aAMA,SAASA,KASTA,EAAeC,UAAY,KAAM,WAAY,OAAQ,aAAc,WAAY,OAAQ,SAASC,EAAIC,EAAUC,EAAMC,EAAUC,EAAUC,GAUtI,OATAC,QAAQC,OAAOT,GACbE,GAAIA,EACJC,SAAUA,EACVC,KAAMA,EACNM,WAAY,IAAIJ,EAASD,EAASM,WAAW,aAAcN,EAASM,cACpEA,WAAYN,EAASM,aACrBC,MAAOL,IAGF,IAAIP,IAIb,IACEQ,QAAQK,OAAO,yBAEjB,MAAMC,GACJN,QAAQK,OAAO,yBAA0B,gBAI3CL,QAAQK,OAAO,yBACZE,QAAQ,iBAAkBf,EAAeC,UAvC9C","file":"Administration.services.js"}
\ No newline at end of file
+{"version":3,"sources":["Administration/Administration.service.js"],"names":["Administration","$factory","$q","$timeout","$log","Settings","Resource","User","angular","extend","$$resource","activeUser","$User","module","e","factory"],"mappings":"CAEA,WACE,aAMA,SAASA,KASTA,EAAeC,SAAW,CAAC,KAAM,WAAY,OAAQ,aAAc,WAAY,OAAQ,SAASC,EAAIC,EAAUC,EAAMC,EAAUC,EAAUC,GAUtI,OATAC,QAAQC,OAAOT,EAAgB,CAC7BE,GAAIA,EACJC,SAAUA,EACVC,KAAMA,EACNM,WAAY,IAAIJ,EAASD,EAASM,WAAW,aAAcN,EAASM,cACpEA,WAAYN,EAASM,aACrBC,MAAOL,IAGF,IAAIP,IAIb,IACEQ,QAAQK,OAAO,yBAEjB,MAAMC,GACJN,QAAQK,OAAO,wBAAyB,CAAC,gBAI3CL,QAAQK,OAAO,yBACZE,QAAQ,iBAAkBf,EAAeC,UAvC9C","file":"Administration.services.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Common.js b/UI/WebServerResources/js/Common.js
index 9ee8ea483..27d8db178 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","$qProvider"];function e(e,t,n,r,i,o){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 s=r.extendPalette("grey",{600:"00B0C0"});r.definePalette("sogo-grey",s),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(),o.errorOnUnhandledRejections(!1),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){var i="md-default-theme md-accent md-bg md-bdr";return function(o,s,a,l){var c,u,d,h,m,g=e.find("md-grid-tile"),p=[];for((u=l[1]||t.fakeNgModel()).$render=function(){var e=u.$viewValue;p=u.$viewValue,r.sgToggleGridAttr&&(h=r.sgToggleGridAttr,e=_.map(u.$viewValue,r.sgToggleGridAttr));_.forEach(g,function(t){var n=angular.element(t);_.includes(e,n.attr("value"))&&n.addClass(i)}),u.$validate(),f(u.$invalid)},u.$isEmpty=function(e){return!e||0===e.length},m=function(){var e=angular.element(this),t=e.attr("value");e.toggleClass(i),function(e){var t=_.findIndex(p,function(t){return h?t[h]==e:t==e});if(t<0)if(h){var n={};n[h]=e,p.push(n)}else p.push(e);else p.splice(t,1);o.$apply(function(){u.$setViewValue(p),u.$setDirty(),u.$validate(),f(u.$invalid)})}(t)},d=0;d /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 l(){var n,e,t=arguments[0],r=t,i=arguments;for(labels[t]?r=labels[t]:clabels[t]&&(r=clabels[t]),n=1,e=0;n/.test(e.data)?(t.location.reload(!0),n.reject()):e}}}function n(r,i,o,s){return{responseError:function(e){var t,n;if(/^application\/json/.test(e.config.headers.Accept)){if(i.usesCASAuthentication&&-1==e.status)return t=o.defer(),(n=angular.element('')).on("load",function(){s.get("$http")(e.config).then(t.resolve,t.reject),n.remove()}),document.body.appendChild(n[0]),t.promise;i.usesSAML2Authentication&&401==e.status?i.location.reload(!0):r.$broadcast("http:Error",e)}return o.reject(e)}}}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","$qProvider"],t.$inject=["$window","$q"],n.$inject=["$rootScope","$window","$q","$injector"]}(),function(){"use strict";var v;function e(e){v=e}function t(e,t,n){function r(e){return e.join("")}for(var i=e(r([".md-{{theme}}-theme",".md-fg"])+" { color:{{value}};}"),o=e(r([".md-{{theme}}-theme",".md-bg"])+" { background-color:{{value}};}"),s=e(r([".md-{{theme}}-theme",".md-bdr"])+" { border-color:{{value}};}"),a=e(r([".md-{{theme}}-theme",".md-{{hue}}",".md-fg"])+" { color:{{value}};}"),l=e(r([".md-{{theme}}-theme",".md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),c=e(r([".md-{{theme}}-theme",".md-{{palette}}",".md-fg"])+" { color:{{value}};}"),u=e(r([".md-{{theme}}-theme",".md-{{palette}}",".md-bg"])+" { background-color:{{value}}; color:{{contrast}} !important; }"),d=e(r([".md-{{theme}}-theme",".md-{{palette}}",".md-bdr"])+" { border-color:{{value}};}"),h=e(r([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-fg"])+" { color:{{value}};}"),m=e(r([".md-{{theme}}-theme",".md-{{palette}}.md-{{hue}}",".md-bg"])+" { background-color:{{value}};}"),g=function(){var e=t[0].head.querySelector('style[title="Dynamic-Generated-by-mdColors"]');null===e&&((e=t[0].createElement("style")).title="Dynamic-Generated-by-mdColors",e.appendChild(t[0].createTextNode("")),t[0].head.appendChild(e));return e.sheet}(),p=0;0"+e+"");return t.find("a").attr("target","_blank"),n.trustAs("html",t.html())}}e.$inject=["$sce"],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}}e.$inject=["linkyFilter"],angular.module("SOGo.Common").filter("txt2html",e)}(),function(){"use strict";function e(t,n,e,r,i,o,s){var a=this;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).inactive||a.selectedUser.$rights())}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(e){return"UIx"+(t[0].getElementById("UIxAnonymousUserRightsEditor")&&e.$isAnonymous()?"Anonymous":"")+"UserRightsEditor"},a.userFilter=function(e){return o.$filter(e,s.$acl.users)},a.closeModal=function(){s.$acl.$resetUsersRights(),e.hide()},a.saveModal=function(){s.$acl.$saveUsersRights().then(function(){e.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){n(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:""}}e.$inject=["$document","$timeout","$mdDialog","Dialog","usersWithACL","User","folder"],angular.module("SOGo.Common").controller("AclController",e)}(),function(){"use strict";function e(e,t,n,r,i,o,s,a,c,u,d,h,m,g){var p=new m(h.baseURL(),h.activeUser());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")}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)&&(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"})}}e.$inject=["$rootScope","$scope","$timeout","$interval","$http","$window","$mdSidenav","$mdToast","$mdMedia","$log","sgConstant","sgSettings","Resource","Alarm"],angular.module("SOGo.Common").controller("navController",e)}(),function(){"use strict";function s(e){this.folderId=e}s.factory=["$q","$timeout","sgSettings","Resource","User",function(e,t,n,r,i){return angular.extend(s,{$q:e,$timeout:t,$$resource:new r(n.activeUser("folderURL"),n.activeUser()),$User:i}),s}],angular.module("SOGo.Common").factory("Acl",s.factory),s.prototype.$users=function(t){var n,r=this,i=s.$q.defer();return this.users?(i.resolve(this.users),i.promise):(angular.isDefined(t)?s.$$resource.userResource(t).fetch(this.folderId,"acls"):s.$$resource.fetch(this.folderId,"acls")).then(function(e){return r.users=[],angular.forEach(e.users,function(e){(n=new s.$User(e)).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})},s.prototype.$addUser=function(e,t){var n=this,r=s.$q.defer(),i={uid:e.uid};!e.uid||-1<_.indexOf(_.map(this.users,"uid"),e.uid)?r.resolve():(angular.isDefined(t)?s.$$resource.userResource(t).fetch(this.folderId,"addUserInAcls",i):s.$$resource.fetch(this.folderId,"addUserInAcls",i)).then(function(){e.wasSubscribed=!1,e.userClass=e.isGroup?"normal-group":"normal-user",e.$rights=angular.bind(e,e.$acl,n.folderId,t),n.users.push(e),r.resolve(e)},function(e,t){r.reject(l("An error occured please try again."))});return r.promise},s.prototype.$removeUser=function(t,e){var n=this,r={uid:t};return(angular.isDefined(e)?s.$$resource.userResource(e).fetch(this.folderId,"removeUserFromAcls",r):s.$$resource.fetch(this.folderId,"removeUserFromAcls",r)).then(function(){var e=_.indexOf(_.map(n.users,"uid"),t);0<=e&&(n.users[e].$shadowRights=null,n.users.splice(e,1))})},s.prototype.$selectAllRights=function(n){_.forEach(n.rights,function(e,t){angular.isNumber(n.rights[t])?n.rights[t]=1:n.rights[t]="Modifier"})},s.prototype.$resetUsersRights=function(){angular.forEach(this.users,function(e){e.$resetRights()})},s.prototype.$saveUsersRights=function(e){var t=this,n=s.$q.defer(),r=s.$q.defer(),i={action:"saveUserRights"},o=[];(angular.forEach(this.users,function(e){e.$rightsAreDirty()&&o.push(e.$omit())}),o.length)?(angular.isDefined(e)?s.$$resource.userResource(e).save(this.folderId,o,i):s.$$resource.save(this.folderId,o,i)).then(function(){angular.forEach(t.users,function(e){e.$rightsAreDirty()&&(e.$shadowRights=angular.copy(e.rights))}),n.resolve()},n.reject):n.resolve();return o=[],angular.forEach(this.users,function(e){!e.wasSubscribed&&e.isSubscribed&&o.push(e.uid)}),o.length?(i={uids:o.join(",")},s.$$resource.fetch(this.folderId,"subscribeUsers",i).then(function(){angular.forEach(t.users,function(e){e.wasSubscribed=e.isSubscribed}),r.resolve()},r.reject)):r.resolve(),s.$q.all([n.promise,r.promise])}}(),function(){"use strict";function u(){this.currentAlarm=null}function e(e,t,n,r){return angular.extend(u,{$timeout:e,$$resource:new n(t.activeUser("folderURL")+"Calendar",t.activeUser()),$toast:r}),u}u.getAlarms=function(){var c=this,e=new Date,t=Math.floor(e.getTime()/1e3);this.$$resource.fetch("","alarmslist?browserTime="+t).then(function(e){var t=e.alarms.sort(function(e,t){var n=parseInt(e[2]);return parseInt(t[2])-n});if(0",' ','
','
{{ 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:t},controller:e}),e.$inject=["scope","$mdToast","url"]})},e.$inject=["$timeout","sgSettings","Resource","$mdToast"],angular.module("SOGo.Common").factory("Alarm",e)}(),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 h(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}function e(a,c,s,u){function d(){var e,t=null,n=s.get("0xHIGHFLYxSOGo");return n&&8',' ",""].join(""),controller:s}),s.$inject=["scope","$mdDialog"],o.promise},e.$inject=["$q","$mdDialog"],angular.module("SOGo.Common").factory("Dialog",e)}(),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?(0<=(i=e.indexOf("<"))&&i<(o=e.indexOf(">",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 s(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(/\/$/,"")}s.$factory=["$http","$q","$window",function(r,i,o){return function(e,t,n){return new s(r,i,o,e,t,n)}}],angular.module("SOGo.Common").factory("Resource",s.$factory),s.prototype.userResource=function(e){var t=_.compact(this._activeUser.folderURL.split("/"));return e&&t.splice(t.length-1,1,escape(e)),new s(this._http,this._q,this._window,"/"+t.join("/"),this._activeUser)},s.prototype.path=function(){var e=[this._path];return 0"," "," ",' ',' '," {{keys[0].lkey || hotkey}} ","
"," {{keys[0].description}}"," "," "," ",""].join(""),controller:t,locals:{hotkeys:e._hotkeys}}).finally(function(){e._cheatSheet=null}),t.$inject=["$scope","hotkeys"]},n}(this.$get=e).$inject=["$rootScope","$window"]})}(),function(){"use strict";function c(e){e&&this.init(e)}c.factory=["$q","$log","sgSettings","Resource",function(e,t,n,r){return angular.extend(c,{$q:e,$log:t,$$resource:new r(n.activeUser("folderURL"),n.activeUser()),$query:"",$users:[]}),c}],angular.module("SOGo.Common").factory("User",c.factory),c.$filter=function(e,s,a){var t=c.$$resource,n={search:e};if(a&&a.dry)a&&a.uid&&(t=c.$$resource.userResource(a.uid));else{if(!e)return c.$users.splice(0,c.$users.length),c.$q.when(c.$users);if(c.$query==e)return c.$q.when(c.$users);c.$query=e}return t.fetch(null,"usersSearch",n).then(function(e){var t,n,r,i,o=function(e){return this.uid==e.uid};for(a?a.dry?i=[]:a.results&&(i=a.results):i=c.$users,t=s?_.filter(e.users,function(e){return!_.find(s,_.bind(o,e))}):e.users,n=i.length-1;0<=n;n--)r=i[n],_.find(t,_.bind(o,r))||i.splice(n,1);return _.forEach(t,function(e,t){if(_.isUndefined(_.find(i,_.bind(o,e)))){var n=new c(e);i.splice(t,0,n)}}),c.$log.debug(i),i})},c.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=" "},c.prototype.$fullname=function(){var e=this.cn||this.uid;return this.c_info&&(e+=" ("+this.c_info.split("\n").join("; ")+")"),e},c.prototype.$shortFormat=function(e){var t=this.$fullname(),n=this.c_email;return!(e&&!1===e.email)&&n&&t!=n&&(t+=" <"+n+">"),t},c.prototype.$acl=function(e,t){var n=this,r=c.$q.defer(),i={uid:this.uid};this.$shadowRights?r.resolve(this.rights):(angular.isDefined(t)?c.$$resource.userResource(t).fetch(e,"userRights",i):c.$$resource.fetch(e,"userRights",i)).then(function(e){return n.rights=e,n.$shadowRights=angular.copy(e),r.resolve(e),e});return r.promise},c.prototype.$isGroup=function(){return this.isGroup||this.userClass&&"normal-group"==this.userClass},c.prototype.$isAnonymous=function(){return"anonymous"==this.uid},c.prototype.$isSpecial=function(){return this.userClass&&"public-user"==this.userClass},c.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)},c.prototype.$rightsAreDirty=function(){return this.rights&&!_.isEqual(this.rights,this.$shadowRights)},c.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))},c.prototype.$folders=function(e){var t=this,n=c.$q.defer(),r={type:e};return this.$$folders?n.resolve(this.$$folders):c.$$resource.userResource(this.uid).fetch(null,"foldersSearch",r).then(function(e){t.$$folders=e.folders,n.resolve(e.folders)}),n.promise},c.prototype.$omit=function(){var n={};return angular.forEach(this,function(e,t){"constructor"!=t&&"$"!=t[0]&&(n[t]=e)}),n},c.prototype.toString=function(){return"[User "+this.c_email+"]"}}(),function(){"use strict";function e(e,t,i,n,o,s){var a,r;function l(){a.url=null,a.urlEmail=null,a.img.addClass("ng-hide"),a.genericImg.removeClass("ng-hide")}function c(){a.genericImg.addClass("ng-hide"),a.img.removeClass("ng-hide")}a=this,e.$on("$destroy",function(){r&&t.off("click",r)}),e.$watch(function(){return a.email},function(e,t){var n,r;e&&a.urlEmail!=e?(l(),o.defaults.SOGoGravatarEnabled&&(r=s(n=e,a.size,o.defaults.SOGoAlternateAvatar),i({method:"GET",url:r,cache:!0,headers:{Accept:"image/*"}}).then(function(){a.url||(a.url=r,a.urlEmail=n,c())},function(){l()}))):e||l()}),"sg-src"in t[0].attributes&&e.$watch(function(){return a.src},function(e){e&&(a.url=e,a.urlEmail=""+a.email,t.addClass("sg-avatar-image--zoomable"),r=function(){t.toggleClass("sg-avatar-image--zoom")},t.on("click",r),c())})}e.$inject=["$scope","$element","$http","$q","Preferences","Gravatar"],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";function e(e,l,c){return{link:function(e,t){var n=t[0].querySelector(".sg-button-toggle"),r=n.querySelector(".sg-icon-toggle"),i="md-rotate-180-ccw",o=t[0].querySelector(".sg-block-toggle"),s=!1;function a(){o.setAttribute("aria-hidden",!s),o.setAttribute("aria-expanded",s),s||(o.style.visibility="hidden")}n.classList.add("md-clickable"),angular.element(n).on("click",function(){(s=!s)?r.classList.add(i):r.classList.remove(i);s&&(o.style.visibility="visible");c(function(){var e=s?o.scrollHeight:0;l(angular.element(o),{easing:"cubic-bezier(0.35, 0, 0.25, 1)",to:{height:e+"px"},duration:.75}).start().then(function(){a()})})}),a()}}}e.$inject=["$mdUtil","$animateCss","$$rAF"],angular.module("SOGo.Common").directive("sgBlockToggle",e)}(),function(){"use strict";function e(a,l,c,u){var d="sg-checked";return{restrict:"E",replace:!0,transclude:!0,require:"?ngModel",template:[''," check "," "].join(""),compile:function(e,t){return e.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),function(e,n,t,r){var i=s(a,e,"sgTrueValue",t.sgTrueValue,!0),o=s(a,e,"sgFalseValue",t.sgFalseValue,!1);function s(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}r=r||u.fakeNgModel(),c(n),l.expectWithText(n,"aria-label"),n.on("click",function(t){n[0].hasAttribute("disabled")||e.$apply(function(){var e=r.$viewValue==i?o:i;r.$setViewValue(e,t&&t.type),r.$render()})}),r.$render=function(){r.$viewValue==i?n.addClass(d):n.removeClass(d)}}}}}angular.module("SOGo.Common").directive("sgCheckmark",e),e.$inject=["$parse","$mdAria","$mdTheming","$mdUtil"]}(),function(){"use strict";function e(e,t,d,h){var m,g,p;function f(e){p=e,m.buttonIcon.css("color",p)}this.$onInit=function(){m=this,g=t.controller("ngModel")},this.$postLink=function(){this.buttonIcon=t.find("md-icon"),g.$render=function(){f(g.$viewValue)}},this.showPicker=function(e){for(var t=d.newPanelPosition().relativeTo(m.buttonIcon).addPanelPosition(d.xPosition.ALIGN_START,d.yPosition.ALIGN_TOPS),n=d.newPanelAnimation().openFrom(m.buttonIcon).duration(100).withAnimation(d.animation.FADE),r=[],i="",o=0;o",l&&(i+=' '),i+=""}var c={attachTo:angular.element(document.body),bindToController:!0,controller:u,controllerAs:"$menuCtrl",position:t,animation:n,targetEvent:e,template:['"].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};function u(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")),f(t),g.$setViewValue(t)}}d.open(c).then(function(e){e.panelEl.one("click",function(){e.close()})}),u.$inject=["mdPanelRef","$state","$mdDialog","User"]}}e.$inject=["$scope","$element","$mdPanel","sgColors"],angular.module("SOGo.Common").directive("sgColorPicker",function(){return{restrict:"E",require:"ngModel",template:[' '," format_color_fill "," "].join(""),controller:e,controllerAs:"$ctrl"}})}(),function(){"use strict";function e(o){return{restrict:"A",link:function(t,n,r){var i=t.$watch(function(e){return e.$eval(r.sgCompile)},function(e){n.html(e),o(n.contents())(t),i()})}}}e.$inject=["$compile"],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";function e(l,n,c,e,u){return{restrict:"A",link:function(r,i,o){var s;function a(e,t,n,r){if(this.$element=e,this.folder=t,this.dragStart=n,this.count=r,this.helper=c.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)}e(function(){var e,t,n;e=l(o.sgDraggable)(r),t=o.sgDragStart?l(o.sgDragStart):null,n=o.sgDragCount?l(o.sgDragCount):null,s=new a(i,e,t,n)}),r.$on("$destroy",function(){s.$destroy()}),a.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(r)||(c.on("mousemove",this.bindedOnDrag),c.one("mouseup",angular.bind(this,this.onDragEnd)))},onDrag:function(e){var t;this.startPosition?!this.dragHasStarted&&10'," .bg-folder{{ cssCtrl.ngModel.id }} {"," background-color: {{ cssCtrl.ngModel.color }} !important;"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," .sg-event.bg-folder{{ cssCtrl.ngModel.id }} md-icon {"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," md-toolbar.bg-folder{{ cssCtrl.ngModel.id }} md-icon:not(.sg-icon-toolbar-bg) {"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," .bg-folder{{ cssCtrl.ngModel.id }} label,"," .bg-folder{{ cssCtrl.ngModel.id }} .md-input {"," color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," opacity: 0.8;"," }"," .fg-folder{{ cssCtrl.ngModel.id }},"," .sg-event.fg-folder{{ cssCtrl.ngModel.id }} md-icon {"," color: {{ cssCtrl.ngModel.color }} !important;"," }"," .bdr-folder{{ cssCtrl.ngModel.id }} {"," border-color: {{ cssCtrl.ngModel.color }} !important;"," }"," .contrast-bdr-folder{{ cssCtrl.ngModel.id }} {"," border-color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," .checkbox-folder{{ cssCtrl.ngModel.id }} .md-icon {"," background-color: {{ cssCtrl.ngModel.color }} !important;"," }"," .checkbox-folder{{ cssCtrl.ngModel.id }}.md-checked .md-icon:after {"," border-color: {{ cssCtrl.contrast(cssCtrl.ngModel.color) }} !important;"," }"," .md-switch-folder{{ cssCtrl.ngModel.id }}.md-checked .md-thumb {"," background-color: {{ cssCtrl.ngModel.color }} !important;"," }"," .md-switch-folder{{ cssCtrl.ngModel.id }}.md-checked .md-bar {",' background-color: {{ cssCtrl.transparent(cssCtrl.ngModel.color, "0.5") }} !important;'," }"," .md-switch-folder{{ cssCtrl.ngModel.id }} .md-bar {",' background-color: {{ cssCtrl.transparent(cssCtrl.ngModel.color, "0.3") }} !important;'," }",""].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";function e(l,c){return{restrict:"A",compile:function(e,t){return function(e,n,t){var r,i,o,s;for(s=n.attr("sg-ripple-click"),o=n[0].parentNode;o&&o.id!=s;)o=o.parentNode;function a(e){var t;n[0].hasAttribute("disabled")||(t=e.pageX&&e.pageY?{left:e.pageX,top:e.pageY}:e.target.getBoundingClientRect(),i.classList.contains("ng-hide")?(angular.element(o).css({overflow:"hidden",position:"relative"}),angular.element(i).css({top:o.scrollTop+"px"}),c(function(){r.css({top:t.top-o.offsetTop+o.scrollTop+"px",left:t.left-o.offsetLeft+"px",height:"400vmin",width:"400vmin"}),i.classList.remove("ng-hide")})):(r.css({top:t.top-o.offsetTop+o.scrollTop+"px",left:t.left-o.offsetLeft+"px",height:"0px",width:"0px"}),i.classList.add("ng-hide"),c(function(){angular.element(o).css({overflow:"",position:""})},800)))}o?(i=o.querySelector("sg-ripple-content"))?((r=o.querySelector("sg-ripple"))?r=angular.element(r):(r=angular.element(' '),o.appendChild(r[0]),i.classList.contains("ng-hide")||i.classList.add("ng-hide")),n.on("click",a),e.$on("$destroy",function(){n.off("click",a)})):l.error("sg-ripple-content not found inside #"+s):l.error("No parent element found with id "+s)}}}}angular.module("SOGo.Common").directive("sgRippleClick",e),e.$inject=["$log","$timeout"]}(),function(){"use strict";function e(a){return{restrict:"A",controller:"sgSearchController",controllerAs:"$sgSearchController",priority:1001,compile:function(e,t){e.find("md-input-container");var o=e.find("input"),n=e.find("md-select"),s=e.find("md-button");o.attr("ng-model","$sgSearchController.searchText"),o.attr("ng-model-options","$sgSearchController.searchTextOptions"),o.attr("ng-change","$sgSearchController.onChange()"),n&&(n.attr("ng-model","$sgSearchController.searchField"),n.attr("ng-change","$sgSearchController.onChange()"));s&&s.attr("sg-search-cancel")?(s.attr("ng-click",s.attr("sg-search-cancel")),s.removeAttr("sg-search-cancel")):s=null;return function(e,t,n,r){var i=t.find("button");r.formName=t.attr("name"),r.inputName=o.attr("name"),r.allowDot=a(t.attr("sg-allow-dot"))(e),r.fields=a(t.attr("sg-search-fields"))(e),r.doSearch=a(t.attr("sg-search")),s&&i&&i.on("click",r.cancelSearch)}}}}function t(e,r,t){var i=this;if(i.searchText=null,i.searchTextOptions={updateOn:"default blur",debounce:{default:300,blur:0}},t.attr("sg-search-fields"))var n=r.$watch(i.fields,function(e){i.searchField=_.clone(i.fields),n()});i.onChange=function(){var e=r[i.formName],t=e[i.inputName],n=t.$viewValue;(i.allowDot&&"."==n||e.$valid&&n)&&("."==n&&t.$setValidity("minlength",!0),i.doSearch(r,{searchText:n,searchField:i.searchField}))},i.cancelSearch=function(){i.searchText=null}}e.$inject=["$parse"],t.$inject=["$window","$scope","$element"],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(n,e,t,r){var i=n.$watch(function(){return e.find("input").eq(0)},function(e){var t;e.length&&(i(),t=e.controller("ngModel"),e.on("blur",function(){r.scope.selectedItem||n.$applyAsync(t.$setValidity("required",!1))}))})},require:"mdAutocomplete",restrict:"A"}})}(),function(){"use strict";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)}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"})}}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(t){r.$filter(i.searchText,null,{results:i.users}).then(function(e){t.$setValidity("matches",0',' ','
','
',' {{hour.displayName}} ',"
","
","
",' ','
','
',' {{minute.displayName}} ',"
","
","
",' ",' ',' ',"
",""].join(""),scope:{},require:["ngModel","sgTimePane","?^mdInputContainer"],controller:e,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 g=0;function e(e,t,n,r,i,o,s,a,l){var c;o(e),this.$element=e,this.$scope=t,this.dateUtil=n,this.$mdUtil=r,this.keyCode=i.KEY_CODE,this.$$rAF=s,this.timePaneElement=e[0].querySelector(".sg-time-pane"),this.ngModelCtrl=null,this.SELECTED_TIME_CLASS="sg-time-selected",this.FOCUSED_TIME_CLASS="md-focus",this.id=g++,this.displayTime=null,this.selectedTime=null,this.isInitialized=!1,t.hours=[],t.hours[0]=[],t.hours[0][0]=[],t.hours[0][1]=[],t.hours[1]=[],t.hours[1][0]=[],t.hours[1][1]=[];for(var u=0;u<6;u++)t.hours[0][0][u]={id:"tp-"+this.id+"-hour-"+u,displayName:u<10?"0"+u:""+u,selected:!1},t.hours[0][1][u]={id:"tp-"+this.id+"-hour-"+(u+6),displayName:u+6<10?"0"+(u+6):""+(u+6),selected:!1},t.hours[1][0][u]={id:"tp-"+this.id+"-hour-"+(u+12),displayName:""+(u+12),selected:!1},t.hours[1][1][u]={id:"tp-"+this.id+"-hour-"+(u+18),displayName:""+(u+18),selected:!1};for(t.min5=[],t.min5[0]=[],t.min5[1]=[],u=0;u<6;u++)c=5*u,t.min5[0][u]={id:"tp-"+this.id+"-minute5-"+c,displayName:c<10?":0"+c:":"+c,selected:!0},t.min5[1][u]={id:"tp-"+this.id+"-minute5-"+(c+30),displayName:":"+(c+30),selected:!1};for(t.min1=[],u=0;u<12;u++){t.min1[u]=[];for(var d=0;d<5;d++)c=5*u+d,t.min1[u][d]={id:"tp-"+this.id+"-minute-"+c,displayName:c<10?":0"+c:":"+c,selected:!0}}t.show5min=!0,t.getToggleBtnLbl=function(){return t.is5min()?">>":"<<"},t.toggleManual5min=function(){t.manual5min=!t.is5min()},t.is5min=function(){return!0===t.manual5min||!1===t.manual5min?t.manual5min:t.show5min},a.tabindex||e.attr("tabindex","-1");var h=this;this.hourClickHandler=function(e){var t=new Date(h.displayTime);t.setHours(Number(e)),h.setNgModelValue(t,"hours")},t.hourClickHandler=this.hourClickHandler,this.minuteClickHandler=function(e){var t=e.substr(1),n=new Date(h.displayTime);n.setMinutes(Number(t)),h.setNgModelValue(n,"minutes")},t.minuteClickHandler=this.minuteClickHandler;var m=angular.bind(this,this.handleKeyEvent);angular.element(document.body).on("keydown",m),t.$on("$destroy",function(){angular.element(document.body).off("keydown",m)})}e.$inject=["$element","$scope","$$mdDateUtil","$mdUtil","$mdConstant","$mdTheming","$$rAF","$attrs","$mdDateLocale"],e.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)})}},e.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"))}},e.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},e.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})},e.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";function e(l,e){return{template:function(e,t){var n=t.ariaLabel||t.mdPlaceholder;return['',' access_time '," ",'",'"].join("")},require:["ngModel","sgTimepicker","?^form"],scope:{placeholder:"@mdPlaceholder"},controller:t,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,r){var i=r[0],o=r[1],s=r[2];l.parseAttributeBoolean(n.mdNoAsterisk);if(o.configureNgModel(i),s)var a=e.$watch(function(){return s.$submitted},function(e){e&&(o.updateErrorState(),a())})}}}angular.module("SOGo.Common").directive("sgTimepicker",e),e.$inject=["$mdUtil","$mdAria"];var i="sg-timepicker-invalid",g="sg-timepicker-open",p={MIN5:{GTXS:192,XS:311},MIN1:{GTXS:384,XS:474}},f={GTXS:530,XS:294},h=/ipad|iphone|ipod|android/i;function t(e,t,n,r,i,o,s,a,l,c,u){this.$window=r,this.dateLocale=a,this.dateUtil=l,this.$mdConstant=i,this.$mdUtil=s,this.$$rAF=c,this.$mdMedia=u,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"+s.nextUid(),this.bodyClickHandler=angular.bind(this,this.handleBodyClick),this.windowEventName=h.test(navigator.userAgent||navigator.vendor||window.opera)?"orientationchange":"resize",this.windowEventHandler=s.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"),o(t),o(angular.element(this.timePane)),this.installPropertyInterceptors(),this.attachChangeListeners(),this.attachInteractionListeners();var d=this;e.$on("$destroy",function(){d.detachTimePane()})}t.$inject=["$scope","$element","$attrs","$window","$mdConstant","$mdTheming","$mdUtil","$mdDateLocale","$$mdDateUtil","$$rAF","$mdMedia"],t.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))},t.prototype.attachChangeListeners=function(){var r=this;r.$scope.$on("sg-time-pane-change",function(e,t){var n=new Date(t.date);r.ngModelCtrl.$setViewValue(n),r.time=n,r.inputElement.value=r.dateLocale.formatTime(n),"minutes"==t.changed&&r.closeTimePane(),r.resizeInputElement(),r.inputContainer.classList.remove(i)}),r.ngInputElement.on("input",angular.bind(r,r.resizeInputElement));var e=angular.isDefined(this.debounceInterval)?this.debounceInterval:500;r.ngInputElement.on("input",r.$mdUtil.debounce(r.handleInputEvent,e,r))},t.prototype.attachInteractionListeners=function(){var t=this,n=this.$scope,r=this.$mdConstant.KEY_CODE;t.ngInputElement.on("keydown",function(e){e.altKey&&e.keyCode==r.DOWN_ARROW&&(t.openTimePane(e),n.$digest())}),n.$on("md-time-close",function(){t.closeTimePane()})},t.prototype.installPropertyInterceptors=function(){var t=this;if(this.$attrs.ngDisabled){var e=this.$scope.$parent;e&&e.$watch(this.$attrs.ngDisabled,function(e){t.setDisabled(e)})}Object.defineProperty(this,"placeholder",{get:function(){return t.inputElement.placeholder},set:function(e){t.inputElement.placeholder=e||""}})},t.prototype.setDisabled=function(e){this.isDisabled=e,this.inputElement.disabled=e,this.timeButton&&(this.timeButton.disabled=e)},t.prototype.updateErrorState=function(e){var t=e||this.date;this.clearErrorState(),this.dateUtil.isValidDate(t)||this.ngModelCtrl.$setValidity("valid",null===t),this.ngModelCtrl.$valid||this.inputContainer.classList.add(i)},t.prototype.clearErrorState=function(){this.inputContainer.classList.remove(i),["valid"].forEach(function(e){this.ngModelCtrl.$setValidity(e,!0)},this)},t.prototype.resizeInputElement=function(){this.inputElement.size=this.inputElement.value.length+3},t.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)},t.prototype.attachTimePane=function(){var e=this.timePane,t=document.body;e.style.transform="",this.$element.addClass(g),angular.element(t).addClass("md-datepicker-is-showing");var n=this.inputContainer.getBoundingClientRect(),r=t.getBoundingClientRect();(!this.topMargin||this.topMargin<0)&&(this.topMargin=(this.inputMask.parent().prop("clientHeight")-this.ngInputElement.prop("clientHeight"))/2);var i=n.top-r.top-this.topMargin,o=n.left-r.left-this.leftMargin,s=r.top<0&&0===t.scrollTop?-r.top:document.body.scrollTop,a=r.left<0&&0===t.scrollLeft?-r.left:document.body.scrollLeft,l=s+this.$window.innerHeight,c=a+this.$window.innerWidth;this.inputMask.css({position:"absolute",left:this.leftMargin+"px",top:this.topMargin+"px",width:n.width-1+"px",height:n.height-2+"px"});var u=this.$mdMedia("xs")?f.XS:f.GTXS;if(c /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 l(e,t){return e<>>32-t}function c(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 t(e,t,n,r,i,o,s){var a;return c(l(e=c(e,c(c((a=t)&n|~a&r,i),s)),o),t)}function n(e,t,n,r,i,o,s){var a;return c(l(e=c(e,c(c(t&(a=r)|n&~a,i),s)),o),t)}function r(e,t,n,r,i,o,s){return c(l(e=c(e,c(c(t^n^r,i),s)),o),t)}function i(e,t,n,r,i,o,s){return c(l(e=c(e,c(c(n^(t|~r),i),s)),o),t)}function o(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 s,a,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;n>6|192):(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,s=0;s "}},resolve:{stateCard:s},onEnter:d,onExit:n}).state("app.addressbook.card.view",{url:"/view",views:{"card@app.addressbook":{templateUrl:"UIxContactViewTemplate",controller:"CardController",controllerAs:"editor"}}}).state("app.addressbook.card.editor",{url:"/edit",views:{"card@app.addressbook":{templateUrl:"UIxContactEditorTemplate",controller:"CardController",controllerAs:"editor"}}}),a.rules.otherwise({state:"app.addressbook",params:{addressbookId:"personal"}})}t.$inject=["AddressBook"];function t(e){return e.$findAll(window.contactFolders)}o.$inject=["$q","$state","$stateParams","AddressBook"];function o(e,t,o,r){var s=_.find(r.$findAll(),function(e){return e.id==o.addressbookId});return s?(delete s.selectedCard,s.$reload(),s):e.reject("Addressbook "+o.addressbookId+" not found")}r.$inject=["$stateParams","stateAddressbook","Card"];function r(e,t,o){var r="v"+e.contactType,s=new o({pid:e.addressbookId,c_component:r,refs:e.refs});return t.selectedCard=!0,s}s.$inject=["$state","$stateParams","stateAddressbook"];function s(e,t,o){return o.$futureAddressBookData.then(function(){var r=_.find(o.$cards,function(e){return e.id==t.cardId});if(r)return r.$reload();e.go("app.addressbook")})}d.$inject=["$stateParams","stateAddressbook"];function d(e,t){t.selectedCard=e.cardId}n.$inject=["stateAddressbook"];function n(e){delete o.selectedCard}a.$inject=["$window","$log","$transitions","$state"];function a(e,t,o,r){e.DebugEnabled||r.defaultErrorHandler(function(){}),o.onError({to:"app.**"},function(e){"app"==e.to().name||e.ignored()||(t.error("transition error to "+e.to().name+": "+e.error().detail),r.go("app.addressbook",{addressbookId:"personal"}))})}}(),function(){"use strict";e.$inject=["$scope","$q","$window","$state","$timeout","$mdDialog","$mdToast","Account","Card","AddressBook","sgFocus","Dialog","sgSettings","sgHotkeys","stateAddressbooks","stateAddressbook"];function e(e,t,o,r,s,d,n,a,c,i,u,f,p,h,m,g){var $,k=this,b=[];$={c_cn:"Name",c_sn:"Lastname",c_givenname:"Firstname",c_mail:"Email",c_screenname:"Screen Name",c_o:"Organization",c_telephonenumber:"Preferred Phone"},this.$onInit=function(){i.selectedFolder=g,this.service=i,this.selectedFolder=g,this.mode={search:!1,multiple:0},(t=b).push(h.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:angular.bind(k,k.searchMode)})),t.push(h.createHotkey({key:l("key_create_card"),description:l("Create a new address book card"),callback:angular.bind(k,k.newComponent,"card")})),t.push(h.createHotkey({key:l("key_create_list"),description:l("Create a new list"),callback:angular.bind(k,k.newComponent,"list")})),t.push(h.createHotkey({key:"space",description:l("Toggle item"),callback:angular.bind(k,k.toggleCardSelection)})),t.push(h.createHotkey({key:"shift+space",description:l("Toggle range of items"),callback:angular.bind(k,k.toggleCardSelection)})),t.push(h.createHotkey({key:"up",description:l("View next item"),callback:C})),t.push(h.createHotkey({key:"down",description:l("View previous item"),callback:v})),t.push(h.createHotkey({key:"shift+up",description:l("Add next item to selection"),callback:w})),t.push(h.createHotkey({key:"shift+down",description:l("Add previous item to selection"),callback:y})),_.forEach(["backspace","delete"],function(e){t.push(h.createHotkey({key:e,description:l("Delete selected card or address book"),callback:angular.bind(k,k.confirmDeleteSelectedCards)}))}),_.forEach(t,function(e){h.registerHotkey(e)});var t;e.$on("$destroy",function(){_.forEach(b,function(e){h.deregisterHotkey(e)})})};this.centerIsClose=function(e){return this.selectedFolder.hasSelectedCard()&&!!e},this.selectCard=function(e){r.go("app.addressbook.card.view",{cardId:e.id})},this.toggleCardSelection=function(e,t){var o,r,s,d=this.selectedFolder;if(t||(t=d.$selectedCard()),t.selected=!t.selected,this.mode.multiple+=t.selected?1:-1,e.shiftKey&&d.$selectedCount()>1){for(r=(o=d.idsMap[t.id])-2;r>=0&&!d.$cards[r].selected;)r--;if(r<0)for(r=o+2;r=0&&r0&&k.selectedFolder.$topIndex--):(t=k.selectedFolder.$cards.length()-1,k.selectedFolder.$topIndex=k.selectedFolder.getLength()),t>-1&&k.selectCard(k.selectedFolder.$cards[t]),e.preventDefault(),t}function v(e){var t=k.selectedFolder.$selectedCardIndex();return angular.isDefined(t)?(t++,k.selectedFolder.$topIndex=0&&toggleCardSelection(e,k.selectedFolder.$cards[t])}function y(e){var t;k.selectedFolder.hasSelectedCard()&&(t=v(e))>=0&&toggleCardSelection(e,k.selectedFolder.$cards[t])}this.confirmDeleteSelectedCards=function(e){var t=this.selectedFolder.$selectedCards();_.size(t)>0&&f.confirm(l("Warning"),l("Are you sure you want to delete the selected contacts?"),{ok:l("Delete")}).then(function(){k.selectedFolder.$deleteCards(t).then(function(){k.mode.multiple=0,k.selectedFolder.selectedCard||r.go("app.addressbook")})}),e.preventDefault()};function F(e,t){var o,s,d,a,c,i,u;o=k.selectedFolder,c=!1,s=o.$selectedCards(),(d=_.filter(s,function(e){return e.$isCard()})).length!=s.length&&n.show(n.simple().content(l("Lists can't be moved or copied.")).position("top right").hideDelay(2e3)),d.length&&("copy"==e?(i=o.$copyCards(d,t),u=l("%{0} card(s) copied",d.length)):(i=o.$moveCards(d,t),u=l("%{0} card(s) moved",d.length),a=_.map(d,"id"),c=o.selectedCard&&a.indexOf(o.selectedCard)>=0),i.then(function(){c&&r.go("app.addressbook"),n.show(n.simple().content(u).position("top right").hideDelay(2e3))}))}this.copySelectedCards=function(e){F("copy",e)},this.moveSelectedCards=function(e){F("move",e)},this.selectAll=function(){_.forEach(this.selectedFolder.$cards,function(e){e.selected=!0}),this.mode.multiple=this.selectedFolder.$cards.length},this.sort=function(e){if(!e)return $[i.$query.sort];this.selectedFolder.$filter("",{sort:e})},this.sortedBy=function(e){return i.$query.sort==e},this.ascending=function(){return i.$query.asc},this.searchMode=function(e){k.mode.search=!0,u("search"),e&&e.preventDefault()},this.cancelSearch=function(){this.mode.search=!1,this.selectedFolder.$filter("")},this.newMessage=function(e,t,o){a.$findAll().then(function(r){var s=_.find(r,function(e){if(0===e.id)return e});s.$getMailboxes().then(function(r){s.$newMessage().then(function(r){r.editable[o]=t,d.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:s,stateMessage:r}})})})})},this.newMessageWithRecipient=function(e,t,o){var r=[o+" <"+t+">"];this.newMessage(e,r,"to"),e.stopPropagation(),e.preventDefault()},this.newMessageWithSelectedCards=function(e,o){var r=_.filter(this.selectedFolder.$cards,function(e){return e.selected}),s=[],d=[];_.forEach(r,function(e){e.$isList({expandable:!0})?angular.isDefined(e.refs)&&e.refs.length?_.forEach(e.refs,function(e){e.email.length&&d.push(e.$shortFormat())}):s.push(e.$reload().then(function(e){_.forEach(e.refs,function(e){e.email.length&&d.push(e.$shortFormat())})})):e.c_mail.length&&d.push(e.$shortFormat())}),t.all(s).then(function(){(d=_.uniq(d)).length&&k.newMessage(e,d,o)})},this.newListWithSelectedCards=function(){var e=_.filter(this.selectedFolder.$cards,function(e){return e.selected}),o=[],s=[];_.forEach(e,function(e){e.$isList({expandable:!0})?angular.isDefined(e.refs)&&e.refs.length?_.forEach(e.refs,function(e){e.email.length&&s.push(e)}):o.push(e.$reload().then(function(e){_.forEach(e.refs,function(e){e.email.length&&s.push(e)})})):e.$$email&&e.$$email.length&&s.push(e)}),t.all(o).then(function(){(s=_.uniqBy(_.map(s,function(e){return{reference:e.id||e.reference,email:e.$$email||e.email}}),"reference")).length&&r.go("app.addressbook.new",{contactType:"list",refs:s})})}}angular.module("SOGo.ContactsUI").controller("AddressBookController",e)}(),function(){"use strict";e.$inject=["$q","$state","$scope","$rootScope","$stateParams","$timeout","$window","$mdDialog","$mdToast","$mdMedia","$mdSidenav","FileUploader","sgConstant","sgHotkeys","sgFocus","Card","AddressBook","Dialog","sgSettings","User","stateAddressbooks"];function e(e,t,o,r,s,d,n,a,c,i,u,f,p,h,m,g,$,k,b,C,v){var w=this,y=[];w.activeUser=b.activeUser,w.service=$,w.select=function(e,o){t.params.addressbookId!=o.id&&w.editMode!=o.id&&(w.editMode=!1,$.$query.value="",i(p["gt-md"])||u("left").close(),t.go("app.addressbook",{addressbookId:o.id}))},w.newAddressbook=function(){k.prompt(l("New Addressbook..."),l("Name of the Address Book")).then(function(e){var t=new $({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});$.$add(t)})},w.edit=function(e){e.isRemote||(w.editMode=e.id,w.originalAddressbook=e.$omit(),m("addressBookName_"+e.id))},w.revertEditing=function(e){e.name=w.originalAddressbook.name,w.editMode=!1},w.save=function(e){var t=e.name;t&&t.length>0&&(t!=w.originalAddressbook.name?e.$rename(t).then(function(e){w.editMode=!1},function(e,t){k.alert(l("Warning"),e)}):w.editMode=!1)},w.confirmDelete=A,w.importCards=function(e,t){a.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxContactsImportDialog",controller:o,controllerAs:"$CardsImportDialogController",locals:{folder:t}}),o.$inject=["scope","$mdDialog","folder"];function o(e,t,o){this.uploader=new f({url:ApplicationBaseURL+[o.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(e,o,r,s){var d;t.hide(),0===o.imported?d=l("No card was imported."):(d=l("A total of %{0} cards were imported in the addressbook.",o.imported),$.selectedFolder.$reload()),c.show(c.simple().content(d).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,o,r){c.show({template:["",' ',' error_outline '," "+l("An error occured while importing contacts.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){t.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ldif|vcf|vcard)$/.test(e.name);return t||c.show({template:["",' ',' error_outline '," "+l("Select a vCard or LDIF file.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3}),t}}},w.showLinks=function(t){var o;o=t.urls?e.when():$.$reloadAll();o.then(function(){a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:t.id+"/links",controller:r,controllerAs:"links",locals:{addressbook:t}})}),r.$inject=["$mdDialog","addressbook"];function r(e,t){this.addressbook=t,this.close=function(){e.hide()}}},w.showProperties=function(e){a.show({templateUrl:e.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcAddressBook:e}}).catch(function(){}),t.$inject=["$scope","$mdDialog","srcAddressBook"];function t(e,t,o){var r=this;r.addressbook=new $(o.$omit()),r.saveProperties=function(){r.addressbook.$save().then(function(){o.init(r.addressbook.$omit()),t.hide()})},r.close=function(){t.cancel()}}},w.share=function(e){e.$acl.$users().then(function(){a.show({templateUrl:e.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:e.$acl.users,User:C,folder:e}})})},w.subscribeToFolder=function(e){console.debug("subscribeToFolder "+e.owner+e.name),$.$subscribe(e.owner,e.name).then(function(e){c.show(c.simple().content(l("Successfully subscribed to address book")).position("top right").hideDelay(3e3))})},w.isDroppableFolder=function(e,t){return t.id!=e.id&&(t.isOwned||t.acls.objectCreator)},w.dragSelectedCards=function(e,o,r){var s,d,n,a,i,u,f;s=o.id,i=!1,0===(d=e.$selectedCards()).length&&(d=[e.$selectedCard()]);(n=_.filter(d,function(e){return e.$isCard()})).length!=d.length&&c.show(c.simple().content(l("Lists can't be moved or copied.")).position("top right").hideDelay(2e3));n.length&&("copy"==r?(u=e.$copyCards(n,s),f=l("%{0} card(s) copied",n.length)):(u=e.$moveCards(n,s),f=l("%{0} card(s) moved",n.length),a=_.map(n,"id"),i=e.selectedCard&&a.indexOf(e.selectedCard)>=0),u.then(function(){i&&t.go("app.addressbook"),c.show(c.simple().content(f).position("top right").hideDelay(2e3))}))},F=y,_.forEach(["backspace","delete"],function(e){F.push(h.createHotkey({key:e,description:l("Delete selected card or address book"),callback:function(){$.selectedFolder&&!$.selectedFolder.hasSelectedCard()&&A()}}))}),_.forEach(F,function(e){h.registerHotkey(e)});var F;o.$on("$destroy",function(){_.forEach(y,function(e){h.deregisterHotkey(e)})});function A(){w.service.selectedFolder.isSubscription?w.service.selectedFolder.$delete().then(function(){w.service.selectedFolder=null,t.go("app.addressbook",{addressbookId:"personal"})},function(e,t){k.alert(l('An error occured while deleting the addressbook "%{0}".',w.service.selectedFolder.name),l(e.error))}):k.confirm(l("Warning"),l('Are you sure you want to delete the addressbook "%{0}"?',w.service.selectedFolder.name),{ok:l("Delete")}).then(function(){return w.service.selectedFolder.$delete()}).then(function(){return w.service.selectedFolder=null,t.go("app.addressbook",{addressbookId:"personal"}),!0}).catch(function(e){if(e){var t=e.data.message||e.statusText;k.alert(l('An error occured while deleting the addressbook "%{0}".',w.service.selectedFolder.name),t)}})}}angular.module("SOGo.ContactsUI").controller("AddressBooksController",e)}(),function(){"use strict";e.$inject=["$scope","$timeout","$window","$mdDialog","sgSettings","AddressBook","Card","Dialog","sgHotkeys","sgFocus","$state","$stateParams","stateCard"];function e(e,t,o,r,s,d,n,a,c,i,u,f,p){var h=this,m=[];h.card=p,h.currentFolder=d.selectedFolder,h.allEmailTypes=n.$EMAIL_TYPES,h.allTelTypes=n.$TEL_TYPES,h.allUrlTypes=n.$URL_TYPES,h.allAddressTypes=n.$ADDRESS_TYPES,h.categories={},h.userFilterResults=[],h.transformCategory=function(e){return angular.isString(e)?{value:e}:e},h.removeAttribute=function(e,t,o){h.card.$delete(t,o),e.$setDirty()},h.addOrg=function(){var e=h.card.$addOrg({value:""});i("org_"+e)},h.addBirthday=function(){h.card.birthday=new Date},h.addScreenName=function(){h.card.$addScreenName("")},h.addEmail=function(){var e=h.card.$addEmail("");i("email_"+e)},h.addPhone=function(){var e=h.card.$addPhone("");i("phone_"+e)},h.addUrl=function(){var e=h.card.$addUrl("","https://www.fsf.org/");i("url_"+e)},h.addAddress=function(){var e=h.card.$addAddress("","","","","","","","");i("address_"+e)},h.canAddCustomField=function(){return _.keys(p.customFields).length<4},h.addCustomField=function(){angular.isDefined(h.card.customFields)||(h.card.customFields={});var e=_.pullAll(["1","2","3","4"],_.keys(p.customFields));h.card.customFields[e[0]]=""},h.deleteCustomField=function(e){delete h.card.customFields[e]},h.userFilter=function(e,t){return e.length"+e.$fullname()+""),{ok:l("Delete")}).then(function(){d.selectedFolder.$deleteCards([e]).then(function(){$()},function(t,o){a.alert(l("Warning"),l('An error occured while deleting the card "%{0}".',e.$fullname()))})})}}angular.module("SOGo.ContactsUI").controller("CardController",e)}(),function(){"use strict";angular.module("SOGo.Common").directive("sgAddress",function(){return{restrict:"A",scope:{data:"=sgAddress"},controller:["$scope",function(e){e.addressLines=function(e){var t=[],o=[];return e.street&&t.push(e.street),e.street2&&t.push(e.street2),e.locality&&o.push(e.locality),e.region&&o.push(e.region),o.length>0&&t.push(o.join(", ")),e.country&&t.push(e.country),e.postalcode&&t.push(e.postalcode),t.join(" ")}}],template:' '}})}();
+!function(){"use strict";function e(e,t){e.state("app",{url:"/addressbooks",abstract:!0,views:{addressbooks:{templateUrl:"UIxContactFoldersView",controller:"AddressBooksController",controllerAs:"app"}},resolve:{stateAddressbooks:o}}).state("app.addressbook",{url:"/:addressbookId",views:{addressbook:{templateUrl:"addressbook",controller:"AddressBookController",controllerAs:"addressbook"}},resolve:{stateAddressbook:r}}).state("app.addressbook.new",{url:"/{contactType:(?:card|list)}/new",params:{refs:{array:!0}},views:{card:{templateUrl:"UIxContactEditorTemplate",controller:"CardController",controllerAs:"editor"}},resolve:{stateCard:s}}).state("app.addressbook.card",{url:"/:cardId",abstract:!0,views:{card:{template:" "}},resolve:{stateCard:d},onEnter:n,onExit:a}).state("app.addressbook.card.view",{url:"/view",views:{"card@app.addressbook":{templateUrl:"UIxContactViewTemplate",controller:"CardController",controllerAs:"editor"}}}).state("app.addressbook.card.editor",{url:"/edit",views:{"card@app.addressbook":{templateUrl:"UIxContactEditorTemplate",controller:"CardController",controllerAs:"editor"}}}),t.rules.otherwise({state:"app.addressbook",params:{addressbookId:"personal"}})}function o(e){return e.$findAll(window.contactFolders)}function r(e,t,o,r){var s=_.find(r.$findAll(),function(e){return e.id==o.addressbookId});return s?(delete s.selectedCard,s.$reload(),s):e.reject("Addressbook "+o.addressbookId+" not found")}function s(e,t,o){var r="v"+e.contactType,s=new o({pid:e.addressbookId,c_component:r,refs:e.refs});return t.selectedCard=!0,s}function d(t,o,r){return r.$futureAddressBookData.then(function(){var e=_.find(r.$cards,function(e){return e.id==o.cardId});if(e)return e.$reload();t.go("app.addressbook")})}function n(e,t){t.selectedCard=e.cardId}function a(e){delete r.selectedCard}function t(e,t,o,r){e.DebugEnabled||r.defaultErrorHandler(function(){}),o.onError({to:"app.**"},function(e){"app"==e.to().name||e.ignored()||(t.error("transition error to "+e.to().name+": "+e.error().detail),r.go("app.addressbook",{addressbookId:"personal"}))})}angular.module("SOGo.ContactsUI",["ngCookies","ui.router","angularFileUpload","ck","SOGo.Common","SOGo.PreferencesUI","SOGo.MailerUI"]).config(e).run(t),e.$inject=["$stateProvider","$urlServiceProvider"],o.$inject=["AddressBook"],r.$inject=["$q","$state","$stateParams","AddressBook"],s.$inject=["$stateParams","stateAddressbook","Card"],d.$inject=["$state","$stateParams","stateAddressbook"],n.$inject=["$stateParams","stateAddressbook"],a.$inject=["stateAddressbook"],t.$inject=["$window","$log","$transitions","$state"]}(),function(){"use strict";function e(e,d,t,i,o,n,u,a,r,s,c,f,p,h,m,g){var $,k=this,b=[];function C(e){var t=k.selectedFolder.$selectedCardIndex();return angular.isDefined(t)?(t--,0"];this.newMessage(e,r,"to"),e.stopPropagation(),e.preventDefault()},this.newMessageWithSelectedCards=function(e,t){var o=_.filter(this.selectedFolder.$cards,function(e){return e.selected}),r=[],s=[];_.forEach(o,function(e){e.$isList({expandable:!0})?angular.isDefined(e.refs)&&e.refs.length?_.forEach(e.refs,function(e){e.email.length&&s.push(e.$shortFormat())}):r.push(e.$reload().then(function(e){_.forEach(e.refs,function(e){e.email.length&&s.push(e.$shortFormat())})})):e.c_mail.length&&s.push(e.$shortFormat())}),d.all(r).then(function(){(s=_.uniq(s)).length&&k.newMessage(e,s,t)})},this.newListWithSelectedCards=function(){var e=_.filter(this.selectedFolder.$cards,function(e){return e.selected}),t=[],o=[];_.forEach(e,function(e){e.$isList({expandable:!0})?angular.isDefined(e.refs)&&e.refs.length?_.forEach(e.refs,function(e){e.email.length&&o.push(e)}):t.push(e.$reload().then(function(e){_.forEach(e.refs,function(e){e.email.length&&o.push(e)})})):e.$$email&&e.$$email.length&&o.push(e)}),d.all(t).then(function(){(o=_.uniqBy(_.map(o,function(e){return{reference:e.id||e.reference,email:e.$$email||e.email}}),"reference")).length&&i.go("app.addressbook.new",{contactType:"list",refs:o})})}}e.$inject=["$scope","$q","$window","$state","$timeout","$mdDialog","$mdToast","Account","Card","AddressBook","sgFocus","Dialog","sgSettings","sgHotkeys","stateAddressbooks","stateAddressbook"],angular.module("SOGo.ContactsUI").controller("AddressBookController",e)}(),function(){"use strict";function e(r,u,e,t,o,s,d,n,f,a,c,i,p,h,m,g,$,k,b,C,v){var w,y=this,F=[];function A(){y.service.selectedFolder.isSubscription?y.service.selectedFolder.$delete().then(function(){y.service.selectedFolder=null,u.go("app.addressbook",{addressbookId:"personal"})},function(e,t){k.alert(l('An error occured while deleting the addressbook "%{0}".',y.service.selectedFolder.name),l(e.error))}):k.confirm(l("Warning"),l('Are you sure you want to delete the addressbook "%{0}"?',y.service.selectedFolder.name),{ok:l("Delete")}).then(function(){return y.service.selectedFolder.$delete()}).then(function(){return y.service.selectedFolder=null,u.go("app.addressbook",{addressbookId:"personal"}),!0}).catch(function(e){if(e){var t=e.data.message||e.statusText;k.alert(l('An error occured while deleting the addressbook "%{0}".',y.service.selectedFolder.name),t)}})}y.activeUser=b.activeUser,y.service=$,y.select=function(e,t){u.params.addressbookId!=t.id&&y.editMode!=t.id&&(y.editMode=!1,$.$query.value="",a(p["gt-md"])||c("left").close(),u.go("app.addressbook",{addressbookId:t.id}))},y.newAddressbook=function(){k.prompt(l("New Addressbook..."),l("Name of the Address Book")).then(function(e){var t=new $({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});$.$add(t)})},y.edit=function(e){e.isRemote||(y.editMode=e.id,y.originalAddressbook=e.$omit(),m("addressBookName_"+e.id))},y.revertEditing=function(e){e.name=y.originalAddressbook.name,y.editMode=!1},y.save=function(e){var t=e.name;t&&0",' ',' error_outline '," "+l("Select a vCard or LDIF file.")+" ","
",""].join(""),position:"top right",hideDelay:3e3}),t}this.uploader=new i({url:ApplicationBaseURL+[t.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:o,fn:o}],onSuccessItem:function(e,t,o,r){var s;d.hide(),0===t.imported?s=l("No card was imported."):(s=l("A total of %{0} cards were imported in the addressbook.",t.imported),$.selectedFolder.$reload()),f.show(f.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,o,r){f.show({template:["",' ',' error_outline '," "+l("An error occured while importing contacts.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){d.hide()}}n.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxContactsImportDialog",controller:o,controllerAs:"$CardsImportDialogController",locals:{folder:t}}),o.$inject=["scope","$mdDialog","folder"]},y.showLinks=function(e){var t;t=e.urls?r.when():$.$reloadAll();function o(e,t){this.addressbook=t,this.close=function(){e.hide()}}t.then(function(){n.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:e.id+"/links",controller:o,controllerAs:"links",locals:{addressbook:e}})}),o.$inject=["$mdDialog","addressbook"]},y.showProperties=function(e){function t(e,t,o){var r=this;r.addressbook=new $(o.$omit()),r.saveProperties=function(){r.addressbook.$save().then(function(){o.init(r.addressbook.$omit()),t.hide()})},r.close=function(){t.cancel()}}n.show({templateUrl:e.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcAddressBook:e}}).catch(function(){}),t.$inject=["$scope","$mdDialog","srcAddressBook"]},y.share=function(e){e.$acl.$users().then(function(){n.show({templateUrl:e.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:e.$acl.users,User:C,folder:e}})})},y.subscribeToFolder=function(e){console.debug("subscribeToFolder "+e.owner+e.name),$.$subscribe(e.owner,e.name).then(function(e){f.show(f.simple().content(l("Successfully subscribed to address book")).position("top right").hideDelay(3e3))})},y.isDroppableFolder=function(e,t){return t.id!=e.id&&(t.isOwned||t.acls.objectCreator)},y.dragSelectedCards=function(e,t,o){var r,s,d,n,a,c,i;r=t.id,a=!1,0===(s=e.$selectedCards()).length&&(s=[e.$selectedCard()]);(d=_.filter(s,function(e){return e.$isCard()})).length!=s.length&&f.show(f.simple().content(l("Lists can't be moved or copied.")).position("top right").hideDelay(2e3));d.length&&("copy"==o?(c=e.$copyCards(d,r),i=l("%{0} card(s) copied",d.length)):(c=e.$moveCards(d,r),i=l("%{0} card(s) moved",d.length),n=_.map(d,"id"),a=e.selectedCard&&0<=n.indexOf(e.selectedCard)),c.then(function(){a&&u.go("app.addressbook"),f.show(f.simple().content(i).position("top right").hideDelay(2e3))}))},w=F,_.forEach(["backspace","delete"],function(e){w.push(h.createHotkey({key:e,description:l("Delete selected card or address book"),callback:function(){$.selectedFolder&&!$.selectedFolder.hasSelectedCard()&&A()}}))}),_.forEach(w,function(e){h.registerHotkey(e)}),e.$on("$destroy",function(){_.forEach(F,function(e){h.deregisterHotkey(e)})})}e.$inject=["$q","$state","$scope","$rootScope","$stateParams","$timeout","$window","$mdDialog","$mdToast","$mdMedia","$mdSidenav","FileUploader","sgConstant","sgHotkeys","sgFocus","Card","AddressBook","Dialog","sgSettings","User","stateAddressbooks"],angular.module("SOGo.ContactsUI").controller("AddressBooksController",e)}(),function(){"use strict";function e(e,t,o,r,s,d,n,a,c,i,u,f,p){var h,m=this,g=[];function $(){u.go("app.addressbook").then(function(){m.card=null,delete d.selectedFolder.selectedCard})}function k(){var o=p;a.confirm(l("Warning"),l("Are you sure you want to delete the card of %{0}?",""+o.$fullname()+" "),{ok:l("Delete")}).then(function(){d.selectedFolder.$deleteCards([o]).then(function(){$()},function(e,t){a.alert(l("Warning"),l('An error occured while deleting the card "%{0}".',o.$fullname()))})})}m.card=p,m.currentFolder=d.selectedFolder,m.allEmailTypes=n.$EMAIL_TYPES,m.allTelTypes=n.$TEL_TYPES,m.allUrlTypes=n.$URL_TYPES,m.allAddressTypes=n.$ADDRESS_TYPES,m.categories={},m.userFilterResults=[],m.transformCategory=function(e){return angular.isString(e)?{value:e}:e},m.removeAttribute=function(e,t,o){m.card.$delete(t,o),e.$setDirty()},m.addOrg=function(){var e=m.card.$addOrg({value:""});i("org_"+e)},m.addBirthday=function(){m.card.birthday=new Date},m.addScreenName=function(){m.card.$addScreenName("")},m.addEmail=function(){var e=m.card.$addEmail("");i("email_"+e)},m.addPhone=function(){var e=m.card.$addPhone("");i("phone_"+e)},m.addUrl=function(){var e=m.card.$addUrl("","https://www.fsf.org/");i("url_"+e)},m.addAddress=function(){var e=m.card.$addAddress("","","","","","","","");i("address_"+e)},m.canAddCustomField=function(){return _.keys(p.customFields).length<4},m.addCustomField=function(){angular.isDefined(m.card.customFields)||(m.card.customFields={});var e=_.pullAll(["1","2","3","4"],_.keys(p.customFields));m.card.customFields[e[0]]=""},m.deleteCustomField=function(e){delete m.card.customFields[e]},m.userFilter=function(e,t){return e.length")}}],template:' '}})}();
//# sourceMappingURL=Contacts.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Contacts.js.map b/UI/WebServerResources/js/Contacts.js.map
index 8453f253a..8b8134b75 100644
--- a/UI/WebServerResources/js/Contacts.js.map
+++ b/UI/WebServerResources/js/Contacts.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Contacts/Contacts.app.js","Contacts/AddressBookController.js","Contacts/AddressBooksController.js","Contacts/CardController.js","Contacts/sgAddress.directive.js"],"names":["angular","module","config","configure","run","runBlock","$inject","$stateProvider","$urlServiceProvider","state","url","abstract","views","addressbooks","templateUrl","controller","controllerAs","resolve","stateAddressbooks","addressbook","stateAddressbook","params","refs","array","card","stateCard","stateNewCard","template","onEnter","onEnterCard","onExit","onExitCard","card@app.addressbook","rules","otherwise","addressbookId","AddressBook","$findAll","window","contactFolders","$q","$state","$stateParams","_","find","id","selectedCard","$reload","reject","Card","tag","contactType","pid","c_component","$futureAddressBookData","then","$cards","cardObject","cardId","go","stateMailbox","$window","$log","$transitions","DebugEnabled","defaultErrorHandler","onError","to","transition","name","ignored","error","detail","AddressBookController","$scope","$timeout","$mdDialog","$mdToast","Account","focus","Dialog","Settings","sgHotkeys","sortLabels","vm","this","hotkeys","c_cn","c_sn","c_givenname","c_mail","c_screenname","c_o","c_telephonenumber","$onInit","selectedFolder","service","mode","search","multiple","keys","push","createHotkey","key","l","description","callback","bind","searchMode","newComponent","toggleCardSelection","_nextCard","_previousCard","_addNextCardToSelection","_addPreviousCardToSelection","forEach","hotkey","confirmDeleteSelectedCards","registerHotkey","$on","deregisterHotkey","centerIsClose","navController_centerIsClose","hasSelectedCard","selectCard","$event","selectedIndex","nextSelectedIndex","i","folder","$selectedCard","selected","shiftKey","$selectedCount","idsMap","getLength","Math","min","max","preventDefault","stopPropagation","type","unselectCards","index","$selectedCardIndex","isDefined","$topIndex","length","selectedCards","$selectedCards","size","confirm","ok","$deleteCards","_selectedCardsOperation","operation","dstId","srcFolder","allCards","cards","ids","clearCardView","promise","success","filter","$isCard","show","simple","content","position","hideDelay","$copyCards","$moveCards","map","indexOf","copySelectedCards","moveSelectedCards","selectAll","sort","field","$query","$filter","sortedBy","ascending","asc","cancelSearch","newMessage","recipients","recipientsField","accounts","account","o","$getMailboxes","mailboxes","$newMessage","message","editable","parent","element","document","body","targetEvent","clickOutsideToClose","escapeToClose","locals","stateAccount","stateMessage","newMessageWithRecipient","recipient","fn","newMessageWithSelectedCards","promises","$isList","expandable","ref","email","$shortFormat","all","uniq","newListWithSelectedCards","$$email","uniqBy","reference","AddressBooksController","$rootScope","$mdMedia","$mdSidenav","FileUploader","sgConstant","User","activeUser","select","editMode","value","close","newAddressbook","prompt","isEditable","isRemote","owner","UserLogin","$add","edit","originalAddressbook","$omit","revertEditing","save","$rename","data","status","alert","confirmDelete","importCards","CardsImportDialogController","scope","uploader","ApplicationBaseURL","join","autoUpload","queueLimit","filters","filterByExtension","onSuccessItem","item","response","headers","msg","hide","imported","onErrorItem","isTextFile","test","showLinks","urls","when","$reloadAll","LinksDialogController","showProperties","PropertiesDialogController","srcAddressBook","catch","saveProperties","$save","init","cancel","share","$acl","$users","usersWithACL","users","subscribeToFolder","addressbookData","console","debug","$subscribe","isDroppableFolder","dstFolder","isOwned","acls","objectCreator","dragSelectedCards","isSubscription","$delete","statusText","CardController","sgSettings","currentFolder","allEmailTypes","$EMAIL_TYPES","allTelTypes","$TEL_TYPES","allUrlTypes","$URL_TYPES","allAddressTypes","$ADDRESS_TYPES","categories","userFilterResults","transformCategory","input","isString","removeAttribute","form","attribute","$setDirty","addOrg","$addOrg","addBirthday","birthday","Date","addScreenName","$addScreenName","addEmail","$addEmail","addPhone","$addPhone","addUrl","$addUrl","addAddress","$addAddress","canAddCustomField","customFields","addCustomField","availableKeys","pullAll","deleteCustomField","userFilter","excludedCards","minimumSearchLength","dry","excludeLists","$valid","copy","reset","$reset","$setPristine","isNew","toggleRawSource","showRawSource","rawSource","$$resource","post","hasCertificate","$certificate","crt","certificate","$fullname","directive","restrict","addressLines","lines","locality_region","street","street2","locality","region","country","postalcode"],"mappings":"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","file":"Contacts.js"}
\ No newline at end of file
+{"version":3,"sources":["Contacts/Contacts.app.js","Contacts/AddressBookController.js","Contacts/AddressBooksController.js","Contacts/CardController.js","Contacts/sgAddress.directive.js"],"names":["configure","$stateProvider","$urlServiceProvider","state","url","abstract","views","addressbooks","templateUrl","controller","controllerAs","resolve","stateAddressbooks","addressbook","stateAddressbook","params","refs","array","card","stateCard","stateNewCard","template","onEnter","onEnterCard","onExit","onExitCard","card@app.addressbook","rules","otherwise","addressbookId","AddressBook","$findAll","window","contactFolders","$q","$state","$stateParams","_","find","id","selectedCard","$reload","reject","Card","tag","contactType","pid","c_component","$futureAddressBookData","then","$cards","cardObject","cardId","go","stateMailbox","runBlock","$window","$log","$transitions","DebugEnabled","defaultErrorHandler","onError","to","transition","name","ignored","error","detail","angular","module","config","run","$inject","AddressBookController","$scope","$timeout","$mdDialog","$mdToast","Account","focus","Dialog","Settings","sgHotkeys","sortLabels","vm","this","hotkeys","_nextCard","$event","index","selectedFolder","$selectedCardIndex","isDefined","$topIndex","length","getLength","selectCard","preventDefault","_previousCard","_addNextCardToSelection","hasSelectedCard","toggleCardSelection","_addPreviousCardToSelection","_selectedCardsOperation","operation","dstId","srcFolder","allCards","cards","ids","clearCardView","promise","success","$selectedCards","filter","$isCard","show","simple","content","l","position","hideDelay","$copyCards","$moveCards","map","indexOf","c_cn","c_sn","c_givenname","c_mail","c_screenname","c_o","c_telephonenumber","$onInit","keys","service","mode","search","multiple","push","createHotkey","key","description","callback","bind","searchMode","newComponent","forEach","hotkey","confirmDeleteSelectedCards","registerHotkey","$on","deregisterHotkey","centerIsClose","navController_centerIsClose","selectedIndex","nextSelectedIndex","i","folder","$selectedCard","selected","shiftKey","$selectedCount","idsMap","Math","min","max","stopPropagation","type","unselectCards","selectedCards","size","confirm","ok","$deleteCards","copySelectedCards","moveSelectedCards","selectAll","sort","field","$query","$filter","sortedBy","ascending","asc","cancelSearch","newMessage","recipients","recipientsField","accounts","account","o","$getMailboxes","mailboxes","$newMessage","message","editable","parent","element","document","body","targetEvent","clickOutsideToClose","escapeToClose","locals","stateAccount","stateMessage","newMessageWithRecipient","recipient","fn","newMessageWithSelectedCards","promises","$isList","expandable","ref","email","$shortFormat","all","uniq","newListWithSelectedCards","$$email","uniqBy","reference","AddressBooksController","$rootScope","$mdMedia","$mdSidenav","FileUploader","sgConstant","User","confirmDelete","isSubscription","$delete","data","status","alert","catch","response","statusText","activeUser","select","editMode","value","close","newAddressbook","prompt","isEditable","isRemote","owner","UserLogin","$add","edit","originalAddressbook","$omit","revertEditing","save","$rename","importCards","CardsImportDialogController","scope","filterByExtension","item","isTextFile","test","join","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","onSuccessItem","headers","msg","hide","imported","onErrorItem","showLinks","urls","when","$reloadAll","LinksDialogController","showProperties","PropertiesDialogController","srcAddressBook","saveProperties","$save","init","cancel","share","$acl","$users","usersWithACL","users","subscribeToFolder","addressbookData","console","debug","$subscribe","isDroppableFolder","dstFolder","isOwned","acls","objectCreator","dragSelectedCards","CardController","sgSettings","$fullname","currentFolder","allEmailTypes","$EMAIL_TYPES","allTelTypes","$TEL_TYPES","allUrlTypes","$URL_TYPES","allAddressTypes","$ADDRESS_TYPES","categories","userFilterResults","transformCategory","input","isString","removeAttribute","form","attribute","$setDirty","addOrg","$addOrg","addBirthday","birthday","Date","addScreenName","$addScreenName","addEmail","$addEmail","addPhone","$addPhone","addUrl","$addUrl","addAddress","$addAddress","canAddCustomField","customFields","addCustomField","availableKeys","pullAll","deleteCustomField","userFilter","excludedCards","minimumSearchLength","dry","excludeLists","$valid","copy","reset","$reset","$setPristine","isNew","toggleRawSource","showRawSource","rawSource","$$resource","post","hasCertificate","$certificate","crt","certificate","directive","restrict","addressLines","lines","locality_region","street","street2","locality","region","country","postalcode"],"mappings":"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","file":"Contacts.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Contacts.services.js b/UI/WebServerResources/js/Contacts.services.js
index b0cb6a185..d67bfe7e5 100644
--- a/UI/WebServerResources/js/Contacts.services.js
+++ b/UI/WebServerResources/js/Contacts.services.js
@@ -1,2 +1,2 @@
-!function(){"use strict";function t(e){if("function"!=typeof e.then)if(this.init(e),this.name&&!this.id){var i=t.$$resource.create("createFolder",this.name);this.$unwrap(i),this.acls={objectEditor:1,objectCreator:1,objectEraser:1}}else this.id&&(this.$acl=new t.$$Acl("Contacts/"+this.id));else this.$unwrap(e)}t.$factory=["$q","$timeout","$log","sgSettings","sgAddressBook_PRELOAD","Resource","Card","Acl","Preferences",function(e,i,r,s,n,a,o,d,u){return angular.extend(t,{$q:e,$timeout:i,$log:r,PRELOAD:n,$$resource:new a(s.activeUser("folderURL")+"Contacts",s.activeUser()),$Card:o,$$Acl:d,$Preferences:u,$query:{value:"",sort:"c_cn",asc:1},activeUser:s.activeUser(),selectedFolder:null,$refreshTimeout:null}),u.settings.Contact.SortingState&&(t.$query.sort=u.settings.Contact.SortingState[0],t.$query.asc=parseInt(u.settings.Contact.SortingState[1])),t}];try{angular.module("SOGo.ContactsUI")}catch(t){angular.module("SOGo.ContactsUI",["SOGo.Common","SOGo.PreferencesUI"])}angular.module("SOGo.ContactsUI").constant("sgAddressBook_PRELOAD",{LOOKAHEAD:50,SIZE:100}).factory("AddressBook",t.$factory),t.$filterAll=function(e,i,r){var s={search:e};return e?(angular.isUndefined(t.$cards)&&(t.$cards=[]),angular.extend(s,i),t.$$resource.fetch(null,"allContactSearch",s).then(function(i){var s,n,a,o=function(t){return this.id==t.id};for(s=r?_.filter(i.contacts,function(t){return _.isUndefined(_.find(r,_.bind(o,t)))}):i.contacts,a=t.$cards.length-1;a>=0;a--)n=t.$cards[a],_.isUndefined(_.find(s,_.bind(o,n)))&&t.$cards.splice(a,1);return _.forEach(s,function(i,r){if(_.isUndefined(_.find(t.$cards,_.bind(o,i)))){var s=new t.$Card(_.mapKeys(i,function(t,e){return e.toLowerCase()}),e);t.$cards.splice(r,0,s)}}),t.$log.debug(t.$cards),t.$cards})):(t.$cards=[],t.$q.when(t.$cards))},t.$add=function(t){var e,i,r;e=t.isSubscription?this.$subscriptions:this.$addressbooks,r=(i=_.find(e,function(e){return"personal"==t.id||"personal"!=e.id&&1===e.name.localeCompare(t.name)}))?_.indexOf(_.map(e,"id"),i.id):1,e.splice(r,0,t)},t.$findAll=function(e){var i=this;return e&&(this.$addressbooks=[],this.$subscriptions=[],this.$remotes=[],angular.forEach(e,function(e,r){var s=new t(e);s.isRemote?i.$remotes.push(s):s.isSubscription?i.$subscriptions.push(s):i.$addressbooks.push(s)})),_.union(this.$addressbooks,this.$subscriptions,this.$remotes)},t.$subscribe=function(e,i){var r=this;return t.$$resource.userResource(e).fetch(i,"subscribe").then(function(e){var i=new t(e);return _.isUndefined(_.find(r.$subscriptions,function(t){return t.id==e.id}))&&t.$add(i),i})},t.$reloadAll=function(){var e=this;return t.$$resource.fetch("addressbooksList").then(function(i){_.forEach(i.addressbooks,function(i){var r,s;r=i.isRemote?e.$remotes:i.owner!=t.activeUser.login?e.$subscriptions:e.$addressbooks,(s=_.find(r,function(t){return t.id==i.id}))&&s.init(i)})})},t.prototype.init=function(e,i){var r=this;this.$$cards||(this.$$cards=[]),this.idsMap={},this.$cards=[],angular.forEach(e,function(t,e){"headers"!=e&&"cards"!=e&&(r[e]=t)}),this.isOwned=t.activeUser.isSuperUser||this.owner==t.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=t.activeUser.login},t.prototype.$id=function(){return this.id?t.$q.when(this.id):this.$futureAddressBookData.then(function(t){return t.id})},t.prototype.getLength=function(){return this.$cards.length},t.prototype.getItemAtIndex=function(t){var e;return!this.$isLoading&&t>=0&&t0&&(n=t.$$resource.post(this.id,"headers",{ids:s}),this.$unwrapHeaders(n))}return u},t.prototype.hasSelectedCard=function(){return angular.isDefined(this.selectedCard)},t.prototype.isSelectedCard=function(t){return this.hasSelectedCard()&&this.selectedCard==t},t.prototype.$selectedCard=function(){var t=this;return _.find(this.$cards,function(e){return e.id==t.selectedCard})},t.prototype.$selectedCardIndex=function(){return _.indexOf(_.map(this.$cards,"id"),this.selectedCard)},t.prototype.$selectedCards=function(){return _.filter(this.$cards,function(t){return t.selected})},t.prototype.$selectedCount=function(){var t;return t=0,this.$cards&&(t=_.filter(this.$cards,function(t){return t.selected}).length),t},t.prototype.$startRefreshTimeout=function(){t.$refreshTimeout&&t.$timeout.cancel(t.$refreshTimeout);var e=t.$Preferences.defaults.SOGoRefreshViewCheck;if(e&&"manually"!=e){var i=angular.bind(this,t.prototype.$reload);t.$refreshTimeout=t.$timeout(i,1e3*e.timeInterval())}},t.prototype.$reload=function(){return this.$startRefreshTimeout(),this.$filter()},t.prototype.$filter=function(e,i,r){var s,n=this,a=i&&i.dry;return a?s={value:"",sort:"c_cn",asc:1}:(this.$isLoading=!0,s=t.$query,this.isRemote||(s.partial=1)),i&&(angular.extend(s,i),a&&!e)?(n.$$cards=[],t.$q.when(n.$$cards)):(angular.isDefined(e)&&(s.value=e),n.$id().then(function(i){var o=t.$$resource.post(i,"view",s);return a?o.then(function(s){var a,o,d,u,c,h=n.$$cards,l=function(t){return this==t.id};for(s.headers&&(u=_.invokeMap(s.headers[0],"toLowerCase"),c=u.indexOf("id"),s.headers.splice(0,1),a=_.map(s.headers,function(t){return t[c]})),s.ids&&(a=r?_.filter(s.ids,function(t){return _.isUndefined(_.find(r,_.bind(l,t)))}):s.ids),d=h.length-1;d>=0;d--)o=h[d],_.isUndefined(_.find(a,_.bind(l,o.id)))&&h.splice(d,1);return _.forEach(a,function(r,s){if(_.isUndefined(_.find(h,_.bind(l,r)))){var n=new t.$Card({pid:i,id:r},e);h.splice(s,0,n)}}),_.forEach(a,function(t,e){var i,r;h[e].id!=t&&(i=_.findIndex(h,_.bind(l,t)),r=h.splice(i,1),h.splice(e,0,r[0]))}),_.forEach(s.headers,function(t){var i,r=_.findIndex(h,_.bind(l,t[c]));r>-1&&(i=_.zipObject(u,t),h[r].init(i,e))}),h}):n.$unwrap(o)}))},t.prototype.$rename=function(e){var i,r;return r=this.isSubscription?t.$subscriptions:t.$addressbooks,i=_.indexOf(_.map(r,"id"),this.id),this.name=e,r.splice(i,1),t.$add(this),this.$save()},t.prototype.$delete=function(){var e,i,r=this,s=t.$q.defer();return this.isSubscription?(i=t.$$resource.fetch(this.id,"unsubscribe"),e=t.$subscriptions):(i=t.$$resource.remove(this.id),e=t.$addressbooks),i.then(function(){var t=_.indexOf(_.map(e,"id"),r.id);e.splice(t,1),s.resolve()},s.reject),s.promise},t.prototype.$_deleteCards=function(t){var e=this;_.forEachRight(this.$cards,function(i,r){var s=_.findIndex(t,function(t){return i.id==t});s>-1?(t.splice(s,1),delete e.idsMap[i.id],e.isSelectedCard(i.id)&&delete e.selectedCard,e.$cards.splice(r,1)):e.idsMap[i.id]-=t.length})},t.prototype.$deleteCards=function(e){var i=this,r=_.map(e,"id");return t.$$resource.post(this.id,"batchDelete",{uids:r}).then(function(){i.$_deleteCards(r)})},t.prototype.$copyCards=function(e,i){var r=_.map(e,"id");return t.$$resource.post(this.id,"copy",{uids:r,folder:i})},t.prototype.$moveCards=function(e,i){var r,s=this;return r=_.map(e,"id"),t.$$resource.post(this.id,"move",{uids:r,folder:i}).then(function(){return s.$_deleteCards(r)})},t.prototype.$save=function(){return t.$$resource.save(this.id,this.$omit()).then(function(t){return t})},t.prototype.exportCards=function(e){var i,r,s=null;return i={type:"application/octet-stream",filename:this.name+".ldif"},e&&(r=_.filter(this.$cards,function(t){return t.selected}),s={uids:_.map(r,"id")}),s?t.$$resource.download(this.id,"export",s,i):t.$$resource.open(this.id,"export",s,i)},t.prototype.$unwrap=function(e){var i=this;this.$isLoading=!0,this.$futureAddressBookData=e.then(function(e){return t.$timeout(function(){var r;return(!e.ids||i.$topIndex>e.ids.length-1)&&(i.$topIndex=0),angular.forEach(t.$findAll(),function(t,r){t.id==e.id&&angular.extend(i,t)}),i.init(e),i.ids&&(t.$log.debug("unwrapping "+i.ids.length+" cards"),_.reduce(i.ids,function(e,r,s){var n={pid:i.id,id:r};return i.idsMap[n.id]=s,e.push(new t.$Card(n)),e},i.$cards)),e.headers&&(r=_.invokeMap(e.headers[0],"toLowerCase"),e.headers.splice(0,1),i.ids?_.forEach(e.headers,function(t){var e=_.zipObject(r,t),s=i.idsMap[e.id];i.$cards[s].init(e)}):(i.$cards=[],angular.forEach(e.headers,function(e){var s=_.zipObject(r,e);angular.extend(s,{pid:i.id}),i.$cards.push(new t.$Card(s))}))),i.$acl=new t.$$Acl("Contacts/"+i.id),i.$startRefreshTimeout(),i.$isLoading=!1,t.$log.debug("addressbook "+i.id+" ready"),i})},function(e){i.isError=!0,angular.isObject(e)&&t.$timeout(function(){angular.extend(i,e)})})},t.prototype.$unwrapHeaders=function(e){var i=this;e.then(function(e){t.$timeout(function(){var t,r;e.length>0&&(t=_.invokeMap(e[0],"toLowerCase"),e.splice(0,1),_.forEach(e,function(e){e=_.zipObject(t,e),r=i.idsMap[e.id],angular.isDefined(r)&&i.$cards[r].init(e)}))})})},t.prototype.$omit=function(){var t={};return angular.forEach(this,function(e,i){"constructor"!=i&&"acls"!=i&&"ids"!=i&&"idsMap"!=i&&"urls"!=i&&"$"!=i[0]&&(t[i]=e)}),t}}(),function(){"use strict";function t(e,i){if("function"!=typeof e.then){if(this.init(e,i),this.pid&&!this.id){var r=t.$$resource.newguid(this.pid);this.$unwrap(r),this.isNew=!0}}else this.$unwrap(e)}t.$TEL_TYPES=["work","home","cell","fax","pager"],t.$EMAIL_TYPES=["work","home","pref"],t.$URL_TYPES=["work","home","pref"],t.$ADDRESS_TYPES=["work","home"],t.$factory=["$q","$timeout","sgSettings","sgCard_STATUS","Resource","Preferences",function(e,i,r,s,n,a){return angular.extend(t,{STATUS:s,$$resource:new n(r.activeUser("folderURL")+"Contacts",r.activeUser()),$q:e,$timeout:i,$Preferences:a}),a.defaults.SOGoContactsCategories&&(t.$categories=a.defaults.SOGoContactsCategories),a.defaults.SOGoAlternateAvatar&&(t.$alternateAvatar=a.defaults.SOGoAlternateAvatar),t}];try{angular.module("SOGo.ContactsUI")}catch(t){angular.module("SOGo.ContactsUI",["SOGo.Common","SOGo.PreferencesUI"])}angular.module("SOGo.ContactsUI").constant("sgCard_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Card",t.$factory),t.$find=function(e,i){var r=this.$$resource.fetch([e,i].join("/"),"view");return i?new t(r):t.$unwrapCollection(r)},t.filterCategories=function(e){var i=new RegExp(e,"i");return _.map(_.filter(t.$categories,function(t){return-1!=t.search(i)}),function(t){return{value:t}})},t.$unwrapCollection=function(e){var i={};return i.$futureCardData=e,e.then(function(e){t.$timeout(function(){angular.forEach(e,function(e,r){i[e.id]=new t(e)})})}),i},t.prototype.init=function(e,i){var r=this;if(angular.isUndefined(this.refs)&&(this.refs=[]),angular.isUndefined(this.categories)&&(this.categories=[]),this.c_screenname=null,angular.extend(this,e),this.$$fullname||(this.$$fullname=this.$fullname()),this.$$email||(this.$$email=this.$preferredEmail(i)),this.$$image||(this.$$image=this.image),this.$$image||(this.$$image=t.$Preferences.avatar(this.$$email,32,{no_404:!0})),this.hasphoto&&(this.photoURL=t.$$resource.path(this.pid,this.id,"photo")),this.isgroup&&(this.c_component="vlist"),this.$avatarIcon=this.$isList()?"group":"person",e.orgs&&e.orgs.length&&(this.orgs=_.map(e.orgs,function(t){return{value:t}})),e.notes&&e.notes.length?this.notes=_.map(e.notes,function(t){return{value:t}}):this.notes&&this.notes.length||(this.notes=[{value:""}]),angular.forEach(["addresses","phones","urls"],function(t){angular.forEach(r[t],function(t){t.type&&(t.type=t.type.toLowerCase())})}),angular.forEach(this.refs,function(e,i){e.email&&(e.emails=[{value:e.email}]),e.id=e.reference,r.refs[i]=new t(e)}),this.birthday&&angular.isString(this.birthday)){var s=t.$Preferences.$mdDateLocaleProvider;this.birthday=this.birthday.parseDate(s,"%Y-%m-%d"),this.$birthday=s.formatDate(this.birthday)}this.$loaded=angular.isDefined(this.c_name)?t.STATUS.LOADED:t.STATUS.NOT_LOADED,this.empty=" "},t.prototype.$id=function(){return this.$futureCardData.then(function(t){return t.id})},t.prototype.$isLoading=function(){return this.$loaded==t.STATUS.LOADING},t.prototype.$reload=function(){var e;return this.$futureCardData?this:(e=t.$$resource.fetch([this.pid,this.id].join("/"),"view"),this.$unwrap(e))},t.prototype.$save=function(){var e=this,i="saveAsContact";return"vlist"==this.c_component&&(i="saveAsList",_.forEach(this.refs,function(t){t.reference=t.id})),t.$$resource.save([this.pid,this.id||"_new_"].join("/"),this.$omit(),{action:i}).then(function(i){return e.birthday&&(e.$birthday=t.$Preferences.$mdDateLocaleProvider.formatDate(e.birthday)),e.$shadowData=e.$omit(!0),i})},t.prototype.$delete=function(e,i){if(!e)return t.$$resource.remove([this.pid,this.id].join("/"));i>-1&&this[e].length>i?this[e].splice(i,1):delete this[e]},t.prototype.export=function(){var e,i;return e={uids:[this.id]},i={type:"application/octet-stream",filename:this.$$fullname+".ldif"},t.$$resource.download(this.pid,"export",e,i)},t.prototype.$fullname=function(t){var e,i,r=this.c_cn||"",s=t&&t.html;return 0===r.length&&(i=[],this.c_givenname&&this.c_givenname.length>0&&i.push(this.c_givenname),this.nickname&&this.nickname.length>0&&i.push((s?"":"")+this.nickname+(s?" ":"")),this.c_sn&&this.c_sn.length>0&&i.push(this.c_sn),i.length>0?r=i.join(" "):this.org&&this.org.length>0?r=this.org:this.emails&&this.emails.length>0&&(e=_.find(this.emails,function(t){return""!==t.value}))&&(r=e.value)),this.contactinfo&&(r+=" ("+this.contactinfo.split("\n").join("; ")+")"),r},t.prototype.$description=function(){var t=[];return this.title&&t.push(this.title),this.role&&t.push(this.role),this.org&&t.push(this.org),this.orgs&&(t=_.concat(t,_.map(this.orgs,"value"))),this.description&&t.push(this.description),t.join(", ")},t.prototype.$preferredEmail=function(t){var e,i;return t&&(i=new RegExp(t,"i"),e=_.find(this.emails,function(t){return i.test(t.value)})),e=e?e.value:(e=_.find(this.emails,function(t){return"pref"==t.type}))?e.value:this.emails&&this.emails.length?this.emails[0].value:this.c_mail&&this.c_mail.length?this.c_mail[0]:""},t.prototype.$shortFormat=function(t){var e=[this.$$fullname],i=this.$preferredEmail(t);return i&&i!=this.$$fullname&&e.push(" <"+i+">"),e.join(" ")},t.prototype.$isCard=function(){return"vcard"==this.c_component},t.prototype.$isList=function(t){var e=!t||!t.expandable||t.expandable&&!this.isgroup;return"vlist"==this.c_component&&e},t.prototype.$addOrg=function(t){return angular.isUndefined(this.orgs)?this.orgs=[t]:t==this.org||_.includes(this.orgs,t)||this.orgs.push(t),this.orgs.length-1},t.prototype.$addEmail=function(t){return angular.isUndefined(this.emails)?this.emails=[{type:t,value:""}]:_.isUndefined(_.find(this.emails,function(t){return""===t.value}))&&this.emails.push({type:t,value:""}),this.emails.length-1},t.prototype.$addScreenName=function(t){this.c_screenname=t},t.prototype.$addPhone=function(t){return angular.isUndefined(this.phones)?this.phones=[{type:t,value:""}]:_.isUndefined(_.find(this.phones,function(t){return""===t.value}))&&this.phones.push({type:t,value:""}),this.phones.length-1},t.prototype.$addUrl=function(t,e){return angular.isUndefined(this.urls)?this.urls=[{type:t,value:e}]:_.isUndefined(_.find(this.urls,function(t){return t.value==e}))&&this.urls.push({type:t,value:e}),this.urls.length-1},t.prototype.$addAddress=function(t,e,i,r,s,n,a,o){return angular.isUndefined(this.addresses)?this.addresses=[{type:t,postoffice:e,street:i,street2:r,locality:s,region:n,country:a,postalcode:o}]:_.find(this.addresses,function(t){return t.street==i&&t.street2==r&&t.locality==s&&t.country==a&&t.postalcode==o})||this.addresses.push({type:t,postoffice:e,street:i,street2:r,locality:s,region:n,country:a,postalcode:o}),this.addresses.length-1},t.prototype.$addMember=function(e){var i,r=new t({email:e,emails:[{value:e}]});if(angular.isUndefined(this.refs))this.refs=[r];else if(0===e.length)this.refs.push(r);else{for(i=0;i1?(e=this.$omit(),_.forEach(this.emails,function(r){var s=new t(angular.extend({},e,{emails:[r]}));i.push(s)}),i):[this]:[]},t.prototype.$reset=function(){var t=this;angular.forEach(this,function(e,i){"constructor"!=i&&"$"!=i[0]&&delete t[i]}),this.init(this.$shadowData),this.$shadowData=this.$omit(!0)},t.prototype.$unwrap=function(e){var i=this;return this.$loaded=t.STATUS.DELAYED_LOADING,t.$timeout(function(){i.$loaded!=t.STATUS.LOADED&&(i.$loaded=t.STATUS.LOADING)},t.STATUS.DELAYED_MS),this.$futureCardData=e.then(function(e){return i.init(e),i.$loaded=t.STATUS.LOADED,i.$shadowData=i.$omit(!0),i}),this.$futureCardData},t.prototype.$omit=function(e){var i={};return angular.forEach(this,function(t,r){"refs"==r?i.refs=_.map(t,function(t){return t.$omit(e)}):"constructor"!=r&&"$"!=r[0]&&(i[r]=e?angular.copy(t):t)}),e||(i.birthday?i.birthday=i.birthday.format(t.$Preferences.$mdDateLocaleProvider,"%Y-%m-%d"):i.birthday=""),this.orgs&&(i.orgs=_.map(this.orgs,"value")),this.notes&&(i.notes=_.map(this.notes,"value")),i},t.prototype.toString=function(){var t=this.id+" "+this.$$fullname;return this.$$email&&(t+=" <"+this.$$email+">"),"["+t+"]"}}();
+!function(){"use strict";function l(t){if("function"!=typeof t.then)if(this.init(t),this.name&&!this.id){var e=l.$$resource.create("createFolder",this.name);this.$unwrap(e),this.acls={objectEditor:1,objectCreator:1,objectEraser:1}}else this.id&&(this.$acl=new l.$$Acl("Contacts/"+this.id));else this.$unwrap(t)}l.$factory=["$q","$timeout","$log","sgSettings","sgAddressBook_PRELOAD","Resource","Card","Acl","Preferences",function(t,e,i,r,s,n,a,o,d){return angular.extend(l,{$q:t,$timeout:e,$log:i,PRELOAD:s,$$resource:new n(r.activeUser("folderURL")+"Contacts",r.activeUser()),$Card:a,$$Acl:o,$Preferences:d,$query:{value:"",sort:"c_cn",asc:1},activeUser:r.activeUser(),selectedFolder:null,$refreshTimeout:null}),d.settings.Contact.SortingState&&(l.$query.sort=d.settings.Contact.SortingState[0],l.$query.asc=parseInt(d.settings.Contact.SortingState[1])),l}];try{angular.module("SOGo.ContactsUI")}catch(t){angular.module("SOGo.ContactsUI",["SOGo.Common","SOGo.PreferencesUI"])}angular.module("SOGo.ContactsUI").constant("sgAddressBook_PRELOAD",{LOOKAHEAD:50,SIZE:100}).factory("AddressBook",l.$factory),l.$filterAll=function(n,t,a){var e={search:n};return n?(angular.isUndefined(l.$cards)&&(l.$cards=[]),angular.extend(e,t),l.$$resource.fetch(null,"allContactSearch",e).then(function(t){var e,i,r,s=function(t){return this.id==t.id};for(e=a?_.filter(t.contacts,function(t){return _.isUndefined(_.find(a,_.bind(s,t)))}):t.contacts,r=l.$cards.length-1;0<=r;r--)i=l.$cards[r],_.isUndefined(_.find(e,_.bind(s,i)))&&l.$cards.splice(r,1);return _.forEach(e,function(t,e){if(_.isUndefined(_.find(l.$cards,_.bind(s,t)))){var i=new l.$Card(_.mapKeys(t,function(t,e){return e.toLowerCase()}),n);l.$cards.splice(e,0,i)}}),l.$log.debug(l.$cards),l.$cards})):(l.$cards=[],l.$q.when(l.$cards))},l.$add=function(e){var t,i,r;t=e.isSubscription?this.$subscriptions:this.$addressbooks,r=(i=_.find(t,function(t){return"personal"==e.id||"personal"!=t.id&&1===t.name.localeCompare(e.name)}))?_.indexOf(_.map(t,"id"),i.id):1,t.splice(r,0,e)},l.$findAll=function(t){var r=this;return t&&(this.$addressbooks=[],this.$subscriptions=[],this.$remotes=[],angular.forEach(t,function(t,e){var i=new l(t);i.isRemote?r.$remotes.push(i):i.isSubscription?r.$subscriptions.push(i):r.$addressbooks.push(i)})),_.union(this.$addressbooks,this.$subscriptions,this.$remotes)},l.$subscribe=function(t,e){var i=this;return l.$$resource.userResource(t).fetch(e,"subscribe").then(function(e){var t=new l(e);return _.isUndefined(_.find(i.$subscriptions,function(t){return t.id==e.id}))&&l.$add(t),t})},l.$reloadAll=function(){var r=this;return l.$$resource.fetch("addressbooksList").then(function(t){_.forEach(t.addressbooks,function(e){var t,i;t=e.isRemote?r.$remotes:e.owner!=l.activeUser.login?r.$subscriptions:r.$addressbooks,(i=_.find(t,function(t){return t.id==e.id}))&&i.init(e)})})},l.prototype.init=function(t,e){var i=this;this.$$cards||(this.$$cards=[]),this.idsMap={},this.$cards=[],angular.forEach(t,function(t,e){"headers"!=e&&"cards"!=e&&(i[e]=t)}),this.isOwned=l.activeUser.isSuperUser||this.owner==l.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=l.activeUser.login},l.prototype.$id=function(){return this.id?l.$q.when(this.id):this.$futureAddressBookData.then(function(t){return t.id})},l.prototype.getLength=function(){return this.$cards.length},l.prototype.getItemAtIndex=function(t){var e;return!this.$isLoading&&0<=t&&ti.ids.length-1)&&(s.$topIndex=0),angular.forEach(l.$findAll(),function(t,e){t.id==i.id&&angular.extend(s,t)}),s.init(i),s.ids&&(l.$log.debug("unwrapping "+s.ids.length+" cards"),_.reduce(s.ids,function(t,e,i){var r={pid:s.id,id:e};return s.idsMap[r.id]=i,t.push(new l.$Card(r)),t},s.$cards)),i.headers&&(r=_.invokeMap(i.headers[0],"toLowerCase"),i.headers.splice(0,1),s.ids?_.forEach(i.headers,function(t){var e=_.zipObject(r,t),i=s.idsMap[e.id];s.$cards[i].init(e)}):(s.$cards=[],angular.forEach(i.headers,function(t){var e=_.zipObject(r,t);angular.extend(e,{pid:s.id}),s.$cards.push(new l.$Card(e))}))),s.$acl=new l.$$Acl("Contacts/"+s.id),s.$startRefreshTimeout(),s.$isLoading=!1,l.$log.debug("addressbook "+s.id+" ready"),s})},function(t){s.isError=!0,angular.isObject(t)&&l.$timeout(function(){angular.extend(s,t)})})},l.prototype.$unwrapHeaders=function(t){var r=this;t.then(function(t){l.$timeout(function(){var e,i;0e?this[t].splice(e,1):delete this[t]},a.prototype.export=function(){var t,e;return t={uids:[this.id]},e={type:"application/octet-stream",filename:this.$$fullname+".ldif"},a.$$resource.download(this.pid,"export",t,e)},a.prototype.$fullname=function(t){var e,i,r=this.c_cn||"",s=t&&t.html;return 0===r.length&&(i=[],this.c_givenname&&0":"")+this.nickname+(s?"":"")),this.c_sn&&0"),e.join(" ")},a.prototype.$isCard=function(){return"vcard"==this.c_component},a.prototype.$isList=function(t){var e=!t||!t.expandable||t.expandable&&!this.isgroup;return"vlist"==this.c_component&&e},a.prototype.$addOrg=function(t){return angular.isUndefined(this.orgs)?this.orgs=[t]:t==this.org||_.includes(this.orgs,t)||this.orgs.push(t),this.orgs.length-1},a.prototype.$addEmail=function(t){return angular.isUndefined(this.emails)?this.emails=[{type:t,value:""}]:_.isUndefined(_.find(this.emails,function(t){return""===t.value}))&&this.emails.push({type:t,value:""}),this.emails.length-1},a.prototype.$addScreenName=function(t){this.c_screenname=t},a.prototype.$addPhone=function(t){return angular.isUndefined(this.phones)?this.phones=[{type:t,value:""}]:_.isUndefined(_.find(this.phones,function(t){return""===t.value}))&&this.phones.push({type:t,value:""}),this.phones.length-1},a.prototype.$addUrl=function(t,e){return angular.isUndefined(this.urls)?this.urls=[{type:t,value:e}]:_.isUndefined(_.find(this.urls,function(t){return t.value==e}))&&this.urls.push({type:t,value:e}),this.urls.length-1},a.prototype.$addAddress=function(t,e,i,r,s,n,a,o){return angular.isUndefined(this.addresses)?this.addresses=[{type:t,postoffice:e,street:i,street2:r,locality:s,region:n,country:a,postalcode:o}]:_.find(this.addresses,function(t){return t.street==i&&t.street2==r&&t.locality==s&&t.country==a&&t.postalcode==o})||this.addresses.push({type:t,postoffice:e,street:i,street2:r,locality:s,region:n,country:a,postalcode:o}),this.addresses.length-1},a.prototype.$addMember=function(t){var e,i=new a({email:t,emails:[{value:t}]});if(angular.isUndefined(this.refs))this.refs=[i];else if(0===t.length)this.refs.push(i);else{for(e=0;e"),"["+t+"]"}}();
//# sourceMappingURL=Contacts.services.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Contacts.services.js.map b/UI/WebServerResources/js/Contacts.services.js.map
index d09c53561..7c7f03ea7 100644
--- a/UI/WebServerResources/js/Contacts.services.js.map
+++ b/UI/WebServerResources/js/Contacts.services.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Contacts/AddressBook.service.js","Contacts/Card.service.js"],"names":["AddressBook","futureAddressBookData","then","this","init","name","id","newAddressBookData","$$resource","create","$unwrap","acls","objectEditor","objectCreator","objectEraser","$acl","$$Acl","$factory","$q","$timeout","$log","Settings","AddressBook_PRELOAD","Resource","Card","Acl","Preferences","angular","extend","PRELOAD","activeUser","$Card","$Preferences","$query","value","sort","asc","selectedFolder","$refreshTimeout","settings","Contact","SortingState","parseInt","module","e","constant","LOOKAHEAD","SIZE","factory","$filterAll","search","options","excludedCards","params","isUndefined","$cards","fetch","response","results","card","index","compareIds","data","_","filter","contacts","find","bind","length","splice","forEach","mapKeys","key","toLowerCase","debug","when","$add","addressbook","list","sibling","i","isSubscription","$subscriptions","$addressbooks","o","localeCompare","indexOf","map","$findAll","_this","$remotes","isRemote","push","union","$subscribe","uid","path","userResource","addressbookData","$reloadAll","addressbooks","group","owner","login","prototype","$$cards","idsMap","isOwned","isSuperUser","$id","$futureAddressBookData","getLength","getItemAtIndex","$isLoading","$lastVisibleIndex","Math","max","$loadCard","endIndex","ids","futureHeadersData","cardId","startIndex","loaded","isDefined","$loaded","STATUS","NOT_LOADED","min","LOADED","LOADING","join","post","$unwrapHeaders","hasSelectedCard","selectedCard","isSelectedCard","$selectedCard","$selectedCardIndex","$selectedCards","selected","$selectedCount","count","$startRefreshTimeout","cancel","refreshViewCheck","defaults","SOGoRefreshViewCheck","f","$reload","timeInterval","$filter","query","dry","partial","addressbookId","futureData","fields","idFieldIndex","cards","headers","invokeMap","pid","oldIndex","removedCards","findIndex","zipObject","$rename","$save","$delete","promise","d","defer","remove","resolve","reject","$_deleteCards","forEachRight","selectedIndex","$deleteCards","uids","$copyCards","folder","$moveCards","save","$omit","exportCards","selectedOnly","selectedCards","type","filename","download","open","$topIndex","reduce","isError","isObject","j","cardHeaders","futureCardData","newCardData","newguid","isNew","$TEL_TYPES","$EMAIL_TYPES","$URL_TYPES","$ADDRESS_TYPES","Card_STATUS","SOGoContactsCategories","$categories","SOGoAlternateAvatar","$alternateAvatar","DELAYED_LOADING","DELAYED_MS","$find","$unwrapCollection","filterCategories","re","RegExp","category","collection","$futureCardData","refs","categories","c_screenname","$$fullname","$fullname","$$email","$preferredEmail","$$image","image","avatar","no_404","hasphoto","photoURL","isgroup","c_component","$avatarIcon","$isList","orgs","org","notes","note","email","emails","reference","birthday","isString","dlp","$mdDateLocaleProvider","parseDate","$birthday","formatDate","c_name","empty","action","ref","$shadowData","attribute","export","names","fn","c_cn","html","c_givenname","nickname","c_sn","contactinfo","split","$description","description","title","role","concat","test","c_mail","$shortFormat","fullname","$isCard","condition","expandable","$addOrg","includes","$addEmail","$addScreenName","screenName","$addPhone","phones","$addUrl","url","urls","$addAddress","postoffice","street","street2","locality","region","country","postalcode","addresses","$addMember","$certificate","hasCertificate","$$certificate","$removeCertificate","explode","$reset","deep","copy","format","toString","desc"],"mappings":"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","file":"Contacts.services.js"}
\ No newline at end of file
+{"version":3,"sources":["Contacts/AddressBook.service.js","Contacts/Card.service.js"],"names":["AddressBook","futureAddressBookData","then","this","init","name","id","newAddressBookData","$$resource","create","$unwrap","acls","objectEditor","objectCreator","objectEraser","$acl","$$Acl","$factory","$q","$timeout","$log","Settings","AddressBook_PRELOAD","Resource","Card","Acl","Preferences","angular","extend","PRELOAD","activeUser","$Card","$Preferences","$query","value","sort","asc","selectedFolder","$refreshTimeout","settings","Contact","SortingState","parseInt","module","e","constant","LOOKAHEAD","SIZE","factory","$filterAll","search","options","excludedCards","params","isUndefined","$cards","fetch","response","results","card","index","compareIds","data","_","filter","contacts","find","bind","length","splice","forEach","mapKeys","key","toLowerCase","debug","when","$add","addressbook","list","sibling","i","isSubscription","$subscriptions","$addressbooks","o","localeCompare","indexOf","map","$findAll","_this","$remotes","isRemote","push","union","$subscribe","uid","path","userResource","addressbookData","$reloadAll","addressbooks","group","owner","login","prototype","$$cards","idsMap","isOwned","isSuperUser","$id","$futureAddressBookData","getLength","getItemAtIndex","$isLoading","$lastVisibleIndex","Math","max","$loadCard","endIndex","ids","futureHeadersData","cardId","startIndex","loaded","isDefined","$loaded","STATUS","NOT_LOADED","min","LOADED","LOADING","join","post","$unwrapHeaders","hasSelectedCard","selectedCard","isSelectedCard","$selectedCard","$selectedCardIndex","$selectedCards","selected","$selectedCount","count","$startRefreshTimeout","cancel","refreshViewCheck","defaults","SOGoRefreshViewCheck","f","$reload","timeInterval","$filter","query","dry","partial","addressbookId","futureData","fields","idFieldIndex","cards","headers","invokeMap","pid","oldIndex","removedCards","findIndex","zipObject","$rename","$save","$delete","promise","d","defer","remove","resolve","reject","$_deleteCards","forEachRight","selectedIndex","$deleteCards","uids","$copyCards","folder","$moveCards","save","$omit","exportCards","selectedOnly","selectedCards","type","filename","download","open","$topIndex","reduce","isError","isObject","j","cardHeaders","futureCardData","newCardData","newguid","isNew","$TEL_TYPES","$EMAIL_TYPES","$URL_TYPES","$ADDRESS_TYPES","Card_STATUS","SOGoContactsCategories","$categories","SOGoAlternateAvatar","$alternateAvatar","DELAYED_LOADING","DELAYED_MS","$find","$unwrapCollection","filterCategories","re","RegExp","category","collection","$futureCardData","refs","categories","c_screenname","$$fullname","$fullname","$$email","$preferredEmail","$$image","image","avatar","no_404","hasphoto","photoURL","isgroup","c_component","$avatarIcon","$isList","orgs","org","notes","note","email","emails","reference","birthday","isString","dlp","$mdDateLocaleProvider","parseDate","$birthday","formatDate","c_name","empty","action","ref","$shadowData","attribute","export","names","fn","c_cn","html","c_givenname","nickname","c_sn","contactinfo","split","$description","description","title","role","concat","test","c_mail","$shortFormat","fullname","$isCard","condition","expandable","$addOrg","includes","$addEmail","$addScreenName","screenName","$addPhone","phones","$addUrl","url","urls","$addAddress","postoffice","street","street2","locality","region","country","postalcode","addresses","$addMember","$certificate","hasCertificate","$$certificate","$removeCertificate","explode","$reset","deep","copy","format","toString","desc"],"mappings":"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","file":"Contacts.services.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Mailer.app.popup.js b/UI/WebServerResources/js/Mailer.app.popup.js
index d1a4af660..651c80851 100644
--- a/UI/WebServerResources/js/Mailer.app.popup.js
+++ b/UI/WebServerResources/js/Mailer.app.popup.js
@@ -1,2 +1,2 @@
-!function(){"use strict";angular.module("SOGo.MailerUI",["ngCookies","ui.router","ck","angularFileUpload","SOGo.Common","SOGo.ContactsUI","SOGo.SchedulerUI","ngAnimate","SOGo.PreferencesUI"]).config(e).run(i).controller("MessageEditorControllerPopup",l),e.$inject=["$stateProvider","$urlRouterProvider"];function e(e,i){e.state("mail",{url:"/Mail",abstract:!0,views:{message:{template:" "}},resolve:{stateAccounts:t}}).state("mail.account",{url:"/:accountId",abstract:!0,template:' ',resolve:{stateAccount:o}}).state("mail.account.mailbox",{url:"/:mailboxId",abstract:!0,template:' ',resolve:{stateMailbox:n}}).state("mail.account.mailbox.newMessage",{url:"/new",views:{"message@":{template:" ",controller:"MessageEditorControllerPopup"}},resolve:{stateMessage:r}}).state("mail.account.mailbox.message",{url:"/:messageId",views:{"message@":{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMessage:a}}).state("mail.account.mailbox.message.edit",{url:"/edit",views:{"message@":{template:" ",controller:"MessageEditorControllerPopup"}},resolve:{stateContent:s}}).state("mail.account.mailbox.message.action",{url:"/{actionName:(?:reply|replyall|forward)}",views:{"message@":{template:" ",controller:"MessageEditorControllerPopup"}}}),i.otherwise("/Mail/0/folderINBOX/new")}t.$inject=["$window","$q","Account"];function t(e,t,o){var n,r=[];return e&&e.opener&&e.opener.$mailboxController?(n=e.opener.$mailboxController.accounts,t.when(n)):o.$findAll().then(function(e){return angular.forEach(e,function(e,t){var o=e.$getMailboxes();0===t?r.push(o.then(function(t){return e})):r.push(e)}),t.all(r)})}o.$inject=["$stateParams","stateAccounts"];function o(e,t){return _.find(t,function(t){return t.id==e.accountId})}n.$inject=["$q","$state","$stateParams","stateAccount","decodeUriFilter","Mailbox"];function n(e,t,o,n,r,a){var s,i,l=r(o.mailboxId);return(s=(i=function(e){var t=_.find(e,function(e){return e.path==l});return t||angular.forEach(e,function(e){!t&&e.children&&e.children.length>0&&(t=i(e.children))}),t})(n.$mailboxes))?(s.$topIndex=0,s.selectFolder(),s):e.reject("Mailbox doesn't exist")}r.$inject=["$urlService","stateAccount"];function r(e,t){var o,n=e.search();return n&&(o=_.find(_.keys(n),function(e){return/^mailto:/i.test(e)})),t.$newMessage({mailto:o})}a.$inject=["encodeUriFilter","$q","$stateParams","$state","stateMailbox","Message"];function a(e,t,o,n,r,a){var s,i;return window&&window.opener&&window.opener.$messageController&&window.opener.$messageController.message.uid==parseInt(o.messageId)?(i=new a(r.$account.id,r,window.opener.$messageController.message.$omit({privateAttributes:!0})),t.when(i)):(s={uid:o.messageId.toString()},(i=new a(r.$account.id,r,s)).$reload())}s.$inject=["stateMessage"];function s(e){return e.$editableContent()}i.$inject=["$window","$rootScope","$log"];function i(e,t,o){t.$on("$stateChangeError",function(t,n,r,a,s,i){o.error(i),e.close()}),t.$on("$routeChangeError",function(e,t,n,r){o.error(e,t,n,r)})}l.$inject=["$window","$mdDialog","stateAccount","stateMessage"];function l(e,t,o,n){t.show({hasBackdrop:!1,disableParentScroll:!1,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:n}}).finally(function(){e.close()})}}();
+!function(){"use strict";function e(e,t){e.state("mail",{url:"/Mail",abstract:!0,views:{message:{template:" "}},resolve:{stateAccounts:o}}).state("mail.account",{url:"/:accountId",abstract:!0,template:' ',resolve:{stateAccount:n}}).state("mail.account.mailbox",{url:"/:mailboxId",abstract:!0,template:' ',resolve:{stateMailbox:r}}).state("mail.account.mailbox.newMessage",{url:"/new",views:{"message@":{template:" ",controller:"MessageEditorControllerPopup"}},resolve:{stateMessage:a}}).state("mail.account.mailbox.message",{url:"/:messageId",views:{"message@":{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMessage:s}}).state("mail.account.mailbox.message.edit",{url:"/edit",views:{"message@":{template:" ",controller:"MessageEditorControllerPopup"}},resolve:{stateContent:i}}).state("mail.account.mailbox.message.action",{url:"/{actionName:(?:reply|replyall|forward)}",views:{"message@":{template:" ",controller:"MessageEditorControllerPopup"}}}),t.otherwise("/Mail/0/folderINBOX/new")}function o(e,t,o){var n,r=[];return e&&e.opener&&e.opener.$mailboxController?(n=e.opener.$mailboxController.accounts,t.when(n)):o.$findAll().then(function(e){return angular.forEach(e,function(t,e){var o=t.$getMailboxes();0===e?r.push(o.then(function(e){return t})):r.push(t)}),t.all(r)})}function n(t,e){return _.find(e,function(e){return e.id==t.accountId})}function r(e,t,o,n,r,a){var s,i,l=r(o.mailboxId);return(s=(i=function(e){var t=_.find(e,function(e){return e.path==l});return t||angular.forEach(e,function(e){!t&&e.children&&0 "}},resolve:{stateAccount:a}}).state("mail.account.virtualMailbox",{url:"/virtual",views:{"mailbox@mail":{templateUrl:"UIxMailFolderTemplate",controller:"MailboxController",controllerAs:"mailbox"}},resolve:{stateMailbox:l}}).state("mail.account.virtualMailbox.message",{url:"/:mailboxId/:messageId",views:{message:{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMailbox:n,stateMessages:i,stateMessage:s},onEnter:c,onExit:u}).state("mail.account.inbox",{url:"/inbox",onEnter:r}).state("mail.account.mailbox",{url:"/:mailboxId",views:{"mailbox@mail":{templateUrl:"UIxMailFolderTemplate",controller:"MailboxController",controllerAs:"mailbox"}},resolve:{stateMailbox:o,stateMessages:i}}).state("mail.account.mailbox.message",{url:"/:messageId",views:{message:{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},onEnter:c,onExit:u,resolve:{stateMessage:s}}),d.rules.otherwise("/Mail/0/inbox"),navigator&&navigator.registerProtocolHandler){var m=window.location.origin+window.ApplicationBaseURL+"UIxMailPopupView#!/Mail/0/INBOX/new?%s";navigator.registerProtocolHandler("mailto",m,"SOGo")}}t.$inject=["$window","$q","Account"];function t(e,t,a){var o=a.$findAll(e.mailAccounts),r=[];return angular.forEach(o,function(e,t){var a=e.$getMailboxes();0===t?r.push(a.then(function(t){return e})):r.push(e)}),t.all(r)}a.$inject=["$stateParams","stateAccounts"];function a(e,t){return _.find(t,function(t){return t.id==e.accountId})}o.$inject=["$q","$stateParams","stateAccount","decodeUriFilter","Mailbox"];function o(e,t,a,o,r){var i,l,n=o(t.mailboxId);return l=function(e){var t=_.find(e,function(e){return e.path==n});return t||angular.forEach(e,function(e){!t&&e.children&&e.children.length>0&&(t=l(e.children))}),t},r.selectedFolder&&!r.$virtualMode&&(r.selectedFolder.$isLoading=!0),(i=l(a.$mailboxes))?(i.$topIndex=0,i.selectFolder(),i):e.reject("Mailbox doesn't exist")}r.$inject=["$transition$","encodeUriFilter","Mailbox"];function r(e,t,a){return e.injector().getAsync("stateAccount").then(function(o){return o.$mailboxes.length>0?e.router.stateService.target("mail.account.mailbox",{accountId:o.id,mailboxId:t(o.$mailboxes[0].path)}):(a.selectedFolder=!1,e.router.stateService.target("mail"))})}i.$inject=["$q","$state","Mailbox","stateMailbox"];function i(e,t,a,o){return a.$virtualMode?[]:o?o.$filter().catch(function(){return e.reject("Mailbox not found")}):e.reject("Mailbox doesn't exist")}l.$inject=["$q","Mailbox"];function l(e,t){return t.$virtualMode?t.selectedFolder:e.reject("No virtual mailbox defined")}n.$inject=["$q","Mailbox","decodeUriFilter","$stateParams"];function n(e,t,a,o){var r=a(o.mailboxId);return t.$virtualMode?(t.selectedFolder.resetSelectedMessage(),_.find(t.selectedFolder.$mailboxes,function(e){return e.path==r})):e.reject("No virtual mailbox defined for message")}s.$inject=["Mailbox","encodeUriFilter","$stateParams","$state","stateMailbox","stateMessages"];function s(e,t,a,o,r,i){var l;if(l=_.find(r.$messages,function(e){return e.uid==parseInt(a.messageId)}))return l.$reload({useCache:!0});o.go("mail.account.mailbox",{accountId:r.$account.id,mailboxId:t(r.path)})}c.$inject=["$stateParams","stateMailbox"];function c(e,t){t.selectedMessage=parseInt(e.messageId)}u.$inject=["stateMailbox"];function u(e){delete e.selectedMessage}d.$inject=["$window","$transitions","$log","$state","Mailbox"];function d(e,t,a,o,r){e.DebugEnabled||o.defaultErrorHandler(function(){}),t.onError({to:"mail.**"},function(e){"mail"!=e.to().name&&!e.ignored()&&e.error().message.indexOf("superseded")<0&&(a.error("transition error to "+e.to().name+": "+e.error().detail),r.selectedFolder=!1,o.go("mail"))})}}();
+!function(){"use strict";function e(e,t){if(e.state("mail",{url:"/Mail",views:{mailboxes:{templateUrl:"UIxMailMainFrame",controller:"MailboxesController",controllerAs:"app"}},resolve:{stateAccounts:o}}).state("mail.account",{url:"/:accountId",abstract:!0,views:{mailbox:{template:" "}},resolve:{stateAccount:r}}).state("mail.account.virtualMailbox",{url:"/virtual",views:{"mailbox@mail":{templateUrl:"UIxMailFolderTemplate",controller:"MailboxController",controllerAs:"mailbox"}},resolve:{stateMailbox:s}}).state("mail.account.virtualMailbox.message",{url:"/:mailboxId/:messageId",views:{message:{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},resolve:{stateMailbox:c,stateMessages:n,stateMessage:u},onEnter:d,onExit:m}).state("mail.account.inbox",{url:"/inbox",onEnter:l}).state("mail.account.mailbox",{url:"/:mailboxId",views:{"mailbox@mail":{templateUrl:"UIxMailFolderTemplate",controller:"MailboxController",controllerAs:"mailbox"}},resolve:{stateMailbox:i,stateMessages:n}}).state("mail.account.mailbox.message",{url:"/:messageId",views:{message:{templateUrl:"UIxMailViewTemplate",controller:"MessageController",controllerAs:"viewer"}},onEnter:d,onExit:m,resolve:{stateMessage:u}}),t.rules.otherwise("/Mail/0/inbox"),navigator&&navigator.registerProtocolHandler){var a=window.location.origin+window.ApplicationBaseURL+"UIxMailPopupView#!/Mail/0/INBOX/new?%s";navigator.registerProtocolHandler("mailto",a,"SOGo")}}function o(e,t,a){var o=a.$findAll(e.mailAccounts),r=[];return angular.forEach(o,function(t,e){var a=t.$getMailboxes();0===e?r.push(a.then(function(e){return t})):r.push(t)}),t.all(r)}function r(t,e){return _.find(e,function(e){return e.id==t.accountId})}function i(e,t,a,o,r){var i,l,n=o(t.mailboxId);return l=function(e){var t=_.find(e,function(e){return e.path==n});return t||angular.forEach(e,function(e){!t&&e.children&&0":e.full="<"+e.email+">"}),e.$log.debug("Account: "+JSON.stringify(t,void 0,2)))}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Mailbox","Message",function(t,n,s,i,o,a,r,l){return angular.extend(e,{$q:t,$timeout:n,$log:s,$$resource:new o(i.activeUser("folderURL")+"Mail",i.activeUser()),$Preferences:a,$Mailbox:r,$Message:l}),e}];try{angular.module("SOGo.MailerUI")}catch(e){angular.module("SOGo.MailerUI",["SOGo.Common"])}angular.module("SOGo.MailerUI").factory("Account",e.$factory),e.$findAll=function(t){return t?e.$unwrapCollection(t):e.$$resource.fetch("","mailAccounts").then(function(t){return e.$unwrapCollection(t)})},e.$unwrapCollection=function(t){var n=[];return angular.forEach(t,function(t,s){t.id=s,n[s]=new e(t)}),e.$accounts=n,n},e.prototype.getLength=function(){return this.$flattenMailboxes().length},e.prototype.getItemAtIndex=function(e){var t;return t=this.$flattenMailboxes(),e>=0&&e=0,e.children&&e.children.length>0&&i(e.children)})};if(e.$Preferences.settings.Mail.ExpandedFolders){if(angular.isString(e.$Preferences.settings.Mail.ExpandedFolders))try{s=angular.fromJson(e.$Preferences.settings.Mail.ExpandedFolders)}catch(t){e.$log.warn("Can't parse list of expanded folders. String was: "+e.$Preferences.settings.Mail.ExpandedFolders),s=[]}else s=e.$Preferences.settings.Mail.ExpandedFolders;n.$expanded=s.indexOf("/"+n.id)>=0,s.length>0&&i(n.$mailboxes)}return e.$accounts&&(n.$expanded|=1==e.$accounts.length),n.$flattenMailboxes({reload:!0}),n.$mailboxes}):e.$q.when(this.$mailboxes)},e.prototype.$flattenMailboxes=function(t){var n=[],s=[],i=function(e){_.forEach(e,function(e){n.push(e),(t&&t.all||e.$expanded)&&e.children&&e.children.length>0&&i(e.children)})};return!this.$$flattenMailboxes||t&&(t.reload||t.all)?(i(this.$mailboxes),t&&t.all||(this.$$flattenMailboxes=n,t&&t.saveState&&(_.forEach(e.$accounts,function(e){e.$expanded&&s.push("/"+e.id),_.reduce(e.$$flattenMailboxes,function(e,t){return t.$expanded&&e.push("/"+t.id),e},s)}),e.$$resource.post(null,"saveFoldersState",s)))):n=this.$$flattenMailboxes,n},e.prototype.$getMailboxByType=function(e){var t=function(n){var s=_.find(n,function(t){return t.type==e});return s||angular.forEach(n,function(e){!s&&e.children&&e.children.length>0&&(s=t(e.children))}),s};return t(this.$mailboxes)},e.prototype.$getMailboxByPath=function(e){var t=function(n){var s=_.find(n,function(t){return t.path==e});return s||angular.forEach(n,function(e){!s&&e.children&&e.children.length>0&&(s=t(e.children))}),s};return t(this.$mailboxes)},e.prototype.$newMailbox=function(t,n){var s=this;return e.$$resource.post(t.toString(),"createFolder",{name:n}).then(function(){s.$getMailboxes({reload:!0})})},e.prototype.$certificate=function(){var t=this;return this.security&&this.security.hasCertificate?this.$$certificate?e.$q.when(this.$$certificate):e.$$resource.fetch(this.id.toString(),"certificate").then(function(e){return t.$$certificate=e,e}):e.$q.reject()},e.prototype.$removeCertificate=function(){var t=this;return e.$$resource.fetch(this.id.toString(),"removeCertificate").then(function(){t.security.hasCertificate=!1})},e.prototype.updateQuota=function(e){var t,n;t=Math.round(1e4*e.usedSpace/e.maxQuota)/100,n=l("quotasFormat").formatted(t,Math.round(e.maxQuota/10.24)/100),this.$quota={percent:t,description:n}},e.prototype.$newMessage=function(t){var n=this;return e.$$resource.fetch(this.id.toString(),"compose").then(function(t){e.$log.debug("New message (compose): "+JSON.stringify(t,void 0,2));return new e.$Message(t.accountId,n.$getMailboxByPath(t.mailboxPath),t)}).then(function(s){return e.$$resource.fetch(s.$absolutePath({asDraft:!0}),"edit").then(function(i){var o=e.$Preferences.defaults.AuxiliaryMailAccounts[n.id];return o.security&&(o.security.alwaysSign&&(i.sign=!0),o.security.alwaysEncrypt&&(i.encrypt=!0)),e.$log.debug("New message (edit): "+JSON.stringify(i,void 0,2)),angular.extend(s.editable,i),s.isNew=!0,t&&t.mailto&&(angular.isObject(t.mailto)?angular.extend(s.editable,t.mailto):s.$parseMailto(t.mailto)),s})})},e.prototype.$addDelegate=function(t){var n=this,s=e.$q.defer(),i={uid:t.uid};return!t.uid||_.indexOf(_.map(this.delegates,"uid"),t.uid)>-1?s.resolve():e.$$resource.fetch(this.id.toString(),"addDelegate",i).then(function(){n.delegates.push(t),s.resolve(n.users)},function(e,t){s.reject(l("An error occured please try again."))}),s.promise},e.prototype.$removeDelegate=function(t){var n=this,s={uid:t};return e.$$resource.fetch(this.id.toString(),"removeDelegate",s).then(function(){var e=_.indexOf(_.map(n.delegates,"uid"),t);e>=0&&n.delegates.splice(e,1)})}}(),function(){"use strict";function e(t,n){if(this.$account=t,"function"!=typeof n.then){if(this.init(n),this.name&&!this.path){var s=e.$$resource.create("createFolder",this.name);this.$unwrap(s)}}else this.$unwrap(n)}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Message","Acl","Preferences","sgMailbox_PRELOAD",function(t,n,s,i,o,a,r,l,c){return angular.extend(e,{$q:t,$timeout:n,$log:s,$$resource:new o(i.activeUser("folderURL")+"Mail",i.activeUser()),$Message:a,$$Acl:r,$Preferences:l,$query:{sort:"arrival",asc:0},selectedFolder:null,$refreshTimeout:null,$virtualMode:!1,$virtualPath:!1,PRELOAD:c}),l.settings.Mail.SortingState&&(e.$query.sort=l.settings.Mail.SortingState[0],e.$query.asc=parseInt(l.settings.Mail.SortingState[1])),e}];try{angular.module("SOGo.MailerUI")}catch(e){angular.module("SOGo.MailerUI",["SOGo.Common"])}angular.module("SOGo.MailerUI").constant("sgMailbox_PRELOAD",{LOOKAHEAD:50,SIZE:100}).factory("Mailbox",e.$factory),e.$find=function(t,n){var s;return s=n&&n.all?this.$$resource.fetch(t.id.toString(),"viewAll"):this.$$resource.fetch(t.id.toString(),"view"),e.$unwrapCollection(t,s)},e.$unwrapCollection=function(t,n){var s=[],i=function(n,s){for(var o=0;o=0&&e=0},e.prototype.isNoSelect=function(){return this.flags.indexOf("noselect")>=0},e.prototype.getClassName=function(e){return!1},e.prototype.$rename=function(){var t,n,s,i,o=this;return this.name==this.$shadowData.name?e.$q.when():(n=(t=function(e,n){var s=null;return _.find(n,function(e){return e.path==o.path})?s=e:angular.forEach(n,function(e){!s&&e.children&&e.children.length>0&&(s=t(e,e.children))}),s})(null,this.$account.$mailboxes),s=null===n?this.$account.$mailboxes:n.children,i=_.indexOf(_.map(s,"id"),this.id),this.$save().then(function(e){var t,n=o.path;o.init(e),s.splice(i,1),t=_.find(s,function(e){return"folder"==e.type&&e.name.localeCompare(o.name)>0}),i=t?_.indexOf(_.map(s,"id"),t.id):s.length,s.splice(i,0,o);var a=new RegExp("^"+n),r=function(e){_.forEach(e.children,function(e){e.path=e.path.replace(a,o.path),e.id=e.$id(),r(e)})};r(o)}))},e.prototype.$compact=function(){var t=this;return e.$$resource.post(this.id,"expunge").then(function(e){return e.quotas&&t.$account.updateQuota(e.quotas),!0})},e.prototype.$canFolderAs=function(){return"folder"==this.type&&0===this.level},e.prototype.$setFolderAs=function(t){return e.$$resource.post(this.id,"setAs"+t+"Folder")},e.prototype.$emptyTrash=function(){var t=this;return e.$$resource.post(this.id,"emptyTrash").then(function(e){t.$messages=[],t.uidsMap={},t.unseenCount=0,angular.isDefined(t.children)&&t.children.length&&t.$account.$getMailboxes({reload:!0}),e.quotas&&t.$account.updateQuota(e.quotas)})},e.prototype.$markAsRead=function(){var t=this;return e.$$resource.post(this.id,"markRead").then(function(){t.unseenCount=0,_.forEach(t.$messages,function(e){e.isread=!0})})},e.prototype.$flagMessages=function(t,n,s){var i={msgUIDs:_.map(t,"uid"),flags:n,operation:s};return e.$$resource.post(this.id,"addOrRemoveLabel",i).then(function(){return t})},e.prototype.saveSelectedMessages=function(){var t,n;return t=_.filter(this.$messages,function(e){return e.selected}),{uids:n=_.map(t,"uid")},{filename:l("Saved Messages.zip")},e.$$resource.download(this.id,"saveMessages",{uids:n})},e.prototype.exportFolder=function(){var t;return t={filename:this.name+".zip"},e.$$resource.open(this.id,"exportFolder",null,t)},e.prototype.$delete=function(t){var n=this;return e.$$resource.post(this.id,"delete",t).then(function(){return n.$account.$getMailboxes({reload:!0}),!0})},e.prototype.$_deleteMessages=function(e,t){var n,s=this,i=this.$messages.length;return n=_.filter(t,function(e,t){return!e.isread}),this.unseenCount-=n.length,_.forEachRight(this.$messages,function(t,n){var o=_.findIndex(e,function(e){return t.uid==e});o>-1?(e.splice(o,1),delete s.uidsMap[t.uid],t.uid==s.selectedMessage&&delete s.selectedMessage,s.$messages.splice(n,1),nt.uids.length-1)&&(n.$topIndex=0),n.init(t),n.uids&&(e.$log.debug("unwrapping "+n.uids.length+" messages"),a=_.invokeMap(n.headers[0],"toLowerCase"),n.headers.splice(0,1),n.threaded&&(o=n.uids[0],n.uids.splice(0,1)),_.reduce(n.uids,function(t,s,a){var r,l;return r=n.threaded?_.zipObject(o,s):{uid:s.toString()},n.uidsMap[r.uid]=a,(l=new e.$Message(n.$account.id,n,r,!0)).selected=i.indexOf(l.uid)>-1,t.push(l),t},n.$messages),_.forEach(n.headers,function(e){var t=_.zipObject(a,e),s=n.uidsMap[t.uid.toString()];n.$messages[s].init(t)})),e.$log.debug("mailbox "+n.id+" ready"),n.$isLoading=!1,s.resolve(n.$messages)})},function(e){angular.extend(n,e),n.isError=!0,n.$isLoading=!1,s.reject()}),s.promise},e.prototype.$unwrapHeaders=function(t){var n=this;t.then(function(t){e.$timeout(function(){var e,s;t.length>0&&(e=_.invokeMap(t[0],"toLowerCase"),t.splice(0,1),_.forEach(t,function(t){t=_.zipObject(e,t),s=n.uidsMap[t.uid.toString()],angular.isDefined(s)&&n.$messages[s].init(t)}))})})},e.prototype.$updateSubscribe=function(){var t=this.subscribed?"subscribe":"unsubscribe";e.$$resource.post(this.id,t)}}(),function(){"use strict";function e(e,t,n,s){this.accountId=e,this.$mailbox=t,this.$hasUnsafeContent=!1,this.$loadUnsafeContent=!1,this.editable={to:[],cc:[],bcc:[]},this.selected=!1,"function"!=typeof n.then?(!angular.isUndefined(s)&&s||this.init(n),this.uid=parseInt(n.uid)):this.$unwrap(n)}e.$factory=["$q","$timeout","$log","sgSettings","sgMessage_STATUS","Resource","Preferences",function(t,n,s,i,o,a,r){return angular.extend(e,{STATUS:o,$q:t,$timeout:n,$log:s,$$resource:new a(i.activeUser("folderURL")+"Mail",i.activeUser()),$Preferences:r,$avatar:angular.bind(r,r.avatar)}),r.defaults.SOGoMailLabelsColors&&(e.$tags=r.defaults.SOGoMailLabelsColors),r.defaults.SOGoMailDisplayRemoteInlineImages&&"always"==r.defaults.SOGoMailDisplayRemoteInlineImages&&(e.$displayRemoteInlineImages=!0),e}];try{angular.module("SOGo.MailerUI")}catch(e){angular.module("SOGo.MailerUI",["SOGo.Common"])}angular.module("SOGo.MailerUI").constant("sgMessage_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Message",e.$factory),e.filterTags=function(t,n){var s=new RegExp(t,"i"),i=[];return _.forEach(_.keys(e.$tags),function(t){var o=e.$tags[t];-1!=o[0].search(s)&&(_.includes(n,t)||i.push({name:t,description:o[0],color:o[1]}))}),i},e.prototype.init=function(e){var t=this;angular.extend(this,e),this.$formatFullAddresses(),this.$loadUnsafeContent=!1,_.forEach(this.flags,function(e,n){"$"==e.charAt(0)&&t.flags.splice(n,1,"_"+e)})},e.prototype.$absolutePath=function(t){var n=this,s=this.id;function i(){var e;return(e=_.map(n.$mailbox.path.split("/"),function(e){return"folder"+e.asCSSIdentifier()})).splice(0,0,n.accountId),e.join("/")}return(angular.isUndefined(this.id)||t&&t.nocache)&&(this.id=i()+"/"+this.uid,s=this.id),t&&t.asDraft&&this.draftId&&(s=i()+"/"+this.draftId),t&&t.withResourcePath&&(s=e.$$resource.path(s)),s},e.prototype.$setUID=function(e){var t,n=this.uid||-1,s=this;n!=parseInt(e)&&(this.uid=parseInt(e),this.$absolutePath({nocache:!0}),n>-1?(n=n.toString(),angular.isDefined(this.$mailbox.uidsMap[n])&&(t=this.$mailbox.uidsMap[n],this.$mailbox.uidsMap[e]=t,delete this.$mailbox.uidsMap[n],_.forEach(["from","to","subject"],function(e){s.$mailbox.$messages[t][e]=s[e]}))):this.$mailbox.constructor.selectedFolder&&"draft"==this.$mailbox.constructor.selectedFolder.type&&this.$mailbox.constructor.selectedFolder.$filter())},e.prototype.$formatFullAddresses=function(){var t=this,n=_.map(t.$mailbox.$account.identities,"email");_.forEach(["from","to","cc","bcc","reply-to"],function(s){_.forEach(t[s],function(t){t.name&&t.name!=t.email?(t.full=t.name+" <"+t.email+">",t.name.length<10?t.shortname=t.name:t.name.split(" ").length&&(t.shortname=_.first(_.last(t.name.split(/, */)).split(/ +/)).replace("'",""))):t.email&&(t.full="<"+t.email+">",t.shortname=t.email.split("@")[0]),t.image=e.$avatar(t.email,32),_.indexOf(n,t.email)>=0&&(t.shortname=l("me"))})})},e.prototype.$shortRecipients=function(e){var t=this,n=[],s=0,i=0;return _.forEach(["to","cc","bcc"],function(o){i+=t[o]?t[o].length:0,_.forEach(t[o],function(t,i){se&&n.push(l("and %{0} more...",i-e)),n.join(", ")},e.prototype.$shortAddress=function(e){var t="";return this[e]&&this[e].length>0&&(t=this[e][0].name||this[e][0].email||""),t},e.prototype.allowReplyAll=function(){var e=0;return e=_.reduce(["to","cc"],_.bind(function(e,t){return this[t]?e+this[t].length:e},this),e),!this.isDraft&&e>1},e.prototype.loadUnsafeContent=function(){this.$loadUnsafeContent=!0,delete this.$parts},e.prototype.$content=function(){var t=this,n=[],s=function(i){i.msgclass="msg-attachment-other","UIxMailPartAlternativeViewer"==i.type?s(_.find(i.content,function(e){return i.preferredPart==e.contentType})):angular.isArray(i.content)?("UIxMailPartSignedViewer"==i.type&&1===i["supports-smime"]?t.signed={valid:i.valid,certificate:i.certificates[i.certificates.length-1],message:i.message}:"UIxMailPartEncryptedViewer"==i.type&&(t.encrypted={valid:i.valid},i.valid?t.encrypted.message=l("This message is encrypted"):t.encrypted.message=l("This message can't be decrypted. Please make sure you have uploaded your S/MIME certificate from the mail preferences module.")),_.forEach(i.content,function(e){s(e)})):(angular.isUndefined(i.safeContent)&&(i.safeContent=i.content,t.$hasUnsafeContent|=i.safeContent.indexOf(" unsafe-")>-1),"UIxMailPartHTMLViewer"==i.type?(i.html=!0,t.$loadUnsafeContent||e.$displayRemoteInlineImages?(angular.isUndefined(i.unsafeContent)&&(i.unsafeContent=document.createElement("div"),i.unsafeContent.innerHTML=i.safeContent,angular.forEach(["src","data","classid","background","style"],function(e){var t,n,s,o=i.unsafeContent.querySelectorAll("[unsafe-"+e+"]");for(s=0;s"}),n={to:t},_.forEach(["subject","body"],function(t){var i=new RegExp(t+"=([^&]+)");t="body"==t?"text":t,(s=i.exec(e))&&(n[t]=decodeURIComponent(s[1]))}),_.forEach(["cc","bcc"],function(t){var i=new RegExp(t+"=([^&]+)");(s=i.exec(e))&&(n[t]=_.map(decodeURIComponent(s[1]).split(","),function(e){return"<"+e.trim()+">"}))}),angular.extend(this.editable,n))},e.prototype.$reply=function(){return this.$newDraft("reply")},e.prototype.$replyAll=function(){return this.$newDraft("replyall")},e.prototype.$forward=function(){return this.$newDraft("forward")},e.prototype.$newDraft=function(t){var n=this;return e.$$resource.fetch(this.$absolutePath(),t).then(function(s){var i,o;return e.$log.debug("New "+t+": "+JSON.stringify(s,void 0,2)),i=n.$mailbox.$account.$getMailboxByPath(s.mailboxPath),o=new e(s.accountId,i,s),e.$$resource.fetch(o.$absolutePath({asDraft:!0}),"edit").then(function(s){e.$log.debug("New "+t+": "+JSON.stringify(s,void 0,2)+" original UID: "+n.uid);var i=e.$Preferences.defaults.AuxiliaryMailAccounts[n.$mailbox.$account.id];return i.security&&(i.security.alwaysSign&&(s.sign=!0),i.security.alwaysEncrypt&&(s.encrypt=!0)),angular.extend(o.editable,s),o.origin={message:n,action:t},o})})},e.prototype.$save=function(){var t=this,n=this.editable;return e.$log.debug("save = "+JSON.stringify(n,void 0,2)),e.$$resource.save(this.$absolutePath({asDraft:!0}),n).then(function(n){e.$log.debug("save = "+JSON.stringify(n,void 0,2)),t.$setUID(n.uid),t.$reload(),t.isNew=!1})},e.prototype.$send=function(){var t=this,n=angular.copy(this.editable);return e.$log.debug("send = "+JSON.stringify(n,void 0,2)),e.$$resource.post(this.$absolutePath({asDraft:!0}),"send",n).then(function(n){return"success"==n.status?(angular.isDefined(t.origin)&&(t.origin.action.startsWith("reply")?t.origin.message.isanswered=!0:"forward"==t.origin.action&&(t.origin.message.isforwarded=!0)),n):e.$q.reject(n.data)})},e.prototype.$unwrap=function(t){var n=this;return this.$loaded=e.STATUS.DELAYED_LOADING,e.$timeout(function(){n.$loaded!=e.STATUS.LOADED&&(n.$loaded=e.STATUS.LOADING)},e.STATUS.DELAYED_MS),this.$futureMessageData=t.then(function(t){return 0===n.isread&&(n.isread=!0,n.$mailbox.unseenCount--),e.$timeout(function(){return delete n.$parts,n.$loaded=e.STATUS.LOADED,n.init(t),n})}),this.$futureMessageData},e.prototype.$omit=function(e){var t={},n=e&&e.privateAttributes;return angular.forEach(this,function(e,s){("constructor"!=s&&"$"!=s[0]||n)&&(t[s]=e)}),t},e.prototype.download=function(){var t,n;return t={uids:[this.uid]},n={filename:this.subject+".zip"},e.$$resource.download(this.$mailbox.id,"saveMessages",t,n)},e.prototype.downloadAttachments=function(){var t;return t={filename:l("attachments")+"-"+this.uid+".zip"},e.$$resource.download(this.$absolutePath(),"archiveAttachments",null,t)}}(),function(){"use strict";function e(){this.show=!1,this.message=null,this.elements=[]}e.$factory=["$document","$timeout","$mdPanel","sgHotkeys",function(t,n,s,i){return angular.extend(e,{$document:t,$timeout:n,$mdPanel:s,sgHotkeys:i}),new e}],e.prototype.setMessage=function(e){this.message=e},e.prototype.registerImage=function(e){this.elements.push(e)},e.prototype.registerHotkeys=function(t){this.keys=[e.sgHotkeys.createHotkey({key:"left",description:l("View previous item"),callback:angular.bind(t,t.previousImage)}),e.sgHotkeys.createHotkey({key:"right",description:l("View next item"),callback:angular.bind(t,t.nextImage)})],_.forEach(this.keys,function(t){e.sgHotkeys.registerHotkey(t)})},e.prototype.showGallery=function(t,n){var s=this,i=e.$mdPanel,o=angular.element(this.message.$content()[n].content).find("img")[0].src,a=_.filter(this.message.attachmentAttrs,function(e){return 0===e.mimetype.indexOf("image/")}),r=_.findIndex(a,function(e){return e.url.indexOf(o)>=0});angular.element(e.$document[0].body).addClass("sg-image-gallery-backdrop");var c=i.newPanelPosition().absolute(),u=i.newPanelAnimation().openFrom(t.target).duration(100).withAnimation(i.animation.FADE),d={attachTo:angular.element(document.body),locals:{lastIndex:a.length-1,images:a,selectedIndex:r,selectedImage:a[r]},bindToController:!0,controller:h,controllerAs:"$panelCtrl",position:c,animation:u,targetEvent:t,fullscreen:!0,hasBackdrop:!0,template:['',' ",' ','
'," navigate_before "," ",'
','
'," navigate_next "," ","
",' ','
','
',"
","
"," "].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0,onOpenComplete:function(){s.show=!0,_.forEach(e.$document.find("sg-image-gallery")[0].getElementsByClassName("sg-image-thumbnail"),function(t){var n=t.children[0];angular.element(n).one("load",function(){n.naturalWidth0&&this.selectImage(this.selectedIndex-1)}}},angular.module("SOGo.MailerUI").factory("ImageGallery",e.$factory)}(),function(){"use strict";function e(e){this.$account=e}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Message","Mailbox","sgMailbox_PRELOAD",function(t,n,s,i,o,a,r,l){return angular.extend(e,{$q:t,$timeout:n,$log:s,$$resource:new o(i.activeUser("folderURL")+"Mail",i.activeUser()),$Message:r,selectedFolder:null,PRELOAD:l}),e}];try{angular.module("SOGo.MailerUI")}catch(e){angular.module("SOGo.MailerUI",["SOGo.Common"])}angular.module("SOGo.MailerUI").constant("sgMailbox_PRELOAD",{LOOKAHEAD:50,SIZE:100}).factory("VirtualMailbox",e.$factory),e.$absolutePath=function(e){return[e,"virtual"].join("/")},e.prototype.init=function(e){this.$isLoading=!1,this.$mailboxes=[],this.uidsMap={},angular.extend(this,e),this.id=this.$id()},e.prototype.setMailboxes=function(e){this.$mailboxes=e,_.forEach(this.$mailboxes,function(e){e.$messages=[],e.uidsMap={}})},e.prototype.startSearch=function(t,n){var s=this,i=e.$q.when();this.$isLoading=!0,_.forEach(this.$mailboxes,function(o){i=i.then(function(){if(s.$isLoading)return e.$log.debug("searching mailbox "+o.path),o.$filter({sort:"date",asc:!1,match:t},n)})}),i.finally(function(){s.$isLoading=!1})},e.prototype.stopSearch=function(){e.$log.debug("stopping search..."),this.$isLoading=!1},e.prototype.selectFolder=function(){},e.prototype.resetSelectedMessage=function(){_.forEach(this.$mailboxes,function(e){delete e.selectedMessage})},e.prototype.hasSelectedMessage=function(){return angular.isDefined(_.find(this.$mailboxes,function(e){return angular.isDefined(e.selectedMessage)}))},e.prototype.isSelectedMessage=function(e,t){return angular.isDefined(_.find(this.$mailboxes,function(n){return n.path==t&&n.selectedMessage==e}))},e.prototype.getLength=function(){var e=0;return angular.isDefined(this.$mailboxes)?(_.forEach(this.$mailboxes,function(t){e+=t.$messages.length}),e):e},e.prototype.getItemAtIndex=function(e){var t,n,s,i,o;if(angular.isDefined(this.$mailboxes)&&e>=0)for(t=0,n=0;n0})},e.prototype.$selectedCount=function(){return _.sum(_.invokeMap(this.$mailboxes,"$selectedCount"))},e.prototype.$flagMessages=function(t,n,s){var i={flags:n,operation:s},o=[],a=[];return _.forEach(t,function(t,n){if(t.length>0){var s=_.map(t,"uid");o.push(t);var r=e.$$resource.post(n,"addOrRemoveLabel",_.assign(i,{msgUIDs:s}));a.push(r)}}),e.$q.all(a).then(function(){return _.flatten(o)})},e.prototype.$deleteMessages=function(t){var n=this,s=[];if(_.isArray(t)&&1===t.length){var i=t[0],o=i.$mailbox;return o.$deleteMessages([i]).then(function(e){var t=0;return _.find(n.$mailboxes,function(e){return e.id===o.id||(t+=e.getLength(),!1)}),t+e})}return _.forEach(t,function(e,t){if(e.length>0){var n=e[0].$mailbox.$deleteMessages(e);s.push(n)}}),e.$q.all(s)},e.prototype.$markOrUnMarkMessagesAsJunk=function(t){var n=[];return _.forEach(t,function(e,t){if(e.length>0){var s=e[0].$mailbox.$markOrUnMarkMessagesAsJunk(e);n.push(s)}}),e.$q.all(n)},e.prototype.$copyMessages=function(t,n){var s=[];return _.forEach(t,function(e,t){if(e.length>0){var i=e[0].$mailbox.$copyMessages(e,n);s.push(i)}}),e.$q.all(s)},e.prototype.$moveMessages=function(t,n){var s=[];return _.forEach(t,function(e,t){if(e.length>0){var i=e[0].$mailbox.$moveMessages(e,n);s.push(i)}}),e.$q.all(s)},e.prototype.$comact=function(){return!0}}(),function(){"use strict";e.$inject=["$window","$scope","$timeout","$q","$state","$mdDialog","$mdToast","stateAccounts","stateAccount","stateMailbox","sgHotkeys","encodeUriFilter","sgSettings","sgFocus","Dialog","Preferences","Account","Mailbox"];function e(e,t,n,s,i,o,a,r,c,u,d,h,g,f,m,p,$,b){var v,y=this,M=angular.element(e.document).find("title").attr("sg-default")||"SOGo",x=[];v={subject:"Subject",from:"From",date:"Date",size:"Size",arrival:"Order Received"},this.$onInit=function(){e.$mailboxController=y,this.service=b,this.accounts=r,this.account=c,this.selectedFolder=u,this.messageDialog=null,this.mode={search:!1,multiple:0},(n=x).push(d.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:y.searchMode})),n.push(d.createHotkey({key:l("hotkey_compose"),description:l("Write a new message"),callback:function(e){null===y.messageDialog&&y.newMessage(e)}})),n.push(d.createHotkey({key:l("hotkey_junk"),description:l("Mark the selected messages as junk"),callback:y.markOrUnMarkMessagesAsJunk})),n.push(d.createHotkey({key:"space",description:l("Toggle item"),callback:y.toggleMessageSelection})),n.push(d.createHotkey({key:"shift+space",description:l("Toggle range of items"),callback:y.toggleMessageSelection})),n.push(d.createHotkey({key:"up",description:l("View next item"),callback:w,preventInClass:["sg-mail-part"]})),n.push(d.createHotkey({key:"down",description:l("View previous item"),callback:I,preventInClass:["sg-mail-part"]})),n.push(d.createHotkey({key:"shift+up",description:l("Add next item to selection"),callback:E,preventInClass:["sg-mail-part"]})),n.push(d.createHotkey({key:"shift+down",description:l("Add previous item to selection"),callback:S,preventInClass:["sg-mail-part"]})),_.forEach(["backspace","delete"],function(e){n.push(d.createHotkey({key:e,description:l("Delete selected message or folder"),callback:y.confirmDeleteSelectedMessages}))}),_.forEach(n,function(e){d.registerHotkey(e)});var n;angular.element(e).on("beforeunload",C),t.$on("$destroy",function(){angular.element(e).off("beforeunload",C),_.forEach(x,function(e){d.deregisterHotkey(e)})}),t.$watch(function(){return y.selectedFolder.unseenCount},function(t){var n=M+" - ";t&&(n+="("+t+") "),n+=y.selectedFolder.$displayName,e.document.title=n})};function C(e){return y.selectedFolder.$compact()}this.centerIsClose=function(e){return this.selectedFolder.hasSelectedMessage()&&!!e},this.sort=function(e){if(!e)return v[y.service.$query.sort];y.selectedFolder.$filter({sort:e})},this.sortedBy=function(e){return b.$query.sort==e},this.ascending=function(){return b.$query.asc},this.searchMode=function(e){y.mode.search=!0,f("search"),e&&e.preventDefault()},this.cancelSearch=function(){y.mode.search=!1,y.selectedFolder.$filter().then(function(){y.selectedFolder.selectedMessage&&n(function(){y.selectedFolder.$topIndex=y.selectedFolder.uidsMap[y.selectedFolder.selectedMessage]})})},this.composeWindowEnabled=function(){return p.defaults.SOGoMailComposeWindowEnabled},this.newMessage=function(t,n){var s;null===y.messageDialog&&(n||"popup"==p.defaults.SOGoMailComposeWindow?function(){var t=[g.baseURL(),"UIxMailPopupView#!/Mail",y.account.id,h(h(y.selectedFolder.path)),"new"].join("/"),n=y.selectedFolder.$id()+"/"+Math.random(0,1e3);console.debug(t),e.open(t,n,["width=680","height=520","resizable=1","scrollbars=1","toolbar=0","location=0","directories=0","status=0","menubar=0","copyhistory=0"].join(","))}():(s=y.account.$newMessage(),y.messageDialog=o.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:y.account,stateMessage:s}}).catch(_.noop).finally(function(){y.messageDialog=null})))};function w(e){var t=y.selectedFolder.$selectedMessageIndex();return angular.isDefined(t)?(t--,y.selectedFolder.$topIndex>0&&y.selectedFolder.$topIndex--):(t=y.selectedFolder.getLength()-1,y.selectedFolder.$topIndex=y.selectedFolder.getLength()),t>-1&&y.selectMessage(y.selectedFolder.getItemAtIndex(t)),e.preventDefault(),t}function I(e){var t=y.selectedFolder.$selectedMessageIndex();return angular.isDefined(t)?(t++,y.selectedFolder.$topIndex=0&&y.toggleMessageSelection(e,y.selectedFolder.$messages[t])}function S(e){var t;y.selectedFolder.hasSelectedMessage()&&(t=I(e))>=0&&y.toggleMessageSelection(e,y.selectedFolder.$messages[t])}this.selectMessage=function(e){b.$virtualMode?i.go("mail.account.virtualMailbox.message",{mailboxId:h(e.$mailbox.path),messageId:e.uid}):i.go("mail.account.mailbox.message",{messageId:e.uid})},this.toggleMessageSelection=function(e,t){var n,s,i,o=y.selectedFolder;if(t||(t=o.$selectedMessage()),!t)return!0;if(t.selected=!t.selected,y.mode.multiple+=t.selected?1:-1,e.shiftKey&&o.$selectedCount()>1){for(s=(n=o.uidsMap[t.uid])-2;s>=0&&!o.$messages[s].selected;)s--;if(s<0)for(s=n+2;s=0&&s0&&(a-=1,s=y.selectedFolder.$messages[a]),t0&&(y.messageDialog=m.confirm(l("Confirmation"),l("Are you sure you want to delete the selected messages?"),{ok:l("Delete")}).then(function(){var e=y.selectedFolder.hasSelectedMessage();y.selectedFolder.$deleteMessages(t).then(function(t){b.$virtualMode?e&&i.go("mail.account.virtualMailbox"):F(e,t)},function(n){y.messageDialog=m.confirm(l("Warning"),l("The messages could not be moved to the trash folder. Would you like to delete them immediately?"),{ok:l("Delete")}).then(function(){y.selectedFolder.$deleteMessages(t,{withoutTrash:!0}).then(function(t){b.$virtualMode?e&&i.go("mail.account.virtualMailbox"):F(e,t)})})})}).finally(function(){y.messageDialog=null})),e.preventDefault()},this.markOrUnMarkMessagesAsJunk=function(){var e=y.selectedFolder.hasSelectedMessage(),t=y.selectedFolder.$selectedMessages();0===_.size(t)&&e&&(t=[y.selectedFolder.$selectedMessage()]),_.size(t)>0&&y.selectedFolder.$markOrUnMarkMessagesAsJunk(t).then(function(){var n="/"+y.account.id+"/folderINBOX";"junk"!=y.selectedFolder.type&&(n="/"+y.account.$getMailboxByType("junk").id),y.selectedFolder.$moveMessages(t,n).then(function(t){b.$virtualMode?e&&i.go("mail.account.virtualMailbox"):F(e,t)})})},this.copySelectedMessages=function(e){var t=y.selectedFolder.$selectedMessages();_.size(t)>0&&y.selectedFolder.$copyMessages(t,"/"+e).then(function(){a.show(a.simple().content(l("%{0} message(s) copied",y.selectedFolder.$selectedCount())).position("top right").hideDelay(2e3))})},this.moveSelectedMessages=function(e){var t=y.selectedFolder.hasSelectedMessage(),n=y.selectedFolder.$selectedMessages(),s=y.selectedFolder.$selectedCount();_.size(n)>0&&y.selectedFolder.$moveMessages(n,"/"+e).then(function(e){a.show(a.simple().content(l("%{0} message(s) moved",s)).position("top right").hideDelay(2e3)),b.$virtualMode?t&&i.go("mail.account.virtualMailbox"):F(t,e)})},this.selectAll=function(){var e=0;_.forEach(A(),function(t){for(var n=0,s=t.$messages.length;n0&&y.selectedFolder.$flagMessages(e,"\\Flagged","add").then(function(e){_.forEach(e,function(e){e.isflagged=!0})})},this.markSelectedMessagesAsUnread=function(){var e=y.selectedFolder.$selectedMessages();_.size(e)>0&&y.selectedFolder.$flagMessages(e,"seen","remove").then(function(e){_.forEach(e,function(e){e.isread&&e.$mailbox.unseenCount++,e.isread=!1})})},this.markSelectedMessagesAsRead=function(){var e=y.selectedFolder.$selectedMessages();_.size(e)>0&&y.selectedFolder.$flagMessages(e,"seen","add").then(function(e){_.forEach(e,function(e){e.isread||e.$mailbox.unseenCount--,e.isread=!0})})}}angular.module("SOGo.MailerUI").controller("MailboxController",e),t.$inject=["$delegate"];function t(e){return e[0].controller.prototype.resetScroll=function(){"messagesList"==this.$element.parent().attr("id")?this.updateSize():this.scrollTo(0)},e}angular.module("material.components.virtualRepeat").decorator("mdVirtualRepeatContainerDirective",t)}(),function(){"use strict";e.$inject=["$scope","$state","$transitions","$timeout","$window","$mdMedia","$mdSidenav","$mdDialog","$mdToast","sgConstant","sgFocus","encodeUriFilter","Dialog","sgSettings","sgHotkeys","Account","Mailbox","VirtualMailbox","User","Preferences","stateAccounts"];function e(e,t,n,s,i,o,a,r,c,u,d,h,g,f,m,p,$,b,v,y,M){var x,C,w=this,I=[];this.$onInit=function(){this.service=$,this.accounts=M,this.currentSearchParam="",this.search={options:{"":"",subject:l("Enter Subject"),from:l("Enter From"),to:l("Enter To"),cc:l("Enter Cc"),body:l("Enter Body")},subfolders:1,match:"AND",params:[]},this.showSubscribedOnly=y.defaults.SOGoMailShowSubscribedFoldersOnly,this.refreshUnseenCount(),t=I,_.forEach(["backspace","delete"],function(e){t.push(m.createHotkey({key:e,description:l("Delete selected message or folder"),callback:function(){$.selectedFolderController&&$.selectedFolder&&$.selectedFolder.$isEditable&&!$.selectedFolder.hasSelectedMessage()&&$.selectedFolderController.confirmDelete($.selectedFolder)}}))}),_.forEach(t,function(e){m.registerHotkey(e)});var t;e.$on("$destroy",function(){_.forEach(I,function(e){m.deregisterHotkey(e)})})};this.hideAdvancedSearch=function(){w.service.$virtualPath=!1,w.service.$virtualMode=!1,x=w.accounts[0],C=w.searchPreviousMailbox,t.go("mail.account.mailbox",{accountId:x.id,mailboxId:h(C.path)})},this.toggleAdvancedSearch=function(){if($.selectedFolder.$isLoading)w.virtualMailbox.stopSearch();else{var e,n=[],s=function(e){_.forEach(e,function(e){e.isNoSelect()||n.push(e),e.children&&e.children.length>0&&s(e.children)})};w.virtualMailbox=new b(w.accounts[0]),$.$virtualMode||(w.searchPreviousMailbox=$.selectedFolder),$.selectedFolder=w.virtualMailbox,$.$virtualMode=!0,$.$virtualPath.length?(e=w.accounts[0].$getMailboxByPath($.$virtualPath),n.push(e),w.search.subfolders&&e.children.length&&s(e.children)):n=_.filter(w.accounts[0].$flattenMailboxes({all:!0}),function(e){return!e.isNoSelect()}),w.virtualMailbox.setMailboxes(n),w.virtualMailbox.startSearch(w.search.match,w.search.params),"mail.account.virtualMailbox"!=t.$current.name&&t.go("mail.account.virtualMailbox",{accountId:w.accounts[0].id})}},this.addSearchParam=function(e){return this.currentSearchParam=e,d("advancedSearch"),!1},this.newSearchParam=function(e){if(e.length&&this.currentSearchParam.length){var t=0,n=this.currentSearchParam;return e.startsWith("!")&&(t=1,e=e.substring(1).trim()),this.currentSearchParam="",{searchBy:n,searchInput:e,negative:t}}},this.toggleAccountState=function(e){e.$expanded=!e.$expanded,e.$flattenMailboxes({reload:!0,saveState:!0})},this.subscribe=function(e){r.show({templateUrl:e.id+"/subscribe",controller:t,controllerAs:"subscriptions",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcAccount:e}}).finally(function(){e.$getMailboxes({reload:!0})}),t.$inject=["$scope","$mdDialog","srcAccount"];function t(e,t,n){var s=this;s.loading=!0,s.filter={name:""},s.account=new p({id:n.id,name:n.name}),s.close=function(){t.hide()},s.account.$getMailboxes({reload:!0,all:!0}).then(function(){s.loading=!1})}},this.showAdvancedSearch=function(){$.$virtualPath="",o(u["gt-md"])||a("left").close()},this.newFolder=function(e){g.prompt(l("New Folder..."),l("Enter the new name of your folder")).then(function(t){e.$newMailbox(e.id,t).then(function(){},function(e,n){g.alert(l('An error occured while creating the mailbox "%{0}".',t),l(e.error))})})},this.delegate=function(e){r.show({templateUrl:e.id+"/delegation",controller:t,controllerAs:"delegate",clickOutsideToClose:!0,escapeToClose:!0,locals:{User:v,account:e}}),t.$inject=["$scope","$mdDialog","User","account"];function t(e,t,n,s){var i=this;i.users=s.delegates,i.account=s,i.userToAdd="",i.searchText="",i.userFilter=function(e){return n.$filter(e,s.delegates)},i.closeModal=function(){t.hide()},i.removeUser=function(e){s.$removeDelegate(e.uid).catch(function(e,t){g.alert(l("Warning"),l("An error occured please try again."))})},i.addUser=function(e){e&&s.$addDelegate(e).then(function(){i.userToAdd="",i.searchText=""},function(e){g.alert(l("Warning"),e)})}}},this.refreshUnseenCount=function(){var e,t=i.unseenCountFolders;_.forEach(w.accounts,function(e){_.includes(t,e.id+"/folderINBOX")||t.push(e.id+"/folderINBOX"),_.forEach(e.$$flattenMailboxes,function(e){angular.isDefined(e.unseenCount)&&!_.includes(t,e.id)&&t.push(e.id)})}),p.$$resource.post("","unseenCount",{mailboxes:t}).then(function(e){_.forEach(w.accounts,function(t){_.forEach(t.$$flattenMailboxes,function(t){e[t.id]&&(t.unseenCount=e[t.id])})})}),(e=y.defaults.SOGoRefreshViewCheck)&&"manually"!=e&&s(w.refreshUnseenCount,1e3*e.timeInterval())},this.isDroppableFolder=function(e,t){return t.id!=e.id&&!t.isNoSelect()},this.dragSelectedMessages=function(e,n,s){var i,o,a,r,u,d;i="/"+n.id,0===(o=e.$selectedMessages()).length&&(o=[e.$selectedMessage()]),a=_.map(o,"uid"),r=e.selectedMessage&&a.indexOf(e.selectedMessage)>=0,"copy"==s?(u=e.$copyMessages(o,i),d=l("%{0} message(s) copied",o.length)):(u=e.$moveMessages(o,i),d=l("%{0} message(s) moved",o.length)),u.then(function(){r&&t.go("mail.account.mailbox"),c.show(c.simple().content(d).position("top right").hideDelay(2e3))})}}angular.module("SOGo.MailerUI").controller("MailboxesController",e)}(),function(){"use strict";e.$inject=["$window","$scope","$state","$mdMedia","$mdDialog","sgConstant","stateAccounts","stateAccount","stateMailbox","stateMessage","sgHotkeys","encodeUriFilter","sgSettings","ImageGallery","sgFocus","Dialog","Preferences","Calendar","Component","Account","Mailbox","Message"];function e(e,t,n,s,i,o,a,r,c,u,d,h,g,f,m,p,$,b,v,y,M,x){var C=this,w=[];this.$onInit=function(){e.$messageController=C,f.setMessage(u),this.$state=n,this.accounts=a,this.account=r,this.mailbox=c,this.message=u,this.service=x,this.tags={searchText:"",selected:""},this.showFlags=u.flags&&u.flags.length>0,this.$showDetailedRecipients=!1,this.showRawSource=!1,(s=w).push(d.createHotkey({key:l("hotkey_reply"),description:l("Reply to the message"),callback:E(angular.bind(C,C.reply))})),s.push(d.createHotkey({key:l("hotkey_replyall"),description:l("Reply to sender and all recipients"),callback:E(angular.bind(C,C.replyAll))})),s.push(d.createHotkey({key:l("hotkey_forward"),description:l("Forward selected message"),callback:E(angular.bind(C,C.forward))})),s.push(d.createHotkey({key:l("hotkey_flag"),description:l("Flagged"),callback:E(angular.bind(u,u.toggleFlag))})),_.forEach(["backspace","delete"],function(e){s.push(d.createHotkey({key:e,callback:E(function(e){0===C.mailbox.$selectedCount()&&C.deleteMessage(),e.preventDefault()})}))}),_.forEach(s,function(e){d.registerHotkey(e)});var s;e.opener&&"$mailboxController"in e.opener?(t.$watchCollection(function(){return C.message.flags},function(e,t){var n;(e||t)&&(n=S()).messageCtrl&&n.messageCtrl.service.$timeout(function(){n.messageCtrl.showFlags=!0,n.messageCtrl.message.flags=e})}),t.$watch(function(){return C.message.isflagged},function(e,t){var n=S();n.mailboxCtrl&&n.mailboxCtrl.service.$timeout(function(){_.find(n.mailboxCtrl.selectedFolder.$messages,{uid:C.message.uid}).isflagged=e})})):t.$watchCollection(function(){return C.message.flags},function(e,t){var n,s,i;(e||t)&&(n=e||[],s=t||[],_.forEach(n,function(e,t){angular.isObject(e)&&(n[t]=e.name)}),n.length>s.length?(i=_.difference(n,s),_.forEach(i,function(e){C.message.addTag(e)})):n.length0&&(t.mailbox.messageDialog=arguments[0]),t.mailbox.messageDialog):null}function E(e){return function(){if(null===I())return e.apply(C,arguments)}}function S(){var t,n,s={};return e.opener&&"$mailboxController"in e.opener&&"selectedFolder"in e.opener.$mailboxController&&e.opener.$mailboxController.selectedFolder.$id()==c.$id()&&(n=e.opener.$mailboxController,s.mailboxCtrl=n,"$messageController"in e.opener&&e.opener.$messageController.message.uid==u.uid&&(t=e.opener.$messageController,s.messageCtrl=t)),s}this.addFlags=function(e){e.stopPropagation(),e.preventDefault(),this.showFlags=!0,m("flags")},this.toggleDetailedRecipients=function(e){this.$showDetailedRecipients=!this.$showDetailedRecipients,e.stopPropagation(),e.preventDefault()},this.filterMailtoLinks=function(e){var t;"A"==e.target.tagName&&"href"in e.target.attributes&&(t=e.target.attributes.href.value,/^mailto:([^\?]+)/.exec(t)&&(delete e.target.attributes.target,this.newMessage(e,t)))},this.deleteMessage=function(){var e,t,i,a,r,l=S();l.messageCtrl?(e=l.mailboxCtrl.selectedFolder,t=l.messageCtrl.message,i=l.messageCtrl.$state):(e=c,t=u,i=n),M.$virtualMode&&(e=M.selectedFolder),e.$deleteMessages([t]).then(function(n){var l=n;if(t=null,angular.isDefined(i)){n>0&&(l-=1,a=e.getItemAtIndex(l)),ne.$lastVisibleIndex&&(e.$topIndex=l-(e.$lastVisibleIndex-e.$topIndex))):i.go("mail.account.mailbox").then(function(){t=null,delete e.selectedMessage})}catch(e){}}C.closePopup()})};function A(e,t){null===I()&&I(i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:C.account,stateMessage:t}}).catch(_.noop).finally(function(){I(null),C.closePopup()}))}this._showMailEditorInPopup=function(e){return!g.isPopup&&"popup"==$.defaults.SOGoMailComposeWindow&&(this.openInPopup(e),!0)},this.close=function(){var e=M.$virtualMode?"mail.account.virtualMailbox":"mail.account.mailbox";n.go(e).then(function(){C.message=null,delete c.selectedMessage})},this.reply=function(e){this._showMailEditorInPopup("reply")||A(e,this.message.$reply())},this.replyAll=function(e){this._showMailEditorInPopup("replyall")||A(e,this.message.$replyAll())},this.forward=function(e){this._showMailEditorInPopup("forward")||A(e,this.message.$forward())},this.edit=function(e){this._showMailEditorInPopup("edit")||this.message.$editableContent().then(function(){A(e,C.message)})},this.openInPopup=function(t){var n=[g.baseURL(),"UIxMailPopupView#!/Mail",this.message.accountId,h(h(this.message.$mailbox.path)),this.message.uid].join("/"),s=this.message.$absolutePath();t&&(n+="/"+t),e.open(n,s,["width=680","height=520","resizable=1","scrollbars=1","toolbar=0","location=0","directories=0","status=0","menubar=0","copyhistory=0"].join(","))},this.closePopup=function(){e.document.body.classList.contains("popup")&&e.close()},this.newMessage=function(e,t){e.stopPropagation(),e.preventDefault(),this.account.$newMessage({mailto:t}).then(function(t){A(e,t)})},this.toggleRawSource=function(e){this.showRawSource||this.message.$rawSource?this.showRawSource=!this.showRawSource:x.$$resource.post(this.message.id,"viewsource").then(function(e){C.message.$rawSource=e,C.showRawSource=!0})},this.print=function(t){e.print()},this.convertToEvent=function(e){return F(e,"appointment")},this.convertToTask=function(e){return F(e,"task")};function F(e,t){C.message.$plainContent().then(function(n){var s={pid:b.$defaultCalendar(),type:t,summary:n.subject,comment:n.content},o=new v(s),a=[g.activeUser("folderURL"),"Calendar","UIx"+t.capitalize()+"EditorTemplate"].join("/");return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:a,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:o}})})}}angular.module("SOGo.MailerUI").controller("MessageController",e)}(),function(){"use strict";e.$inject=["$scope","$window","$stateParams","$mdConstant","$mdUtil","$mdDialog","$mdToast","FileUploader","stateAccount","stateMessage","encodeUriFilter","$timeout","Dialog","AddressBook","Card","Preferences"];function e(e,t,n,s,i,o,a,r,c,u,d,h,g,f,m,p){var $=this;this.$onInit=function(){$.addRecipient=S,$.autocomplete={to:{},cc:{},bcc:{}},$.autosave=null,$.autosaveDrafts=A,$.cancel=x,$.contactFilter=E,$.isFullscreen=!1,$.hideBcc=0===u.editable.bcc.length,$.hideCc=0===u.editable.cc.length,$.identities=_.uniq(_.map(c.identities,"full")),$.message=u,$.recipientSeparatorKeys=[s.KEY_CODE.ENTER,s.KEY_CODE.TAB,s.KEY_CODE.COMMA,s.KEY_CODE.SEMICOLON],$.removeAttachment=M,$.save=C,$.send=w,$.sendState=!1,$.toggleFullscreen=I,$.uploader=new r({url:$.message.$absolutePath({asDraft:!0,withResourcePath:!0})+"/save",autoUpload:!0,alias:"attachments",removeAfterUpload:!1,onSuccessItem:function(e,t,n,s){$.message.$setUID(t.uid),$.message.$reload({asDraft:!1}),e.inlineUrl=t.lastAttachmentAttrs[0].url},onCancelItem:function(e,t,n,s){$.message.$deleteAttachment(e.file.name),this.removeFromQueue(e)},onErrorItem:function(e,t,n,s){a.show(a.simple().content(l('Error while uploading the file "%{0}":',e.file.name)+" "+(t.message?l(t.message):"")).position("top right").action(l("OK")).hideDelay(!1)),this.removeFromQueue(e)}}),p.defaults.SOGoMailAutoSave&&($.autosave=h($.autosaveDrafts,1e3*p.defaults.SOGoMailAutoSave*60)),$.localeCode=p.defaults.LocaleCode,e.$on("$destroy",function(){$.uploader.destroy()}),"reply"==n.actionName?u.$reply().then(function(e){$.message=e,$.hideCc=!e.editable.cc||0===e.editable.cc.length,$.hideBcc=!e.editable.bcc||0===e.editable.bcc.length,v()}):"replyall"==n.actionName?u.$replyAll().then(function(e){$.message=e,$.hideCc=!e.editable.cc||0===e.editable.cc.length,$.hideBcc=!e.editable.bcc||0===e.editable.bcc.length,v()}):"forward"==n.actionName?u.$forward().then(function(e){$.message=e,v(),y()}):angular.isDefined(u)&&($.message=u,v(),y())};function b(){var e,n={};try{t.opener&&"$mailboxController"in t.opener&&"selectedFolder"in t.opener.$mailboxController&&("draft"==t.opener.$mailboxController.selectedFolder.type?(n.draftMailboxCtrl=t.opener.$mailboxController,"$messageController"in t.opener&&t.opener.$messageController.message.uid==u.uid&&(n.draftMessageCtrl=t.opener.$messageController)):u.origin&&(e=u.origin.message,t.opener.$mailboxController.selectedFolder.$id()==e.$mailbox.$id()&&(n.originMailboxCtrl=t.opener.$mailboxController)))}catch(e){}return n}function v(){$.uploader.url=$.message.$absolutePath({asDraft:!0,withResourcePath:!0})+"/save"}function y(){var e,t,n,s=$.message.editable.attachmentAttrs;if(s)for(e=0;e0))return n.path==e;for(var s=0;s0){if(t(i))return!0}else if(i.path==e)return!0}})(this.folder)},this.moveFolder=function(t){this.folder.$move(t),e.close()}}}}angular.module("SOGo.MailerUI").controller("sgMailboxListItemController",e).directive("sgMailboxListItem",function(){return{restrict:"C",require:{accountController:"^^sgAccountSection"},scope:{},bindToController:{mailbox:"=sgMailbox"},template:[' ',' '," {{$ctrl.mailbox.$icon}} ","
",' ',' ',' ',"
",' ',' '," ",' '].join(""),controller:"sgMailboxListItemController",controllerAs:"$ctrl"}})}(),function(){e.$inject=["$scope","$element","Mailbox"];function e(e,t,n){var s=this;this.$onInit=function(){var t=["uid","isread","isflagged","flags","subject"];this.MailboxService=n,"draft"==n.selectedFolder.type&&t.push("subject"),e.$watch(function(){return s.message?[_.pick(s.message,t)]:null},function(e,t){s.message&&s.onUpdate()},!0)},this.onUpdate=function(){this.message.isread?t.removeClass("unread"):t.addClass("unread"),n.selectedFolder.isSelectedMessage(this.message.uid,this.message.$mailbox.path)?t.addClass("md-default-theme md-accent md-bg md-hue-2"):t.removeClass("md-default-theme md-accent md-bg md-hue-2")},this.setVisibility=function(e,t){t?e.classList.remove("ng-hide"):e.classList.add("ng-hide")}}angular.module("SOGo.MailerUI").controller("sgMessageListItemController",e).directive("sgMessageListItem",function(){return{restrict:"C",scope:{},bindToController:{message:"=sgMessage"},controller:"sgMessageListItemController"}})}(),function(){e.$inject=["$scope","$element","$parse","$state","$mdUtil","$mdToast","Mailbox","Message","encodeUriFilter"];function e(e,t,n,s,i,o,a,r,l){var c=this;this.$postLink=function(){var n,s,o,l;this.parentController=e.parentController,o=this.parentController.onUpdate,l=this.parentController.setVisibility,_.forEach(t.find("div"),function(e){e.classList.contains("sg-tile-content")?n=angular.element(e):e.classList.contains("sg-tile-icons")&&(s=angular.element(e))}),this.priorityIconElement=n.find("md-icon")[0],a.$virtualMode&&(this.mailboxNameElement=n.find("span")[0],this.mailboxNameElement.classList.remove("ng-hide")),this.senderElement=n.find("span")[1],_.forEach(n.find("div"),function(e){e.classList.contains("sg-tile-subject")?c.subjectElement=e:e.classList.contains("sg-tile-size")?c.sizeElement=e:e.classList.contains("sg-tile-date")&&(c.dateElement=e)}),_.forEach(s.find("md-icon"),function(e){"star"==e.textContent?c.flagIconElement=e:"reply"==e.textContent?c.answerIconElement=e:"forward"==e.textContent?c.forwardIconElement=e:"attach_file"==e.textContent&&(c.attachmentIconElement=e)}),this.parentController.onUpdate=function(){var e;c.message=c.parentController.message;var n=i.nodesToArray(t[0].querySelectorAll(".sg-category"));for(_.forEach(n,function(e){t[0].removeChild(e)}),e=0;e');a.css("left",3*e+"px"),a.css("background-color",c.service.$tags[s][1]),t.prepend(a)}}c.mailboxNameElement&&(c.mailboxNameElement.innerHTML=c.message.$mailbox.$displayName),"sent"==c.MailboxService.selectedFolder.type?c.senderElement.innerHTML=c.message.$shortAddress("to").encodeEntities():c.senderElement.innerHTML=c.message.$shortAddress("from").encodeEntities(),c.message.priority&&c.message.priority.level<3?(c.priorityIconElement.classList.remove("ng-hide"),c.message.priority.level<2?c.priorityIconElement.classList.add("md-warn"):c.priorityIconElement.classList.remove("md-warn")):c.priorityIconElement.classList.add("ng-hide"),c.subjectElement.innerHTML=c.message.subject.encodeEntities(),c.sizeElement.innerHTML=c.message.size,c.dateElement.innerHTML=c.message.relativedate,l(c.flagIconElement,c.message.isflagged),l(c.answerIconElement,c.message.isanswered),l(c.forwardIconElement,c.message.isforwarded),l(c.attachmentIconElement,c.message.hasattachment),angular.bind(c.parentController,o)()},this.service=r,this.MailboxService=a}}angular.module("SOGo.MailerUI").controller("sgMessageListItemMainController",e).directive("sgMessageListItemMain",function(){return{restrict:"C",require:"^^sgMessageListItem",scope:{},template:['','
',"
",' \x3c!-- mailbox --\x3e ',' error '," \x3c!-- sender or recipient --\x3e ","
",'
\x3c!-- date --\x3e
',"
",'
','
\x3c!-- subject --\x3e
','
\x3c!-- size --\x3e
',"
","
",'',' star ',' reply ',' forward ',' attach_file ',"
",'',' \x3c!-- message loading progress --\x3e ',"
"].join(""),link:function(e,t,n,s){e.parentController=s},controller:"sgMessageListItemMainController",controllerAs:"$ctrl"}})}(),function(){"use strict";e.$inject=["$element","ImageGallery"];function e(e,t){var n=this;this.$postLink=function(){t.registerImage(e),e.on("click",this.showImage)},this.showImage=function(e){"IMG"==e.target.tagName&&t.showGallery(e,n.partIndex)}}angular.module("SOGo.MailerUI").directive("sgZoomableImage",function(){return{restrict:"A",bindToController:{partIndex:"=sgZoomableImage"},controller:e}})}();
+!function(){"use strict";function c(e){"function"!=typeof e.then&&(angular.extend(this,e),_.forEach(this.identities,function(e){e.fullName?e.full=e.fullName+" <"+e.email+">":e.full="<"+e.email+">"}),c.$log.debug("Account: "+JSON.stringify(e,void 0,2)))}c.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Mailbox","Message",function(e,t,n,s,i,o,a,r){return angular.extend(c,{$q:e,$timeout:t,$log:n,$$resource:new i(s.activeUser("folderURL")+"Mail",s.activeUser()),$Preferences:o,$Mailbox:a,$Message:r}),c}];try{angular.module("SOGo.MailerUI")}catch(e){angular.module("SOGo.MailerUI",["SOGo.Common"])}angular.module("SOGo.MailerUI").factory("Account",c.$factory),c.$findAll=function(e){return e?c.$unwrapCollection(e):c.$$resource.fetch("","mailAccounts").then(function(e){return c.$unwrapCollection(e)})},c.$unwrapCollection=function(e){var n=[];return angular.forEach(e,function(e,t){e.id=t,n[t]=new c(e)}),c.$accounts=n},c.prototype.getLength=function(){return this.$flattenMailboxes().length},c.prototype.getItemAtIndex=function(e){var t;return t=this.$flattenMailboxes(),0<=e&&ee.uids.length-1)&&(r.$topIndex=0),r.init(e),r.uids&&(c.$log.debug("unwrapping "+r.uids.length+" messages"),s=_.invokeMap(r.headers[0],"toLowerCase"),r.headers.splice(0,1),r.threaded&&(o=r.uids[0],r.uids.splice(0,1)),_.reduce(r.uids,function(e,t,n){var s,i;return s=r.threaded?_.zipObject(o,t):{uid:t.toString()},r.uidsMap[s.uid]=n,(i=new c.$Message(r.$account.id,r,s,!0)).selected=-1",e.name.length<10?e.shortname=e.name:e.name.split(" ").length&&(e.shortname=_.first(_.last(e.name.split(/, */)).split(/ +/)).replace("'",""))):e.email&&(e.full="<"+e.email+">",e.shortname=e.email.split("@")[0]),e.image=r.$avatar(e.email,32),0<=_.indexOf(n,e.email)&&(e.shortname=l("me"))})})},r.prototype.$shortRecipients=function(n){var t=this,s=[],i=0,o=0;return _.forEach(["to","cc","bcc"],function(e){o+=t[e]?t[e].length:0,_.forEach(t[e],function(e,t){i"}),s={to:e},_.forEach(["subject","body"],function(e){var t=new RegExp(e+"=([^&]+)");e="body"==e?"text":e,(i=t.exec(n))&&(s[e]=decodeURIComponent(i[1]))}),_.forEach(["cc","bcc"],function(e){var t=new RegExp(e+"=([^&]+)");(i=t.exec(n))&&(s[e]=_.map(decodeURIComponent(i[1]).split(","),function(e){return"<"+e.trim()+">"}))}),angular.extend(this.editable,s))},r.prototype.$reply=function(){return this.$newDraft("reply")},r.prototype.$replyAll=function(){return this.$newDraft("replyall")},r.prototype.$forward=function(){return this.$newDraft("forward")},r.prototype.$newDraft=function(s){var i=this;return r.$$resource.fetch(this.$absolutePath(),s).then(function(e){var t,n;return r.$log.debug("New "+s+": "+JSON.stringify(e,void 0,2)),t=i.$mailbox.$account.$getMailboxByPath(e.mailboxPath),n=new r(e.accountId,t,e),r.$$resource.fetch(n.$absolutePath({asDraft:!0}),"edit").then(function(e){r.$log.debug("New "+s+": "+JSON.stringify(e,void 0,2)+" original UID: "+i.uid);var t=r.$Preferences.defaults.AuxiliaryMailAccounts[i.$mailbox.$account.id];return t.security&&(t.security.alwaysSign&&(e.sign=!0),t.security.alwaysEncrypt&&(e.encrypt=!0)),angular.extend(n.editable,e),n.origin={message:i,action:s},n})})},r.prototype.$save=function(){var t=this,e=this.editable;return r.$log.debug("save = "+JSON.stringify(e,void 0,2)),r.$$resource.save(this.$absolutePath({asDraft:!0}),e).then(function(e){r.$log.debug("save = "+JSON.stringify(e,void 0,2)),t.$setUID(e.uid),t.$reload(),t.isNew=!1})},r.prototype.$send=function(){var t=this,e=angular.copy(this.editable);return r.$log.debug("send = "+JSON.stringify(e,void 0,2)),r.$$resource.post(this.$absolutePath({asDraft:!0}),"send",e).then(function(e){return"success"==e.status?(angular.isDefined(t.origin)&&(t.origin.action.startsWith("reply")?t.origin.message.isanswered=!0:"forward"==t.origin.action&&(t.origin.message.isforwarded=!0)),e):r.$q.reject(e.data)})},r.prototype.$unwrap=function(e){var t=this;return this.$loaded=r.STATUS.DELAYED_LOADING,r.$timeout(function(){t.$loaded!=r.STATUS.LOADED&&(t.$loaded=r.STATUS.LOADING)},r.STATUS.DELAYED_MS),this.$futureMessageData=e.then(function(e){return 0===t.isread&&(t.isread=!0,t.$mailbox.unseenCount--),r.$timeout(function(){return delete t.$parts,t.$loaded=r.STATUS.LOADED,t.init(e),t})}),this.$futureMessageData},r.prototype.$omit=function(e){var n={},s=e&&e.privateAttributes;return angular.forEach(this,function(e,t){("constructor"!=t&&"$"!=t[0]||s)&&(n[t]=e)}),n},r.prototype.download=function(){var e,t;return e={uids:[this.uid]},t={filename:this.subject+".zip"},r.$$resource.download(this.$mailbox.id,"saveMessages",e,t)},r.prototype.downloadAttachments=function(){var e;return e={filename:l("attachments")+"-"+this.uid+".zip"},r.$$resource.download(this.$absolutePath(),"archiveAttachments",null,e)}}(),function(){"use strict";function h(){this.show=!1,this.message=null,this.elements=[]}h.$factory=["$document","$timeout","$mdPanel","sgHotkeys",function(e,t,n,s){return angular.extend(h,{$document:e,$timeout:t,$mdPanel:n,sgHotkeys:s}),new h}],h.prototype.setMessage=function(e){this.message=e},h.prototype.registerImage=function(e){this.elements.push(e)},h.prototype.registerHotkeys=function(e){this.keys=[h.sgHotkeys.createHotkey({key:"left",description:l("View previous item"),callback:angular.bind(e,e.previousImage)}),h.sgHotkeys.createHotkey({key:"right",description:l("View next item"),callback:angular.bind(e,e.nextImage)})],_.forEach(this.keys,function(e){h.sgHotkeys.registerHotkey(e)})},h.prototype.showGallery=function(e,t){var n=this,s=h.$mdPanel,i=angular.element(this.message.$content()[t].content).find("img")[0].src,o=_.filter(this.message.attachmentAttrs,function(e){return 0===e.mimetype.indexOf("image/")}),a=_.findIndex(o,function(e){return 0<=e.url.indexOf(i)});angular.element(h.$document[0].body).addClass("sg-image-gallery-backdrop");var r=s.newPanelPosition().absolute(),c=s.newPanelAnimation().openFrom(e.target).duration(100).withAnimation(s.animation.FADE),u={attachTo:angular.element(document.body),locals:{lastIndex:o.length-1,images:o,selectedIndex:a,selectedImage:o[a]},bindToController:!0,controller:d,controllerAs:"$panelCtrl",position:r,animation:c,targetEvent:e,fullscreen:!0,hasBackdrop:!0,template:['',' ",' ','
'," navigate_before "," ",'
','
'," navigate_next "," ","
",' ','
','
',"
","
"," "].join(""),trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0,onOpenComplete:function(){n.show=!0,_.forEach(h.$document.find("sg-image-gallery")[0].getElementsByClassName("sg-image-thumbnail"),function(e){var t=e.children[0];angular.element(t).one("load",function(){t.naturalWidths.length?(i=_.difference(n,s),_.forEach(i,function(e){C.message.addTag(e)})):n.lengthn.$lastVisibleIndex&&(n.$topIndex=t-(n.$lastVisibleIndex-n.$topIndex))):i.go("mail.account.mailbox").then(function(){s=null,delete n.selectedMessage})}catch(e){}}C.closePopup()})},this._showMailEditorInPopup=function(e){return!f.isPopup&&"popup"==$.defaults.SOGoMailComposeWindow&&(this.openInPopup(e),!0)},this.close=function(){var e=M.$virtualMode?"mail.account.virtualMailbox":"mail.account.mailbox";r.go(e).then(function(){C.message=null,delete d.selectedMessage})},this.reply=function(e){this._showMailEditorInPopup("reply")||A(e,this.message.$reply())},this.replyAll=function(e){this._showMailEditorInPopup("replyall")||A(e,this.message.$replyAll())},this.forward=function(e){this._showMailEditorInPopup("forward")||A(e,this.message.$forward())},this.edit=function(e){this._showMailEditorInPopup("edit")||this.message.$editableContent().then(function(){A(e,C.message)})},this.openInPopup=function(e){var t=[f.baseURL(),"UIxMailPopupView#!/Mail",this.message.accountId,g(g(this.message.$mailbox.path)),this.message.uid].join("/"),n=this.message.$absolutePath();e&&(t+="/"+e),s.open(t,n,["width=680","height=520","resizable=1","scrollbars=1","toolbar=0","location=0","directories=0","status=0","menubar=0","copyhistory=0"].join(","))},this.closePopup=function(){s.document.body.classList.contains("popup")&&s.close()},this.newMessage=function(t,e){t.stopPropagation(),t.preventDefault(),this.account.$newMessage({mailto:e}).then(function(e){A(t,e)})},this.toggleRawSource=function(e){this.showRawSource||this.message.$rawSource?this.showRawSource=!this.showRawSource:x.$$resource.post(this.message.id,"viewsource").then(function(e){C.message.$rawSource=e,C.showRawSource=!0})},this.print=function(e){s.print()},this.convertToEvent=function(e){return F(e,"appointment")},this.convertToTask=function(e){return F(e,"task")}}e.$inject=["$window","$scope","$state","$mdMedia","$mdDialog","sgConstant","stateAccounts","stateAccount","stateMailbox","stateMessage","sgHotkeys","encodeUriFilter","sgSettings","ImageGallery","sgFocus","Dialog","Preferences","Calendar","Component","Account","Mailbox","Message"],angular.module("SOGo.MailerUI").controller("MessageController",e)}(),function(){"use strict";function e(e,s,t,n,i,o,a,r,c,u,d,h,g,f,m,p){var $=this;function b(){var e,t={};try{s.opener&&"$mailboxController"in s.opener&&"selectedFolder"in s.opener.$mailboxController&&("draft"==s.opener.$mailboxController.selectedFolder.type?(t.draftMailboxCtrl=s.opener.$mailboxController,"$messageController"in s.opener&&s.opener.$messageController.message.uid==u.uid&&(t.draftMessageCtrl=s.opener.$messageController)):u.origin&&(e=u.origin.message,s.opener.$mailboxController.selectedFolder.$id()==e.$mailbox.$id()&&(t.originMailboxCtrl=s.opener.$mailboxController)))}catch(e){}return t}function v(){$.uploader.url=$.message.$absolutePath({asDraft:!0,withResourcePath:!0})+"/save"}function y(){var e,t,n,s=$.message.editable.attachmentAttrs;if(s)for(e=0;e',' '," {{$ctrl.mailbox.$icon}} "," ",' ',' ',' ',"
",' ',' '," ",' '].join(""),controller:"sgMailboxListItemController",controllerAs:"$ctrl"}})}(),function(){function e(t,e,n){var s=this;this.$onInit=function(){var e=["uid","isread","isflagged","flags","subject"];"draft"==(this.MailboxService=n).selectedFolder.type&&e.push("subject"),t.$watch(function(){return s.message?[_.pick(s.message,e)]:null},function(e,t){s.message&&s.onUpdate()},!0)},this.onUpdate=function(){this.message.isread?e.removeClass("unread"):e.addClass("unread"),n.selectedFolder.isSelectedMessage(this.message.uid,this.message.$mailbox.path)?e.addClass("md-default-theme md-accent md-bg md-hue-2"):e.removeClass("md-default-theme md-accent md-bg md-hue-2")},this.setVisibility=function(e,t){t?e.classList.remove("ng-hide"):e.classList.add("ng-hide")}}e.$inject=["$scope","$element","Mailbox"],angular.module("SOGo.MailerUI").controller("sgMessageListItemController",e).directive("sgMessageListItem",function(){return{restrict:"C",scope:{},bindToController:{message:"=sgMessage"},controller:"sgMessageListItemController"}})}(),function(){function e(e,a,t,n,r,s,l,c,i){var u=this;this.$postLink=function(){var t,n,i,o;this.parentController=e.parentController,i=this.parentController.onUpdate,o=this.parentController.setVisibility,_.forEach(a.find("div"),function(e){e.classList.contains("sg-tile-content")?t=angular.element(e):e.classList.contains("sg-tile-icons")&&(n=angular.element(e))}),this.priorityIconElement=t.find("md-icon")[0],l.$virtualMode&&(this.mailboxNameElement=t.find("span")[0],this.mailboxNameElement.classList.remove("ng-hide")),this.senderElement=t.find("span")[1],_.forEach(t.find("div"),function(e){e.classList.contains("sg-tile-subject")?u.subjectElement=e:e.classList.contains("sg-tile-size")?u.sizeElement=e:e.classList.contains("sg-tile-date")&&(u.dateElement=e)}),_.forEach(n.find("md-icon"),function(e){"star"==e.textContent?u.flagIconElement=e:"reply"==e.textContent?u.answerIconElement=e:"forward"==e.textContent?u.forwardIconElement=e:"attach_file"==e.textContent&&(u.attachmentIconElement=e)}),this.parentController.onUpdate=function(){var e;u.message=u.parentController.message;var t=r.nodesToArray(a[0].querySelectorAll(".sg-category"));for(_.forEach(t,function(e){a[0].removeChild(e)}),e=0;e');s.css("left",3*e+"px"),s.css("background-color",u.service.$tags[n][1]),a.prepend(s)}}u.mailboxNameElement&&(u.mailboxNameElement.innerHTML=u.message.$mailbox.$displayName),"sent"==u.MailboxService.selectedFolder.type?u.senderElement.innerHTML=u.message.$shortAddress("to").encodeEntities():u.senderElement.innerHTML=u.message.$shortAddress("from").encodeEntities(),u.message.priority&&u.message.priority.level<3?(u.priorityIconElement.classList.remove("ng-hide"),u.message.priority.level<2?u.priorityIconElement.classList.add("md-warn"):u.priorityIconElement.classList.remove("md-warn")):u.priorityIconElement.classList.add("ng-hide"),u.subjectElement.innerHTML=u.message.subject.encodeEntities(),u.sizeElement.innerHTML=u.message.size,u.dateElement.innerHTML=u.message.relativedate,o(u.flagIconElement,u.message.isflagged),o(u.answerIconElement,u.message.isanswered),o(u.forwardIconElement,u.message.isforwarded),o(u.attachmentIconElement,u.message.hasattachment),angular.bind(u.parentController,i)()},this.service=c,this.MailboxService=l}}e.$inject=["$scope","$element","$parse","$state","$mdUtil","$mdToast","Mailbox","Message","encodeUriFilter"],angular.module("SOGo.MailerUI").controller("sgMessageListItemMainController",e).directive("sgMessageListItemMain",function(){return{restrict:"C",require:"^^sgMessageListItem",scope:{},template:['','
',"
",' \x3c!-- mailbox --\x3e ',' error '," \x3c!-- sender or recipient --\x3e ","
",'
\x3c!-- date --\x3e
',"
",'
','
\x3c!-- subject --\x3e
','
\x3c!-- size --\x3e
',"
","
",'',' star ',' reply ',' forward ',' attach_file ',"
",'',' \x3c!-- message loading progress --\x3e ',"
"].join(""),link:function(e,t,n,s){e.parentController=s},controller:"sgMessageListItemMainController",controllerAs:"$ctrl"}})}(),function(){"use strict";function e(e,t){var n=this;this.$postLink=function(){t.registerImage(e),e.on("click",this.showImage)},this.showImage=function(e){"IMG"==e.target.tagName&&t.showGallery(e,n.partIndex)}}e.$inject=["$element","ImageGallery"],angular.module("SOGo.MailerUI").directive("sgZoomableImage",function(){return{restrict:"A",bindToController:{partIndex:"=sgZoomableImage"},controller:e}})}();
//# sourceMappingURL=Mailer.services.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Mailer.services.js.map b/UI/WebServerResources/js/Mailer.services.js.map
index b37202ff2..cea783d8f 100644
--- a/UI/WebServerResources/js/Mailer.services.js.map
+++ b/UI/WebServerResources/js/Mailer.services.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Mailer/Account.service.js","Mailer/Mailbox.service.js","Mailer/Message.service.js","Mailer/sgImageGallery.service.js","Mailer/VirtualMailbox.service.js","Mailer/MailboxController.js","Mailer/MailboxesController.js","Mailer/MessageController.js","Mailer/MessageEditorController.js","Mailer/sgAccountSection.directive.js","Mailer/sgIMIP.directive.js","Mailer/sgMailboxListItem.directive.js","Mailer/sgMessageListItem.directive.js","Mailer/sgMessageListItemMain.directive.js","Mailer/sgZoomableImage.directive.js"],"names":["Account","futureAccountData","then","angular","extend","this","_","forEach","identities","identity","fullName","full","email","$log","debug","JSON","stringify","undefined","$factory","$q","$timeout","Settings","Resource","Preferences","Mailbox","Message","$$resource","activeUser","$Preferences","$Mailbox","$Message","module","e","factory","$findAll","data","$unwrapCollection","fetch","o","collection","i","id","$accounts","prototype","getLength","$flattenMailboxes","length","getItemAtIndex","index","expandedMailboxes","$getMailboxes","options","_this","$mailboxes","reload","$find","$expanded","expandedFolders","_visit","mailboxes","indexOf","children","settings","Mail","ExpandedFolders","isString","fromJson","warn","when","allMailboxes","push","all","$$flattenMailboxes","saveState","account","reduce","mailbox","post","$getMailboxByType","type","_find","find","$getMailboxByPath","path","$newMailbox","name","toString","$certificate","security","hasCertificate","$$certificate","reject","$removeCertificate","updateQuota","percent","description","Math","round","usedSpace","maxQuota","l","formatted","$quota","$newMessage","accountId","mailboxPath","message","$absolutePath","asDraft","accountDefaults","defaults","AuxiliaryMailAccounts","alwaysSign","sign","alwaysEncrypt","encrypt","editable","isNew","mailto","isObject","$parseMailto","$addDelegate","user","deferred","defer","param","uid","map","delegates","resolve","users","status","promise","$removeDelegate","splice","futureMailboxData","$account","init","newMailboxData","create","$unwrap","Acl","PRELOAD","$$Acl","$query","sort","asc","selectedFolder","$refreshTimeout","$virtualMode","$virtualPath","SortingState","parseInt","constant","LOOKAHEAD","SIZE","createMailboxes","level","quotas","split","component","asCSSIdentifier","join","isUndefined","uidsMap","headers","$isLoading","$messages","$id","$acl","$displayName","$isEditable","isEditable","$isSpecial","$icon","$isNoInferiors","isNoInferiors","$shadowData","$omit","selectFolder","$lastVisibleIndex","max","$loadMessage","$selectedMessages","filter","selected","$selectedCount","isSelectedMessage","messageId","selectedMessage","$selectedMessage","$selectedMessageIndex","hasSelectedMessage","isDefined","$filter","sortingAttributes","filters","unseenCount","cancel","searchInput","secondFilter","match","searchBy","copy","refreshViewCheck","SOGoRefreshViewCheck","f","bind","timeInterval","endIndex","uids","futureHeadersData","startIndex","loaded","subject","min","loading","$unwrapHeaders","flags","isNoSelect","getClassName","base","$rename","findParent","parent","parentMailbox","$save","sibling","oldPath","localeCompare","pathRE","RegExp","_updateChildren","child","replace","$compact","$canFolderAs","$setFolderAs","$emptyTrash","$markAsRead","isread","$flagMessages","messages","operation","msgUIDs","saveSelectedMessages","selectedMessages","selectedUIDs","filename","download","exportFolder","open","$delete","$_deleteMessages","unseen","firstIndex","forEachRight","selectedIndex","findIndex","$deleteMessages","$markOrUnMarkMessagesAsJunk","method","$copyMessages","folder","$moveMessages","$reset","value","key","$move","parentPath","finally","save","response","error","$futureMailboxData","$topIndex","invokeMap","threaded","msgs","msg","msgObject","zipObject","isError","j","messageHeaders","$updateSubscribe","action","subscribed","futureMessageData","lazy","$mailbox","$hasUnsafeContent","$loadUnsafeContent","to","cc","bcc","Message_STATUS","STATUS","$avatar","avatar","SOGoMailLabelsColors","$tags","SOGoMailDisplayRemoteInlineImages","$displayRemoteInlineImages","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","filterTags","query","excludedTags","re","results","keys","tag","pair","search","includes","color","$formatFullAddresses","flag","charAt","buildPath","nocache","draftId","withResourcePath","$setUID","oldUID","attr","constructor","shortname","first","last","image","$shortRecipients","result","count","total","$shortAddress","address","allowReplyAll","recipientsCount","isDraft","loadUnsafeContent","$parts","$content","parts","part","msgclass","content","alternatePart","preferredPart","contentType","isArray","signed","valid","certificate","certificates","encrypted","mixedPart","safeContent","html","unsafeContent","document","createElement","innerHTML","suffix","element","elements","querySelectorAll","removeAttr","compile","$editableContent","from","toLowerCase","text","$plainContent","addTag","$addOrRemoveTag","removeTag","$imipAction","$reload","$sendMDN","shouldAskReceipt","$deleteAttachment","attachmentAttrs","attachment","toggleFlag","isflagged","$loaded","useCache","$futureMessageData","exec","decodeURIComponent","trim","$reply","$newDraft","$replyAll","$forward","origin","$send","startsWith","isanswered","isforwarded","privateAttributes","downloadAttachments","ImageGallery","show","$document","$mdPanel","sgHotkeys","setMessage","registerImage","registerHotkeys","$ctrl","createHotkey","callback","previousImage","nextImage","registerHotkey","showGallery","$event","partIndex","partSrc","src","images","attrs","mimetype","url","body","addClass","panelPosition","newPanelPosition","absolute","panelAnimation","newPanelAnimation","openFrom","target","duration","withAnimation","animation","FADE","config","attachTo","locals","lastIndex","selectedImage","bindToController","controller","PanelController","controllerAs","position","targetEvent","fullscreen","hasBackdrop","template","trapFocus","clickOutsideToClose","escapeToClose","focusOnOpen","onOpenComplete","getElementsByClassName","imgContainer","imgEl","one","naturalWidth","naturalHeight","classList","add","remove","onDomRemoved","removeClass","hotkeys","deregisterHotkey","mdPanelRef","$inject","close","selectImage","VirtualMailbox","setMailboxes","startSearch","params","stopSearch","resetSelectedMessage","len","k","offset","selectedMailbox","transform","messagesMap","size","sum","allMessages","promises","assign","flatten","currentMailbox","$comact","MailboxController","$window","$scope","$state","$mdDialog","$mdToast","stateAccounts","stateAccount","stateMailbox","encodeUriFilter","sgSettings","focus","Dialog","sortLabels","vm","defaultWindowTitle","date","arrival","$onInit","$mailboxController","service","accounts","messageDialog","mode","multiple","searchMode","newMessage","markOrUnMarkMessagesAsJunk","toggleMessageSelection","_nextMessage","preventInClass","_previousMessage","_addNextMessageToSelection","_addPreviousMessageToSelection","hotkey","confirmDeleteSelectedMessages","on","_compactBeforeUnload","$on","off","$watch","title","event","centerIsClose","navController_centerIsClose","field","sortedBy","ascending","preventDefault","cancelSearch","composeWindowEnabled","SOGoMailComposeWindowEnabled","inPopup","SOGoMailComposeWindow","baseURL","wId","random","console","_newMessageInPopup","templateUrl","stateMessage","catch","noop","selectMessage","go","mailboxId","nextSelectedIndex","shiftKey","stopPropagation","_currentMailboxes","_unselectMessage","nextMessage","previousMessage","nextIndex","confirm","ok","deleteSelectedMessage","withoutTrash","moveSelectedMessage","dstFolder","copySelectedMessages","simple","hideDelay","moveSelectedMessages","selectAll","unselectMessages","markSelectedMessagesAsFlagged","markSelectedMessagesAsUnread","markSelectedMessagesAsRead","mdVirtualRepeatContainerDirectiveDecorator","$delegate","resetScroll","$element","updateSize","scrollTo","decorator","MailboxesController","$transitions","$mdMedia","$mdSidenav","sgConstant","User","currentSearchParam","","subfolders","showSubscribedOnly","SOGoMailShowSubscribedFoldersOnly","refreshUnseenCount","selectedFolderController","confirmDelete","hideAdvancedSearch","searchPreviousMailbox","toggleAdvancedSearch","virtualMailbox","root","folders","$current","addSearchParam","v","newSearchParam","pattern","n","searchParam","substring","negative","toggleAccountState","subscribe","SubscriptionsDialogController","srcAccount","hide","showAdvancedSearch","newFolder","parentFolder","prompt","alert","delegate","MailboxDelegationController","userToAdd","searchText","userFilter","closeModal","removeUser","addUser","unseenCountFolders","isDroppableFolder","srcFolder","dragSelectedMessages","dstId","clearMessageView","success","MessageController","Calendar","Component","$messageController","tags","showFlags","$showDetailedRecipients","showRawSource","_unlessInDialog","reply","replyAll","forward","deleteMessage","opener","$watchCollection","newTags","oldTags","ctrls","$parentControllers","messageCtrl","wasflagged","mailboxCtrl","_newTags","_oldTags","difference","_messageDialog","arguments","apply","addFlags","toggleDetailedRecipients","filterMailtoLinks","href","tagName","attributes","state","parentCtrls","closePopup","_showMailEditor","_showMailEditorInPopup","isPopup","openInPopup","destination","edit","contains","toggleRawSource","$rawSource","print","convertToEvent","_convertToComponent","convertToTask","componentData","pid","$defaultCalendar","summary","comment","capitalize","stateComponent","MessageEditorController","$stateParams","$mdConstant","$mdUtil","FileUploader","AddressBook","Card","addRecipient","autocomplete","autosave","autosaveDrafts","contactFilter","isFullscreen","hideBcc","hideCc","uniq","recipientSeparatorKeys","KEY_CODE","ENTER","TAB","COMMA","SEMICOLON","removeAttachment","send","sendState","toggleFullscreen","uploader","autoUpload","alias","removeAfterUpload","onSuccessItem","item","inlineUrl","lastAttachmentAttrs","onCancelItem","file","removeFromQueue","onErrorItem","SOGoMailAutoSave","localeCode","LocaleCode","destroy","actionName","_updateFileUploader","_addAttachments","originMessage","draftMailboxCtrl","draftMessageCtrl","originMailboxCtrl","fileItem","FileItem","progress","isUploaded","isSuccess","queue","isUploading","cancelItem","getElementById","prop","errorMessage","statusText","$filterAll","cards","explodedCards","manyCards","card","uniqBy","$$fullname","$$email","contact","recipients","recipient","list","emailRE","charCodeAt","test","$isList","expandable","refs","ref","$shortFormat","container","c_name","listId","SendMessageToastController","closeToast","sgAccountController","$postLink","quotaElement","div","addMailboxController","mailboxController","selectedMailboxCtrl","ctrl","unselectFolder","directive","restrict","scope","sgImipController","delegateInvitation","delegatedTo","iCalendarAction","receiveUpdates","c_email","viewer","pathToAttachment","link","iElement","sgImipPath","sgMailboxListItemController","editMode","accountController","selectableElement","clickableElement","inputContainer","inputElement","moreOptionsButton","childLevel","editFolder","srcEvent","select","panel","saveFolder","disabled","revertEditing","showMenu","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","itemCtrl","MenuController","panelRef","panelEl","$menuCtrl","markFolderRead","compactFolder","emptyTrashFolder","share","$users","usersWithACL","setFolderAs","isParentOf","findChildren","moveFolder","require","sgMessageListItemController","watchedAttrs","MailboxService","pick","newId","oldId","onUpdate","setVisibility","visible","sgMessageListItemMainController","$parse","contentDivElement","iconsDivElement","parentControllerOnUpdate","parentController","priorityIconElement","mailboxNameElement","senderElement","subjectElement","sizeElement","dateElement","textContent","flagIconElement","answerIconElement","forwardIconElement","attachmentIconElement","flagElements","nodesToArray","flagElement","removeChild","css","prepend","encodeEntities","priority","relativedate","hasattachment","sgZoomableImageController","showImage"],"mappings":"CAEA,WACE,aAOE,SAASA,EAAQC,GAEqB,mBAA3BA,EAAkBC,OAC3BC,QAAQC,OAAOC,KAAMJ,GACrBK,EAAEC,QAAQF,KAAKG,WAAY,SAASC,GAC9BA,EAASC,SACXD,EAASE,KAAOF,EAASC,SAAW,KAAOD,EAASG,MAAQ,IAE5DH,EAASE,KAAO,IAAMF,EAASG,MAAQ,MAE3CZ,EAAQa,KAAKC,MAAM,YAAcC,KAAKC,UAAUf,OAAmBgB,EAAW,KAalFjB,EAAQkB,UAAY,KAAM,WAAY,OAAQ,aAAc,WAAY,cAAe,UAAW,UAAW,SAASC,EAAIC,EAAUP,EAAMQ,EAAUC,EAAUC,EAAaC,EAASC,GAWlL,OAVAtB,QAAQC,OAAOJ,GACbmB,GAAIA,EACJC,SAAUA,EACVP,KAAMA,EACNa,WAAY,IAAIJ,EAASD,EAASM,WAAW,aAAe,OAAQN,EAASM,cAC7EC,aAAcL,EACdM,SAAUL,EACVM,SAAUL,IAGLzB,IAOT,IACEG,QAAQ4B,OAAO,iBAEjB,MAAMC,GACJ7B,QAAQ4B,OAAO,iBAAkB,gBAEnC5B,QAAQ4B,OAAO,iBACZE,QAAQ,UAAWjC,EAAQkB,UAQ9BlB,EAAQkC,SAAW,SAASC,GAC1B,OAAKA,EAKEnC,EAAQoC,kBAAkBD,GAJxBnC,EAAQ0B,WAAWW,MAAM,GAAI,gBAAgBnC,KAAK,SAASoC,GAChE,OAAOtC,EAAQoC,kBAAkBE,MAYvCtC,EAAQoC,kBAAoB,SAASD,GACnC,IAAII,KAQJ,OANApC,QAAQI,QAAQ4B,EAAM,SAASG,EAAGE,GAChCF,EAAEG,GAAKD,EACPD,EAAWC,GAAK,IAAIxC,EAAQsC,KAE9BtC,EAAQ0C,UAAYH,EAEbA,GASTvC,EAAQ2C,UAAUC,UAAY,WAC5B,OAAOvC,KAAKwC,oBAAoBC,QASlC9C,EAAQ2C,UAAUI,eAAiB,SAASC,GAC1C,IAAIC,EAGJ,OADAA,EAAoB5C,KAAKwC,oBACrBG,GAAS,GAAKA,EAAQC,EAAkBH,OACnCG,EAAkBD,GAEpB,MAUThD,EAAQ2C,UAAUO,cAAgB,SAASC,GACzC,IAAIC,EAAQ/C,KAEZ,OAAIA,KAAKgD,YAAgBF,GAAWA,EAAQG,OAInCtD,EAAQ6B,SAAS0B,MAAMlD,KAAM8C,GAASjD,KAAK,SAASiC,GACzDiB,EAAMC,WAAalB,EACnBiB,EAAMI,WAAY,EAGlB,IAAIC,EACAC,EAAS,SAASC,GAChBrD,EAAEC,QAAQoD,EAAW,SAASrB,GAC5BA,EAAEkB,UAAaC,EAAgBG,QAAQ,IAAMtB,EAAEG,KAAO,EAClDH,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,GACpCY,EAAOpB,EAAEuB,aAInB,GAAI7D,EAAQ4B,aAAakC,SAASC,KAAKC,gBAAiB,CACtD,GAAI7D,QAAQ8D,SAASjE,EAAQ4B,aAAakC,SAASC,KAAKC,iBAEtD,IACEP,EAAkBtD,QAAQ+D,SAASlE,EAAQ4B,aAAakC,SAASC,KAAKC,iBAExE,MAAOhC,GACLhC,EAAQa,KAAKsD,KAAK,qDACAnE,EAAQ4B,aAAakC,SAASC,KAAKC,iBACrDP,UAIFA,EAAkBzD,EAAQ4B,aAAakC,SAASC,KAAKC,gBAEvDZ,EAAMI,UAAaC,EAAgBG,QAAQ,IAAMR,EAAMX,KAAO,EAC1DgB,EAAgBX,OAAS,GAC3BY,EAAON,EAAMC,YAOjB,OAJIrD,EAAQ0C,YACVU,EAAMI,WAA0C,GAA5BxD,EAAQ0C,UAAUI,QACxCM,EAAMP,mBAAmBS,QAAQ,IAE1BF,EAAMC,aAzCRrD,EAAQmB,GAAGiD,KAAK/D,KAAKgD,aAwDhCrD,EAAQ2C,UAAUE,kBAAoB,SAASM,GAC7C,IACIkB,KACApB,KACAS,EAAS,SAASC,GAChBrD,EAAEC,QAAQoD,EAAW,SAASrB,GAC5B+B,EAAaC,KAAKhC,IACba,GAAWA,EAAQoB,KAAOjC,EAAEkB,YAAclB,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,GAC/EY,EAAOpB,EAAEuB,aA8BnB,OAzBIxD,KAAKmE,oBAAwBrB,IAAYA,EAAQG,QAAUH,EAAQoB,MAIrEb,EAAOrD,KAAKgD,YACPF,GAAYA,EAAQoB,MAjBflE,KAkBFmE,mBAAqBH,EACvBlB,GAAWA,EAAQsB,YAErBnE,EAAEC,QAAQP,EAAQ0C,UAAW,SAASgC,GAChCA,EAAQlB,WACVP,EAAkBqB,KAAK,IAAMI,EAAQjC,IAEvCnC,EAAEqE,OAAOD,EAAQF,mBAAoB,SAASf,EAAiBmB,GAI7D,OAHIA,EAAQpB,WACVC,EAAgBa,KAAK,IAAMM,EAAQnC,IAE9BgB,GACNR,KAELjD,EAAQ0B,WAAWmD,KAAK,KAAM,mBAAoB5B,MAnBtDoB,EAAehE,KAAKmE,mBAwBfH,GAGTrE,EAAQ2C,UAAUmC,kBAAoB,SAASC,GAC7C,IAEIC,EAAQ,SAASrB,GACf,IAAIiB,EAAUtE,EAAE2E,KAAKtB,EAAW,SAASrB,GACvC,OAAOA,EAAEyC,MAAQA,IASnB,OAPKH,GACHzE,QAAQI,QAAQoD,EAAW,SAASrB,IAC7BsC,GAAWtC,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,IAChD8B,EAAUI,EAAM1C,EAAEuB,aAIjBe,GAIb,OAFUI,EAAM3E,KAAKgD,aAWvBrD,EAAQ2C,UAAUuC,kBAAoB,SAASC,GAC7C,IAEIH,EAAQ,SAASrB,GACf,IAAIiB,EAAUtE,EAAE2E,KAAKtB,EAAW,SAASrB,GACvC,OAAOA,EAAE6C,MAAQA,IASnB,OAPKP,GACHzE,QAAQI,QAAQoD,EAAW,SAASrB,IAC7BsC,GAAWtC,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,IAChD8B,EAAUI,EAAM1C,EAAEuB,aAIjBe,GAIb,OAFUI,EAAM3E,KAAKgD,aAWvBrD,EAAQ2C,UAAUyC,YAAc,SAASD,EAAME,GAC7C,IAAIjC,EAAQ/C,KAEZ,OAAOL,EAAQ0B,WAAWmD,KAAKM,EAAKG,WAAY,gBAAiBD,KAAMA,IAAOnF,KAAK,WACjFkD,EAAMF,eAAeI,QAAQ,OAUjCtD,EAAQ2C,UAAU4C,aAAe,WAC/B,IAAInC,EAAQ/C,KAEZ,OAAIA,KAAKmF,UAAYnF,KAAKmF,SAASC,eAC7BpF,KAAKqF,cACA1F,EAAQmB,GAAGiD,KAAK/D,KAAKqF,eAErB1F,EAAQ0B,WAAWW,MAAMhC,KAAKoC,GAAG6C,WAAY,eAAepF,KAAK,SAASiC,GAE/E,OADAiB,EAAMsC,cAAgBvD,EACfA,IAKJnC,EAAQmB,GAAGwE,UAUtB3F,EAAQ2C,UAAUiD,mBAAqB,WACrC,IAAIxC,EAAQ/C,KAEZ,OAAOL,EAAQ0B,WAAWW,MAAMhC,KAAKoC,GAAG6C,WAAY,qBAAqBpF,KAAK,WAC5EkD,EAAMoC,SAASC,gBAAiB,KAUpCzF,EAAQ2C,UAAUkD,YAAc,SAAS1D,GACvC,IAAI2D,EAAiBC,EAErBD,EAAWE,KAAKC,MAAuB,IAAjB9D,EAAK+D,UAAoB/D,EAAKgE,UAAY,IAEhEJ,EADSK,EAAE,gBACUC,UAAUP,EAASE,KAAKC,MAAM9D,EAAKgE,SAAS,OAAO,KAExE9F,KAAKiG,QAAWR,QAASA,EAASC,YAAaA,IASjD/F,EAAQ2C,UAAU4D,YAAc,SAASpD,GACvC,IAAIC,EAAQ/C,KAGZ,OAAOL,EAAQ0B,WAAWW,MAAMhC,KAAKoC,GAAG6C,WAAY,WAAWpF,KAAK,SAASiC,GAC3EnC,EAAQa,KAAKC,MAAM,0BAA4BC,KAAKC,UAAUmB,OAAMlB,EAAW,IAE/E,OADc,IAAIjB,EAAQ8B,SAASK,EAAKqE,UAAWpD,EAAM8B,kBAAkB/C,EAAKsE,aAActE,KAE7FjC,KAAK,SAASwG,GAEf,OAAO1G,EAAQ0B,WAAWW,MAAMqE,EAAQC,eAAeC,SAAS,IAAQ,QAAQ1G,KAAK,SAASiC,GAC5F,IAAI0E,EAAkB7G,EAAQ4B,aAAakF,SAASC,sBAAsB3D,EAAMX,IAgBhF,OAfIoE,EAAgBrB,WACdqB,EAAgBrB,SAASwB,aAC3B7E,EAAK8E,MAAO,GACVJ,EAAgBrB,SAAS0B,gBAC3B/E,EAAKgF,SAAU,IAEnBnH,EAAQa,KAAKC,MAAM,uBAAyBC,KAAKC,UAAUmB,OAAMlB,EAAW,IAC5Ed,QAAQC,OAAOsG,EAAQU,SAAUjF,GACjCuE,EAAQW,OAAQ,EACZlE,GAAWA,EAAQmE,SACjBnH,QAAQoH,SAASpE,EAAQmE,QAC3BnH,QAAQC,OAAOsG,EAAQU,SAAUjE,EAAQmE,QAEzCZ,EAAQc,aAAarE,EAAQmE,SAE1BZ,OAYb1G,EAAQ2C,UAAU8E,aAAe,SAASC,GACxC,IAAItE,EAAQ/C,KACRsH,EAAW3H,EAAQmB,GAAGyG,QACtBC,GAASC,IAAKJ,EAAKI,KAavB,OAZKJ,EAAKI,KAAOxH,EAAEsD,QAAQtD,EAAEyH,IAAI1H,KAAK2H,UAAW,OAAQN,EAAKI,MAAQ,EAEpEH,EAASM,UAGTjI,EAAQ0B,WAAWW,MAAMhC,KAAKoC,GAAG6C,WAAY,cAAeuC,GAAO3H,KAAK,WACtEkD,EAAM4E,UAAU1D,KAAKoD,GACrBC,EAASM,QAAQ7E,EAAM8E,QACtB,SAAS/F,EAAMgG,GAChBR,EAAShC,OAAOS,EAAE,yCAGfuB,EAASS,SAUlBpI,EAAQ2C,UAAU0F,gBAAkB,SAASP,GAC3C,IAAI1E,EAAQ/C,KACRwH,GAASC,IAAKA,GAClB,OAAO9H,EAAQ0B,WAAWW,MAAMhC,KAAKoC,GAAG6C,WAAY,iBAAkBuC,GAAO3H,KAAK,WAChF,IAAIsC,EAAIlC,EAAEsD,QAAQtD,EAAEyH,IAAI3E,EAAM4E,UAAW,OAAQF,GAC7CtF,GAAK,GACPY,EAAM4E,UAAUM,OAAO9F,EAAG,MAlalC,GCAA,WACE,aAOA,SAAShB,EAAQkD,EAAS6D,GAGxB,GAFAlI,KAAKmI,SAAW9D,EAEsB,mBAA3B6D,EAAkBrI,MAE3B,GADAG,KAAKoI,KAAKF,GACNlI,KAAKgF,OAAShF,KAAK8E,KAAM,CAE3B,IAAIuD,EAAiBlH,EAAQE,WAAWiH,OAAO,eAAgBtI,KAAKgF,MACpEhF,KAAKuI,QAAQF,SAMfrI,KAAKuI,QAAQL,GASjB/G,EAAQN,UAAY,KAAM,WAAY,OAAQ,aAAc,WAAY,UAAW,MAAO,cAAe,oBAAqB,SAASC,EAAIC,EAAUP,EAAMQ,EAAUC,EAAUG,EAASoH,EAAKtH,EAAauH,GAsBxM,OArBA3I,QAAQC,OAAOoB,GACbL,GAAIA,EACJC,SAAUA,EACVP,KAAMA,EACNa,WAAY,IAAIJ,EAASD,EAASM,WAAW,aAAe,OAAQN,EAASM,cAC7EG,SAAUL,EACVsH,MAAOF,EACPjH,aAAcL,EACdyH,QAAUC,KAAM,UAAWC,IAAK,GAChCC,eAAgB,KAChBC,gBAAiB,KACjBC,cAAc,EACdC,cAAc,EACdR,QAASA,IAGPvH,EAAYuC,SAASC,KAAKwF,eAC5B/H,EAAQwH,OAAOC,KAAO1H,EAAYuC,SAASC,KAAKwF,aAAa,GAC7D/H,EAAQwH,OAAOE,IAAMM,SAASjI,EAAYuC,SAASC,KAAKwF,aAAa,KAGhE/H,IAOT,IACErB,QAAQ4B,OAAO,iBAEjB,MAAMC,GACJ7B,QAAQ4B,OAAO,iBAAkB,gBAEnC5B,QAAQ4B,OAAO,iBACZ0H,SAAS,qBACRC,UAAW,GACXC,KAAM,MAEP1H,QAAQ,UAAWT,EAAQN,UAS9BM,EAAQ+B,MAAQ,SAASmB,EAASvB,GAChC,IAAUoF,EAOV,OAJEA,EADEpF,GAAWA,EAAQoB,IACDlE,KAAKqB,WAAWW,MAAMqC,EAAQjC,GAAG6C,WAAY,WAE7CjF,KAAKqB,WAAWW,MAAMqC,EAAQjC,GAAG6C,WAAY,QAE5D9D,EAAQY,kBAAkBsC,EAAS6D,IAU5C/G,EAAQY,kBAAoB,SAASsC,EAAS6D,GAC5C,IAAIhG,KAEAqH,EAAkB,SAASC,EAAOjF,GAChC,IAAK,IAAIpC,EAAI,EAAGA,EAAIoC,EAAQf,SAASf,OAAQN,IAC3CoC,EAAQf,SAASrB,GAAGqH,MAAQA,EAC5BjF,EAAQf,SAASrB,GAAK,IAAIhB,EAAQkD,EAASE,EAAQf,SAASrB,IAC5DoH,EAAgBC,EAAM,EAAGjF,EAAQf,SAASrB,KAKlD,OAAO+F,EAAkBrI,KAAK,SAASiC,GACrC,OAAOX,EAAQJ,SAAS,WAWtB,OATAjB,QAAQI,QAAQ4B,EAAKwB,UAAW,SAASxB,EAAMa,GAC7Cb,EAAK0H,MAAQ,EACb,IAAIjF,EAAU,IAAIpD,EAAQkD,EAASvC,GACnCyH,EAAgB,EAAGhF,GACnBrC,EAAW+B,KAAKM,KAGdzC,EAAK2H,QACPpF,EAAQmB,YAAY1D,EAAK2H,QACpBvH,OAYbf,EAAQmF,cAAgB,SAASH,EAAWC,GAC1C,IAAItB,KAUJ,OARIsB,IACFtB,EAAO7E,EAAEyH,IAAItB,EAAYsD,MAAM,KAAM,SAASC,GAC5C,MAAO,SAAWA,EAAUC,qBAIhC9E,EAAKmD,OAAO,EAAG,EAAG9B,GAEXrB,EAAK+E,KAAK,MASnB1I,EAAQmB,UAAU8F,KAAO,SAAStG,IAE5BhC,QAAQgK,YAAY9J,KAAK+J,UAAYjI,EAAKkI,WAC5ChK,KAAKiK,YAAa,EAClBjK,KAAKkK,aACLlK,KAAK+J,YAEPjK,QAAQC,OAAOC,KAAM8B,GACjB9B,KAAK8E,OACP9E,KAAKoC,GAAKpC,KAAKmK,MACfnK,KAAKoK,KAAO,IAAIjJ,EAAQuH,MAAM,QAAU1I,KAAKoC,KAE/CpC,KAAKqK,aAAerK,KAAKgF,KACrBhF,KAAK0E,OACP1E,KAAKsK,YAActK,KAAKuK,aACxBvK,KAAKwK,YAAa,EACD,SAAbxK,KAAK0E,MACP1E,KAAKqK,aAAetE,EAAE,mBACtB/F,KAAKyK,MAAQ,SAEO,SAAbzK,KAAK0E,MACZ1E,KAAKqK,aAAetE,EAAE,oBACtB/F,KAAKyK,MAAQ,UAEO,QAAbzK,KAAK0E,MACZ1E,KAAKqK,aAAetE,EAAE,kBACtB/F,KAAKyK,MAAQ,QAEO,SAAbzK,KAAK0E,MACZ1E,KAAKqK,aAAetE,EAAE,mBACtB/F,KAAKyK,MAAQ,UAEO,QAAbzK,KAAK0E,MACZ1E,KAAKqK,aAAetE,EAAE,kBACtB/F,KAAKyK,MAAQ,cAEO,cAAbzK,KAAK0E,KACZ1E,KAAKyK,MAAQ,iBAGbzK,KAAKwK,YAAa,EAClBxK,KAAKyK,MAAQ,gBAGjBzK,KAAK0K,eAAiB1K,KAAK2K,gBACvB7K,QAAQgK,YAAY9J,KAAK4K,eAE3B5K,KAAK4K,YAAc5K,KAAK6K,UAS5B1J,EAAQmB,UAAUwI,aAAe,WAC1B3J,EAAQ6H,eACX7H,EAAQ2H,eAAiB9I,OAS7BmB,EAAQmB,UAAUC,UAAY,WAC5B,OAAOvC,KAAKkK,UAAUzH,QASxBtB,EAAQmB,UAAUI,eAAiB,SAASC,GAC1C,IAAI0D,EAEJ,OAAI1D,GAAS,GAAKA,EAAQ3C,KAAKkK,UAAUzH,SACvC4D,EAAUrG,KAAKkK,UAAUvH,GACzB3C,KAAK+K,kBAAoBpF,KAAKqF,IAAI,EAAGrI,EAAQ,GAEzC3C,KAAKiL,aAAa5E,EAAQoB,MACrBpB,EAEJ,MASTlF,EAAQmB,UAAU6H,IAAM,WACtB,OAAOhJ,EAAQmF,cAActG,KAAKmI,SAAS/F,GAAIpC,KAAK8E,OAStD3D,EAAQmB,UAAU4I,kBAAoB,WACpC,OAAOjL,EAAEkL,OAAOnL,KAAKkK,UAAW,SAAS7D,GAAW,OAAOA,EAAQ+E,YASrEjK,EAAQmB,UAAU+I,eAAiB,WACjC,OAAOrL,KAAKkL,oBAAoBzI,QAUlCtB,EAAQmB,UAAUgJ,kBAAoB,SAASC,GAC7C,OAAOvL,KAAKwL,iBAAmBD,GASjCpK,EAAQmB,UAAUmJ,iBAAmB,WACnC,IAAI1I,EAAQ/C,KAEZ,OAAOC,EAAE2E,KAAK5E,KAAKkK,UAAW,SAAS7D,GAAW,OAAOA,EAAQoB,KAAO1E,EAAMyI,mBAShFrK,EAAQmB,UAAUoJ,sBAAwB,WACxC,OAAO1L,KAAK+J,QAAQ/J,KAAKwL,kBAS3BrK,EAAQmB,UAAUqJ,mBAAqB,WACrC,OAAO7L,QAAQ8L,UAAU5L,KAAKwL,kBAiBhCrK,EAAQmB,UAAUuJ,QAAU,SAASC,EAAmBC,GACtD,IAAIhJ,EAAQ/C,KAAM8C,KAoClB,GAlCKhD,QAAQ8L,UAAU5L,KAAKgM,eAC1BhM,KAAKgM,YAAc,GAErB7K,EAAQJ,SAAS,WACfgC,EAAMkH,YAAa,IAGjB9I,EAAQ4H,iBACV5H,EAAQJ,SAASkL,OAAO9K,EAAQ4H,iBAE9B+C,GAEFhM,QAAQC,OAAOoB,EAAQwH,OAAQmD,GAEjChM,QAAQC,OAAO+C,GAAWgJ,kBAAmB3K,EAAQwH,SACjD7I,QAAQ8L,UAAUG,KACpBjJ,EAAQiJ,QAAU9L,EAAEqF,OAAOyG,EAAS,SAASZ,GAC3C,OAAQA,EAAOe,aAA6C,IAA9Bf,EAAOe,YAAYzJ,SAGnDxC,EAAEC,QAAQ4C,EAAQiJ,QAAS,SAASZ,GAClC,IAAIgB,EACAC,EAAQjB,EAAOkB,SAASD,MAAM,kBAC9BA,IACFtJ,EAAQgJ,kBAAkBM,MAAQ,KAClCjB,EAAOkB,SAAWD,EAAM,IACxBD,EAAerM,QAAQwM,KAAKnB,IACfkB,SAAWD,EAAM,GAC9BtJ,EAAQiJ,QAAQ9H,KAAKkI,QAMtBhL,EAAQ6H,aAAc,CACzB,IAAIuD,EAAmBpL,EAAQI,aAAakF,SAAS+F,qBACrD,GAAID,GAAwC,YAApBA,EAAgC,CACtD,IAAIE,EAAI3M,QAAQ4M,KAAK1M,KAAMmB,EAAQmB,UAAUuJ,QAAS,KAAME,GAC5D5K,EAAQ4H,gBAAkB5H,EAAQJ,SAAS0L,EAAmC,IAAhCF,EAAiBI,iBAInE,IAAIzE,EAAoB/G,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,OAAQU,GACjE,OAAO9C,KAAKuI,QAAQL,IAStB/G,EAAQmB,UAAU2I,aAAe,SAASM,GACxC,IACIqB,EACAjK,EAGAkK,EACAC,EANAC,EAAa/M,KAAK+J,QAAQwB,GAG1BP,EAAMhL,KAAKkK,UAAUzH,OACrBuK,GAAS,EAGb,GAAIlN,QAAQ8L,UAAU5L,KAAK+J,QAAQwB,KAAewB,EAAa/M,KAAKkK,UAAUzH,SAExE3C,QAAQ8L,UAAU5L,KAAKkK,UAAU6C,GAAYE,WAE/CD,GAAS,GAIXJ,EAAWjH,KAAKuH,IAAIH,EAAa5L,EAAQsH,QAAQY,UAAW2B,EAAM,GAC9DlL,QAAQ8L,UAAU5L,KAAKkK,UAAU0C,GAAUK,UAC3CnN,QAAQ8L,UAAU5L,KAAKkK,UAAU0C,GAAUO,UAC7CxK,EAAQgD,KAAKqF,IAAI+B,EAAa5L,EAAQsH,QAAQY,UAAW,GACpDvJ,QAAQ8L,UAAU5L,KAAKkK,UAAUvH,GAAOsK,UACxCnN,QAAQ8L,UAAU5L,KAAKkK,UAAUvH,GAAOwK,WAE3CP,EAAWG,EACXA,EAAapH,KAAKqF,IAAI+B,EAAa5L,EAAQsH,QAAQa,KAAM,KAK3DsD,EAAWjH,KAAKuH,IAAIH,EAAa5L,EAAQsH,QAAQa,KAAM0B,EAAM,IAE1DlL,QAAQ8L,UAAU5L,KAAKkK,UAAU6C,GAAYE,WAC7CnN,QAAQ8L,UAAU5L,KAAKkK,UAAU6C,GAAYI,WAC7CrN,QAAQ8L,UAAU5L,KAAKkK,UAAU0C,GAAUK,WAC3CnN,QAAQ8L,UAAU5L,KAAKkK,UAAU0C,GAAUO,UAAU,CAExD,IAAKN,KAAWE,EAAaH,GAAYG,EAAa/B,EAAK+B,IACrDjN,QAAQ8L,UAAU5L,KAAKkK,UAAU6C,GAAYE,UAAYjN,KAAKkK,UAAU6C,GAAYI,QAEtFP,KAIAC,EAAK5I,KAAKjE,KAAKkK,UAAU6C,GAAYtF,KACrCzH,KAAKkK,UAAU6C,GAAYI,SAAU,GAIzChM,EAAQX,KAAKC,MAAM,gBAAkBoM,EAAKhD,KAAK,MAC/CiD,EAAoB3L,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,WAAYyK,KAAMA,IACvE7M,KAAKoN,eAAeN,GAGxB,OAAOE,GAST7L,EAAQmB,UAAUiI,WAAa,WAC7B,MAAoB,UAAbvK,KAAK0E,MASdvD,EAAQmB,UAAUqI,cAAgB,WAChC,OAAO3K,KAAKqN,MAAM9J,QAAQ,gBAAkB,GAS9CpC,EAAQmB,UAAUgL,WAAa,WAC7B,OAAOtN,KAAKqN,MAAM9J,QAAQ,aAAe,GAS3CpC,EAAQmB,UAAUiL,aAAe,SAASC,GACxC,OAAO,GAUTrM,EAAQmB,UAAUmL,QAAU,WAC1B,IACIC,EACAC,EACAnK,EACArB,EAJAY,EAAQ/C,KAMZ,OAAIA,KAAKgF,MAAQhF,KAAK4K,YAAY5F,KAEzB7D,EAAQL,GAAGiD,QAuBpB4J,GAnBAD,EAAa,SAASC,EAAQnK,GAC5B,IAAIoK,EAAgB,KAcpB,OAbc3N,EAAE2E,KAAKpB,EAAU,SAASvB,GAClC,OAAOA,EAAE6C,MAAQ/B,EAAM+B,OAG3B8I,EAAgBD,EAGhB7N,QAAQI,QAAQsD,EAAU,SAASvB,IAC5B2L,GAAiB3L,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,IACtDmL,EAAgBF,EAAWzL,EAAGA,EAAEuB,aAI/BoK,IAIW,KAAM5N,KAAKmI,SAASnF,YAEtCQ,EADa,OAAXmK,EACS3N,KAAKmI,SAASnF,WAEd2K,EAAOnK,SAGpBrB,EAAIlC,EAAEsD,QAAQtD,EAAEyH,IAAIlE,EAAU,MAAOxD,KAAKoC,IAEnCpC,KAAK6N,QAAQhO,KAAK,SAASiC,GAChC,IAAIgM,EAASC,EAAUhL,EAAM+B,KAC7B/B,EAAMqF,KAAKtG,GAGX0B,EAASyE,OAAO9F,EAAG,GACnB2L,EAAU7N,EAAE2E,KAAKpB,EAAU,SAASvB,GAClC,MAAkB,UAAVA,EAAEyC,MAAoBzC,EAAE+C,KAAKgJ,cAAcjL,EAAMiC,MAAQ,IAGjE7C,EADE2L,EACE7N,EAAEsD,QAAQtD,EAAEyH,IAAIlE,EAAU,MAAOsK,EAAQ1L,IAGzCoB,EAASf,OAEfe,EAASyE,OAAO9F,EAAG,EAAGY,GAGtB,IAAIkL,EAAS,IAAIC,OAAO,IAAMH,GAC1BI,EAAkB,SAAS5J,GAC7BtE,EAAEC,QAAQqE,EAAQf,SAAU,SAAS4K,GACnCA,EAAMtJ,KAAOsJ,EAAMtJ,KAAKuJ,QAAQJ,EAAQlL,EAAM+B,MAC9CsJ,EAAMhM,GAAKgM,EAAMjE,MACjBgE,EAAgBC,MAGpBD,EAAgBpL,OAUpB5B,EAAQmB,UAAUgM,SAAW,WAC3B,IAAIvL,EAAQ/C,KACZ,OAAOmB,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,WACrCvC,KAAK,SAASiC,GAIb,OAFIA,EAAK2H,QACP1G,EAAMoF,SAAS3C,YAAY1D,EAAK2H,SAC3B,KAUbtI,EAAQmB,UAAUiM,aAAe,WAC/B,MAAoB,UAAbvO,KAAK0E,MAAmC,IAAf1E,KAAKwJ,OASvCrI,EAAQmB,UAAUkM,aAAe,SAAS9J,GACxC,OAAOvD,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,QAAUsC,EAAO,WAS3DvD,EAAQmB,UAAUmM,YAAc,WAC9B,IAAI1L,EAAQ/C,KAEZ,OAAOmB,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,cAAcvC,KAAK,SAASiC,GAElEiB,EAAMmH,aACNnH,EAAMgH,WACNhH,EAAMiJ,YAAc,EAGhBlM,QAAQ8L,UAAU7I,EAAMS,WAAaT,EAAMS,SAASf,QACtDM,EAAMoF,SAAStF,eAAeI,QAAQ,IAGpCnB,EAAK2H,QACP1G,EAAMoF,SAAS3C,YAAY1D,EAAK2H,WAUtCtI,EAAQmB,UAAUoM,YAAc,WAC9B,IAAI3L,EAAQ/C,KAEZ,OAAOmB,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,YAAYvC,KAAK,WACvDkD,EAAMiJ,YAAc,EACpB/L,EAAEC,QAAQ6C,EAAMmH,UAAW,SAAS7D,GAClCA,EAAQsI,QAAS,OAWvBxN,EAAQmB,UAAUsM,cAAgB,SAASC,EAAUxB,EAAOyB,GAC1D,IAAIhN,GAAQiN,QAAS9O,EAAEyH,IAAImH,EAAU,OACzBxB,MAAOA,EACPyB,UAAWA,GAEvB,OAAO3N,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,mBAAoBN,GAAMjC,KAAK,WACrE,OAAOgP,KAUX1N,EAAQmB,UAAU0M,qBAAuB,WACvC,IAAmBC,EAAkBC,EAOrC,OALAD,EAAmBhP,EAAEkL,OAAOnL,KAAKkK,UAAW,SAAS7D,GAAW,OAAOA,EAAQ+E,YAEtEyB,KADTqC,EAAejP,EAAEyH,IAAIuH,EAAkB,SAE3BE,SAAUpJ,EAAE,uBAEjB5E,EAAQE,WAAW+N,SAASpP,KAAKoC,GAAI,gBAAiByK,KAAMqC,KASrE/N,EAAQmB,UAAU+M,aAAe,WAC/B,IAAIvM,EAIJ,OAFAA,GAAYqM,SAAUnP,KAAKgF,KAAO,QAE3B7D,EAAQE,WAAWiO,KAAKtP,KAAKoC,GAAI,eAAgB,KAAMU,IAUhE3B,EAAQmB,UAAUiN,QAAU,SAASzM,GACnC,IAAIC,EAAQ/C,KAEZ,OAAOmB,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,SAAUU,GAC/CjD,KAAK,WAEJ,OADAkD,EAAMoF,SAAStF,eAAeI,QAAQ,KAC/B,KAYb9B,EAAQmB,UAAUkN,iBAAmB,SAAS3C,EAAMgC,GAClD,IAA4CY,EAAxC1M,EAAQ/C,KAAwC0P,EAAa1P,KAAKkK,UAAUzH,OA0BhF,OAvBAgN,EAASxP,EAAEkL,OAAO0D,EAAU,SAASxI,EAASlE,GAAK,OAAQkE,EAAQsI,SACnE3O,KAAKgM,aAAeyD,EAAOhN,OAG3BxC,EAAE0P,aAAa3P,KAAKkK,UAAW,SAAS7D,EAAS1D,GAC/C,IAAIiN,EAAgB3P,EAAE4P,UAAUhD,EAAM,SAASpF,GAC7C,OAAOpB,EAAQoB,KAAOA,IAEpBmI,GAAiB,GACnB/C,EAAK5E,OAAO2H,EAAe,UACpB7M,EAAMgH,QAAQ1D,EAAQoB,KACzBpB,EAAQoB,KAAO1E,EAAMyI,wBAChBzI,EAAMyI,gBACfzI,EAAMmH,UAAUjC,OAAOtF,EAAO,GAC1BA,EAAQ+M,IACVA,EAAa/M,IAGfI,EAAMgH,QAAQ1D,EAAQoB,MAAQoF,EAAKpK,SAKhCiN,GAUTvO,EAAQmB,UAAUwN,gBAAkB,SAASjB,EAAU/L,GACrD,IAAkB+J,EAAM/K,EAApBiB,EAAQ/C,KAMZ,OAHA8B,GAAS+K,KADTA,EAAO5M,EAAEyH,IAAImH,EAAU,QAEnB/L,GAAShD,QAAQC,OAAO+B,EAAMgB,GAE3B3B,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,cAAeN,GACpDjC,KAAK,SAASiC,GAKb,OAHIA,EAAK2H,QACP1G,EAAMoF,SAAS3C,YAAY1D,EAAK2H,QAE3B1G,EAAMyM,iBAAiB3C,EAAMgC,MAU1C1N,EAAQmB,UAAUyN,4BAA8B,SAASlB,GACvD,IACIhC,EAAO5M,EAAEyH,IAAImH,EAAU,OACvBmB,EAAuB,QAAbhQ,KAAK0E,KAAiB,wBAA0B,qBAE9D,OAAOvD,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI4N,GAASnD,KAAMA,KASzD1L,EAAQmB,UAAU2N,cAAgB,SAASpB,EAAUqB,GACnD,IAAInN,EAAQ/C,KACR6M,EAAO5M,EAAEyH,IAAImH,EAAU,OAE3B,OAAO1N,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,gBAAiByK,KAAMA,EAAMqD,OAAQA,IAC1ErQ,KAAK,SAASiC,GAETA,EAAK2H,QACP1G,EAAMoF,SAAS3C,YAAY1D,EAAK2H,WAUxCtI,EAAQmB,UAAU6N,cAAgB,SAAStB,EAAUqB,GACnD,IAAkBrD,EAAd9J,EAAQ/C,KAGZ,OADA6M,EAAO5M,EAAEyH,IAAImH,EAAU,OAChB1N,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,gBAAiByK,KAAMA,EAAMqD,OAAQA,IAC1ErQ,KAAK,WACJ,OAAOkD,EAAMyM,iBAAiB3C,EAAMgC,MAS1C1N,EAAQmB,UAAU8N,OAAS,WACzB,IAAIrN,EAAQ/C,KACZF,QAAQI,QAAQF,KAAK4K,YAAa,SAASyF,EAAOC,UACzCvN,EAAMuN,KAEfxQ,QAAQC,OAAOC,KAAMA,KAAK4K,aAC1B5K,KAAK4K,YAAc5K,KAAK6K,SAS1B1J,EAAQmB,UAAUiO,MAAQ,SAASC,GACjC,IAAIzN,EAAQ/C,KAEZ,OAAOmB,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAI,QAASuL,OAAQ6C,IAAaC,QAAQ,WAE5E,OADA1N,EAAMoF,SAAStF,eAAeI,QAAQ,KAC/B,KAUX9B,EAAQmB,UAAUuL,MAAQ,WACxB,IAAI9K,EAAQ/C,KAEZ,OAAOmB,EAAQE,WAAWqP,KAAK1Q,KAAKoC,GAAIpC,KAAK6K,SAAShL,KAAK,SAASiC,GAIlE,OAFAiB,EAAM6H,YAAc7H,EAAM8H,QAC1B1J,EAAQX,KAAKC,MAAMC,KAAKC,UAAUmB,OAAMlB,EAAW,IAC5CkB,GACN,SAAS6O,GAIV,OAHAxP,EAAQX,KAAKoQ,MAAMlQ,KAAKC,UAAUgQ,EAAS7O,UAAMlB,EAAW,IAE5DmC,EAAMqN,SACCO,EAAS7O,QAUpBX,EAAQmB,UAAUyC,YAAc,SAASD,EAAME,GAC7C,OAAOhF,KAAKmI,SAASpD,YAAYD,EAAME,IASzC7D,EAAQmB,UAAUuI,MAAQ,WACxB,IAAItG,KAWJ,OAVAzE,QAAQI,QAAQF,KAAM,SAASqQ,EAAOC,GACzB,eAAPA,GACO,YAAPA,GACO,WAAPA,GACO,QAAPA,GACO,WAAPA,GACU,KAAVA,EAAI,KACN/L,EAAQ+L,GAAOD,KAGZ9L,GAUTpD,EAAQmB,UAAUiG,QAAU,SAASL,GACnC,IAAInF,EAAQ/C,KACRsH,EAAWnG,EAAQL,GAAGyG,QAkE1B,OAhEAvH,KAAK6Q,mBAAqB3I,EAC1BlI,KAAK6Q,mBAAmBhR,KAAK,SAASiC,GACpC,IAAImN,EAAmBhP,EAAEyH,IAAI3E,EAAMmI,oBAAqB,OACxD/J,EAAQJ,SAAS,WACf,IAAI8L,EAAM7C,IAELlI,EAAK+K,MAAQ9J,EAAM+N,UAAYhP,EAAK+K,KAAKpK,OAAS,KACrDM,EAAM+N,UAAY,GAEpB/N,EAAMqF,KAAKtG,GAEPiB,EAAM8J,OACR1L,EAAQX,KAAKC,MAAM,cAAgBsC,EAAM8J,KAAKpK,OAAS,aAGvDuH,EAAU/J,EAAE8Q,UAAUhO,EAAMiH,QAAQ,GAAI,eACxCjH,EAAMiH,QAAQ/B,OAAO,EAAG,GAGpBlF,EAAMiO,WACRnE,EAAO9J,EAAM8J,KAAK,GAClB9J,EAAM8J,KAAK5E,OAAO,EAAG,IAIvBhI,EAAEqE,OAAOvB,EAAM8J,KAAM,SAASoE,EAAMC,EAAK/O,GACvC,IAAIL,EAAMqP,EAiBV,OAfErP,EADEiB,EAAMiO,SACD/Q,EAAEmR,UAAUvE,EAAMqE,IAEjBzJ,IAAKyJ,EAAIjM,YAInBlC,EAAMgH,QAAQjI,EAAK2F,KAAOtF,GAE1BgP,EAAY,IAAIhQ,EAAQM,SAASsB,EAAMoF,SAAS/F,GAAIW,EAAOjB,GAAM,IAGvDsJ,SAAW6D,EAAiB1L,QAAQ4N,EAAU1J,MAAQ,EAEhEwJ,EAAKhN,KAAKkN,GAEHF,GACNlO,EAAMmH,WAGTjK,EAAEC,QAAQ6C,EAAMiH,QAAS,SAASlI,GAChC,IAAIoP,EAAMjR,EAAEmR,UAAUpH,EAASlI,GAC3BK,EAAIY,EAAMgH,QAAQmH,EAAIzJ,IAAIxC,YAC9BlC,EAAMmH,UAAU/H,GAAGiG,KAAK8I,MAG5B/P,EAAQX,KAAKC,MAAM,WAAasC,EAAMX,GAAK,UAC3CW,EAAMkH,YAAa,EACnB3C,EAASM,QAAQ7E,EAAMmH,cAExB,SAASpI,GACVhC,QAAQC,OAAOgD,EAAOjB,GACtBiB,EAAMsO,SAAU,EAChBtO,EAAMkH,YAAa,EACnB3C,EAAShC,WAGJgC,EAASS,SASlB5G,EAAQmB,UAAU8K,eAAiB,SAASN,GAC1C,IAAI/J,EAAQ/C,KAEZ8M,EAAkBjN,KAAK,SAASiC,GAC9BX,EAAQJ,SAAS,WACf,IAAIiJ,EAASsH,EACTxP,EAAKW,OAAS,IAEhBuH,EAAU/J,EAAE8Q,UAAUjP,EAAK,GAAI,eAC/BA,EAAKmG,OAAO,EAAG,GACfhI,EAAEC,QAAQ4B,EAAM,SAASyP,GACvBA,EAAiBtR,EAAEmR,UAAUpH,EAASuH,GACtCD,EAAIvO,EAAMgH,QAAQwH,EAAe9J,IAAIxC,YACjCnF,QAAQ8L,UAAU0F,IACpBvO,EAAMmH,UAAUoH,GAAGlJ,KAAKmJ,WAapCpQ,EAAQmB,UAAUkP,iBAAmB,WACnC,IAAIC,EAASzR,KAAK0R,WAAY,YAAc,cAE5CvQ,EAAQE,WAAWmD,KAAKxE,KAAKoC,GAAIqP,IAj/BrC,GCAA,WACE,aAUA,SAASrQ,EAAQ+E,EAAW5B,EAASoN,EAAmBC,GACtD5R,KAAKmG,UAAYA,EACjBnG,KAAK6R,SAAWtN,EAChBvE,KAAK8R,mBAAoB,EACzB9R,KAAK+R,oBAAqB,EAC1B/R,KAAK+G,UAAYiL,MAAQC,MAAQC,QACjClS,KAAKoL,UAAW,EAGsB,mBAA3BuG,EAAkB9R,OAEvBC,QAAQgK,YAAY8H,IAAUA,GAChC5R,KAAKoI,KAAKuJ,GAEZ3R,KAAKyH,IAAM0B,SAASwI,EAAkBlK,MAItCzH,KAAKuI,QAAQoJ,GASjBvQ,EAAQP,UAAY,KAAM,WAAY,OAAQ,aAAc,mBAAoB,WAAY,cAAe,SAASC,EAAIC,EAAUP,EAAMQ,EAAUmR,EAAgBlR,EAAUC,GAoB1K,OAnBApB,QAAQC,OAAOqB,GACbgR,OAAQD,EACRrR,GAAIA,EACJC,SAAUA,EACVP,KAAMA,EACNa,WAAY,IAAIJ,EAASD,EAASM,WAAW,aAAe,OAAQN,EAASM,cAC7EC,aAAcL,EACdmR,QAASvS,QAAQ4M,KAAKxL,EAAaA,EAAYoR,UAI7CpR,EAAYuF,SAAS8L,uBACvBnR,EAAQoR,MAAQtR,EAAYuF,SAAS8L,sBAEnCrR,EAAYuF,SAASgM,mCACqC,UAA1DvR,EAAYuF,SAASgM,oCACvBrR,EAAQsR,4BAA6B,GAGhCtR,IAOT,IACEtB,QAAQ4B,OAAO,iBAEjB,MAAMC,GACJ7B,QAAQ4B,OAAO,iBAAkB,gBAEnC5B,QAAQ4B,OAAO,iBACZ0H,SAAS,oBACRuJ,WAAiB,EACjBC,gBAAiB,EACjBC,QAAiB,EACjBC,OAAiB,EACjBC,WAAiB,MAElBnR,QAAQ,UAAWR,EAAQP,UAS9BO,EAAQ4R,WAAa,SAASC,EAAOC,GACnC,IAAIC,EAAK,IAAIjF,OAAO+E,EAAO,KACvBG,KAUJ,OARAnT,EAAEC,QAAQD,EAAEoT,KAAKjS,EAAQoR,OAAQ,SAASc,GACxC,IAAIC,EAAOnS,EAAQoR,MAAMc,IACE,GAAvBC,EAAK,GAAGC,OAAOL,KACZlT,EAAEwT,SAASP,EAAcI,IAC5BF,EAAQnP,MAAOe,KAAMsO,EAAK5N,YAAa6N,EAAK,GAAIG,MAAOH,EAAK,QAI3DH,GASThS,EAAQkB,UAAU8F,KAAO,SAAStG,GAChC,IAAIiB,EAAQ/C,KACZF,QAAQC,OAAOC,KAAM8B,GACrB9B,KAAK2T,uBACL3T,KAAK+R,oBAAqB,EAC1B9R,EAAEC,QAAQF,KAAKqN,MAAO,SAASuG,EAAMzR,GACb,KAAlByR,EAAKC,OAAO,IACd9Q,EAAMsK,MAAMpF,OAAO9F,EAAG,EAAE,IAAMyR,MAWpCxS,EAAQkB,UAAUgE,cAAgB,SAASxD,GACzC,IAAIC,EAAQ/C,KAAMoC,EAAKpC,KAAKoC,GAE5B,SAAS0R,IACP,IAAIhP,EAKJ,OAJAA,EAAO7E,EAAEyH,IAAI3E,EAAM8O,SAAS/M,KAAK4E,MAAM,KAAM,SAASC,GACpD,MAAO,SAAWA,EAAUC,qBAEzB3B,OAAO,EAAG,EAAGlF,EAAMoD,WACjBrB,EAAK+E,KAAK,KAcnB,OAXI/J,QAAQgK,YAAY9J,KAAKoC,KAAOU,GAAWA,EAAQiR,WACrD/T,KAAKoC,GAAK0R,IAAc,IAAM9T,KAAKyH,IACnCrF,EAAKpC,KAAKoC,IAERU,GAAWA,EAAQyD,SAAWvG,KAAKgU,UACrC5R,EAAK0R,IAAc,IAAM9T,KAAKgU,SAE5BlR,GAAWA,EAAQmR,mBACrB7R,EAAKhB,EAAQC,WAAWyD,KAAK1C,IAGxBA,GASThB,EAAQkB,UAAU4R,QAAU,SAASzM,GACnC,IAA6C9E,EAAzCwR,EAAUnU,KAAKyH,MAAQ,EAAI1E,EAAQ/C,KAEnCmU,GAAUhL,SAAS1B,KACrBzH,KAAKyH,IAAM0B,SAAS1B,GACpBzH,KAAKsG,eAAeyN,SAAS,IACzBI,GAAU,GACZA,EAASA,EAAOlP,WACZnF,QAAQ8L,UAAU5L,KAAK6R,SAAS9H,QAAQoK,MAC1CxR,EAAQ3C,KAAK6R,SAAS9H,QAAQoK,GAC9BnU,KAAK6R,SAAS9H,QAAQtC,GAAO9E,SACtB3C,KAAK6R,SAAS9H,QAAQoK,GAG7BlU,EAAEC,SAAS,OAAQ,KAAM,WAAY,SAASkU,GAC5CrR,EAAM8O,SAAS3H,UAAUvH,GAAOyR,GAAQrR,EAAMqR,OAM9CpU,KAAK6R,SAASwC,YAAYvL,gBACuB,SAAjD9I,KAAK6R,SAASwC,YAAYvL,eAAepE,MAC3C1E,KAAK6R,SAASwC,YAAYvL,eAAe+C,YAYjDzK,EAAQkB,UAAUqR,qBAAuB,WACvC,IAAI5Q,EAAQ/C,KACRG,EAAaF,EAAEyH,IAAI3E,EAAM8O,SAAS1J,SAAShI,WAAY,SAG3DF,EAAEC,SAAS,OAAQ,KAAM,KAAM,MAAO,YAAa,SAASwE,GAC1DzE,EAAEC,QAAQ6C,EAAM2B,GAAO,SAAS5C,GAC1BA,EAAKkD,MAAQlD,EAAKkD,MAAQlD,EAAKvB,OACjCuB,EAAKxB,KAAOwB,EAAKkD,KAAO,KAAOlD,EAAKvB,MAAQ,IAExCuB,EAAKkD,KAAKvC,OAAS,GAErBX,EAAKwS,UAAYxS,EAAKkD,KACflD,EAAKkD,KAAK0E,MAAM,KAAKjH,SAE5BX,EAAKwS,UAAYrU,EAAEsU,MAAMtU,EAAEuU,KAAK1S,EAAKkD,KAAK0E,MAAM,QAAQA,MAAM,OAAO2E,QAAQ,IAAK,MAE7EvM,EAAKvB,QACZuB,EAAKxB,KAAO,IAAMwB,EAAKvB,MAAQ,IAC/BuB,EAAKwS,UAAYxS,EAAKvB,MAAMmJ,MAAM,KAAK,IAGzC5H,EAAK2S,MAAQrT,EAAQiR,QAAQvQ,EAAKvB,MAAO,IAIrCN,EAAEsD,QAAQpD,EAAY2B,EAAKvB,QAAU,IACvCuB,EAAKwS,UAAYvO,EAAE,YAW3B3E,EAAQkB,UAAUoS,iBAAmB,SAAS1J,GAC5C,IAAIjI,EAAQ/C,KAAM2U,KAAaC,EAAQ,EAAGC,EAAQ,EAelD,OAZA5U,EAAEC,SAAS,KAAM,KAAM,OAAQ,SAASwE,GACtCmQ,GAAS9R,EAAM2B,GAAO3B,EAAM2B,GAAMjC,OAAS,EAC3CxC,EAAEC,QAAQ6C,EAAM2B,GAAO,SAAS5C,EAAMK,GAChCyS,EAAQ5J,GACV2J,EAAO1Q,KAAKnC,EAAKwS,WACnBM,QAIAC,EAAQ7J,GACV2J,EAAO1Q,KAAK8B,EAAE,mBAAqB8O,EAAQ7J,IAEtC2J,EAAO9K,KAAK,OASrBzI,EAAQkB,UAAUwS,cAAgB,SAASpQ,GACzC,IAAIqQ,EAAU,GAKd,OAJI/U,KAAK0E,IAAS1E,KAAK0E,GAAMjC,OAAS,IACpCsS,EAAU/U,KAAK0E,GAAM,GAAGM,MAAQhF,KAAK0E,GAAM,GAAGnE,OAAS,IAGlDwU,GAST3T,EAAQkB,UAAU0S,cAAgB,WAChC,IAAIC,EAAkB,EAQtB,OAPAA,EAAkBhV,EAAEqE,QAAQ,KAAM,MAAOrE,EAAEyM,KAAK,SAASkI,EAAOlQ,GAC9D,OAAI1E,KAAK0E,GACAkQ,EAAQ5U,KAAK0E,GAAMjC,OAEnBmS,GACR5U,MAAOiV,IAEFjV,KAAKkV,SAAWD,EAAkB,GAQ5C7T,EAAQkB,UAAU6S,kBAAoB,WACpCnV,KAAK+R,oBAAqB,SACnB/R,KAAKoV,QASdhU,EAAQkB,UAAU+S,SAAW,WAC3B,IAAItS,EAAQ/C,KACRsV,KACAjS,EAAS,SAASkS,GAChBA,EAAKC,SAAW,uBACC,gCAAbD,EAAK7Q,KACPrB,EAAOpD,EAAE2E,KAAK2Q,EAAKE,QAAS,SAASC,GACnC,OAAOH,EAAKI,eAAiBD,EAAcE,eAItC9V,QAAQ+V,QAAQN,EAAKE,UACX,2BAAbF,EAAK7Q,MAAgE,IAA3B6Q,EAAK,kBACjDxS,EAAM+S,QACJC,MAAOR,EAAKQ,MACZC,YAAaT,EAAKU,aAAaV,EAAKU,aAAaxT,OAAS,GAC1D4D,QAASkP,EAAKlP,SAGI,8BAAbkP,EAAK7Q,OACZ3B,EAAMmT,WACJH,MAAOR,EAAKQ,OAEVR,EAAKQ,MACPhT,EAAMmT,UAAU7P,QAAUN,EAAE,6BAE5BhD,EAAMmT,UAAU7P,QAAUN,EAAE,kIAEhC9F,EAAEC,QAAQqV,EAAKE,QAAS,SAASU,GAC/B9S,EAAO8S,OAILrW,QAAQgK,YAAYyL,EAAKa,eAE3Bb,EAAKa,YAAcb,EAAKE,QACxB1S,EAAM+O,mBAAsByD,EAAKa,YAAY7S,QAAQ,aAAe,GAErD,yBAAbgS,EAAK7Q,MACP6Q,EAAKc,MAAO,EACRtT,EAAMgP,oBAAsB3Q,EAAQsR,4BAClC5S,QAAQgK,YAAYyL,EAAKe,iBAC3Bf,EAAKe,cAAgBC,SAASC,cAAc,OAC5CjB,EAAKe,cAAcG,UAAYlB,EAAKa,YACpCtW,QAAQI,SAAS,MAAO,OAAQ,UAAW,aAAc,SAAU,SAASwW,GAC1E,IACIC,EACAtG,EACAlO,EAHAyU,EAAWrB,EAAKe,cAAcO,iBAAiB,WAAaH,EAAS,KAIzE,IAAKvU,EAAI,EAAGA,EAAIyU,EAASnU,OAAQN,IAE/BkO,GADAsG,EAAU7W,QAAQ6W,QAAQC,EAASzU,KACnBiS,KAAK,UAAYsC,GACjCC,EAAQvC,KAAKsC,EAAQrG,GACrBsG,EAAQG,WAAW,UAAYJ,KAGnC3T,EAAM+O,mBAAoB,GAE5ByD,EAAKE,QAAUF,EAAKe,cAAcG,WAGlClB,EAAKE,QAAUF,EAAKa,YAEtBd,EAAMrR,KAAKsR,IAES,yBAAbA,EAAK7Q,MACQ,0BAAb6Q,EAAK7Q,MACQ,yBAAb6Q,EAAK7Q,MAEK,0BAAb6Q,EAAK7Q,KACP6Q,EAAKC,SAAW,uBACI,yBAAbD,EAAK7Q,OACZ6Q,EAAKC,SAAW,uBAGlBD,EAAKwB,SAAU,EACfzB,EAAMrR,KAAKsR,KAGXA,EAAKc,MAAO,EACZd,EAAKE,QAAUF,EAAKa,YACpBd,EAAMrR,KAAKsR,MAKrB,OAAIvV,KAAKoV,OAEApV,KAAKoV,QAELpV,KAAKsV,OACZjS,EAAOrD,KAAKsV,OAGdtV,KAAKoV,OAASE,EAEPA,IAUTlU,EAAQkB,UAAU0U,iBAAmB,WACnC,IAAIjU,EAAQ/C,KAEZ,OAAOoB,EAAQC,WAAWW,MAAMhC,KAAKsG,gBAAiB,QAAQzG,KAAK,SAASiC,GAE1E,OADAhC,QAAQC,OAAOgD,EAAOjB,GACfV,EAAQC,WAAWW,MAAMe,EAAMuD,eAAeC,SAAS,IAAQ,QAAQ1G,KAAK,SAASiC,GAE1F,IAAI1B,EAAWH,EAAE2E,KAAK7B,EAAM8O,SAAS1J,SAAShI,WAAY,SAASC,GACjE,OAA4D,IAArD0B,EAAKmV,KAAKC,cAAc3T,QAAQnD,EAASG,SAE9CH,IACF0B,EAAKmV,KAAO7W,EAASE,MACvB,IAAIkG,EAAkBpF,EAAQG,aAAakF,SAASC,sBAAsB3D,EAAM8O,SAAS1J,SAAS/F,IASlG,OARIoE,EAAgBrB,WACdqB,EAAgBrB,SAASwB,aAC3B7E,EAAK8E,MAAO,GACVJ,EAAgBrB,SAAS0B,gBAC3B/E,EAAKgF,SAAU,IAEnB1F,EAAQZ,KAAKC,MAAM,cAAgBC,KAAKC,UAAUmB,OAAMlB,EAAW,IACnEd,QAAQC,OAAOgD,EAAMgE,SAAUjF,GACxBA,EAAKqV,UAUlB/V,EAAQkB,UAAU8U,cAAgB,WAChC,OAAOhW,EAAQC,WAAWW,MAAMhC,KAAKsG,gBAAiB,cAUxDlF,EAAQkB,UAAU+U,OAAS,SAAS/D,GAClC,OAAOtT,KAAKsX,gBAAgB,MAAOhE,IAUrClS,EAAQkB,UAAUiV,UAAY,SAASjE,GACrC,OAAOtT,KAAKsX,gBAAgB,SAAUhE,IAWxClS,EAAQkB,UAAUgV,gBAAkB,SAASxI,EAAWwE,GACtD,IAAIxR,GACFgN,UAAWA,EACXC,SAAU/O,KAAKyH,KACf4F,MAAOiG,EAAIjF,QAAQ,OAAQ,MAG7B,GAAIiF,EACF,OAAOlS,EAAQC,WAAWmD,KAAKxE,KAAK6R,SAAS1H,MAAO,mBAAoBrI,IAW5EV,EAAQkB,UAAUkV,YAAc,SAAS1S,EAAM2M,EAAQ3P,GACrD,IAAIiB,EAAQ/C,KACZoB,EAAQC,WAAWmD,MAAMxE,KAAKsG,gBAAiBxB,GAAM+E,KAAK,KAAM4H,EAAQ3P,GAAMjC,KAAK,SAASiC,GAC1FV,EAAQL,SAAS,WACfgC,EAAM0U,eAUZrW,EAAQkB,UAAUoV,SAAW,WAE3B,OADA1X,KAAK2X,iBAAmB,EACjBvW,EAAQC,WAAWmD,KAAKxE,KAAKsG,gBAAiB,YASvDlF,EAAQkB,UAAUsV,kBAAoB,SAASzI,GAC7C,IAAIrN,GAASqN,SAAYA,GACrBpM,EAAQ/C,KACZoB,EAAQC,WAAWW,MAAMhC,KAAKsG,eAAeC,SAAS,IAAQ,mBAAoBzE,GAAMjC,KAAK,SAASiC,GACpGV,EAAQL,SAAS,WACfgC,EAAMgE,SAAS8Q,gBAAkB5X,EAAEkL,OAAOpI,EAAMgE,SAAS8Q,gBAAiB,SAASC,GACjF,OAAOA,EAAW3I,UAAYA,SAYtC/N,EAAQkB,UAAUyV,WAAa,WAC7B,IAAIhV,EAAQ/C,KACRyR,EAAS,qBAKb,OAHIzR,KAAKgY,YACPvG,EAAS,wBAEJrQ,EAAQC,WAAWmD,KAAKxE,KAAKsG,gBAAiBmL,GAAQ5R,KAAK,SAASiC,GACzEV,EAAQL,SAAS,WACfgC,EAAMiV,WAAajV,EAAMiV,eAW/B5W,EAAQkB,UAAU2H,WAAa,WAC7B,OAAOjK,KAAKiY,SAAW7W,EAAQgR,OAAOS,SAUxCzR,EAAQkB,UAAUmV,QAAU,SAAS3U,GACnC,IAAkB6O,EAAd5O,EAAQ/C,KAEZ,OAAI8C,GAAWA,EAAQoV,UAAYlY,KAAKmY,oBACjCnY,KAAK2O,QACRvN,EAAQC,WAAWW,MAAMhC,KAAKsG,gBAAiB,mBAAmBzG,KAAK,WACrEuB,EAAQL,SAAS,WACfgC,EAAM4L,QAAS,EACf5L,EAAM8O,SAAS7F,kBAIdhM,OAGT2R,EAAoBvQ,EAAQC,WAAWW,MAAMhC,KAAKsG,cAAcxD,GAAU,QAEnE9C,KAAKuI,QAAQoJ,KAStBvQ,EAAQkB,UAAU6E,aAAe,SAASF,GACxC,IAAI+K,EAAIlQ,EAAMsK,EAAQ,mBAAmBgM,KAAKnR,GAC1CmF,IAEF4F,EAAK/R,EAAEyH,IAAI2Q,mBAAmBjM,EAAM,IAAI1C,MAAM,KAAM,SAASnJ,GAC3D,MAAO,IAAMA,EAAM+X,OAAS,MAE9BxW,GAASkQ,GAAIA,GAEb/R,EAAEC,SAAS,UAAW,QAAS,SAASsH,GACtC,IAAI2L,EAAK,IAAIjF,OAAO1G,EAAQ,YAC5BA,EAAkB,QAATA,EAAkB,OAASA,GACpC4E,EAAQ+G,EAAGiF,KAAKnR,MAEdnF,EAAK0F,GAAS6Q,mBAAmBjM,EAAM,OAG3CnM,EAAEC,SAAS,KAAM,OAAQ,SAASsH,GAChC,IAAI2L,EAAK,IAAIjF,OAAO1G,EAAQ,aAC5B4E,EAAQ+G,EAAGiF,KAAKnR,MAEdnF,EAAK0F,GAASvH,EAAEyH,IAAI2Q,mBAAmBjM,EAAM,IAAI1C,MAAM,KAAM,SAASnJ,GACpE,MAAO,IAAMA,EAAM+X,OAAS,SAGlCxY,QAAQC,OAAOC,KAAK+G,SAAUjF,KAUlCV,EAAQkB,UAAUiW,OAAS,WACzB,OAAOvY,KAAKwY,UAAU,UASxBpX,EAAQkB,UAAUmW,UAAY,WAC5B,OAAOzY,KAAKwY,UAAU,aASxBpX,EAAQkB,UAAUoW,SAAW,WAC3B,OAAO1Y,KAAKwY,UAAU,YAgBxBpX,EAAQkB,UAAUkW,UAAY,SAAS/G,GACrC,IAAI1O,EAAQ/C,KAGZ,OAAOoB,EAAQC,WAAWW,MAAMhC,KAAKsG,gBAAiBmL,GAAQ5R,KAAK,SAASiC,GAC1E,IAAIyC,EAAS8B,EAKb,OAJAjF,EAAQZ,KAAKC,MAAM,OAASgR,EAAS,KAAO/Q,KAAKC,UAAUmB,OAAMlB,EAAW,IAC5E2D,EAAUxB,EAAM8O,SAAS1J,SAAStD,kBAAkB/C,EAAKsE,aACzDC,EAAU,IAAIjF,EAAQU,EAAKqE,UAAW5B,EAASzC,GAExCV,EAAQC,WAAWW,MAAMqE,EAAQC,eAAeC,SAAS,IAAQ,QAAQ1G,KAAK,SAASiC,GAC5FV,EAAQZ,KAAKC,MAAM,OAASgR,EAAS,KAAO/Q,KAAKC,UAAUmB,OAAMlB,EAAW,GAAK,kBAAoBmC,EAAM0E,KAC3G,IAAIjB,EAAkBpF,EAAQG,aAAakF,SAASC,sBAAsB3D,EAAM8O,SAAS1J,SAAS/F,IAWlG,OAVIoE,EAAgBrB,WACdqB,EAAgBrB,SAASwB,aAC3B7E,EAAK8E,MAAO,GACVJ,EAAgBrB,SAAS0B,gBAC3B/E,EAAKgF,SAAU,IAEnBhH,QAAQC,OAAOsG,EAAQU,SAAUjF,GAGjCuE,EAAQsS,QAAUtS,QAAStD,EAAO0O,OAAQA,GACnCpL,OAWbjF,EAAQkB,UAAUuL,MAAQ,WACxB,IAAI9K,EAAQ/C,KACR8B,EAAO9B,KAAK+G,SAIhB,OAFA3F,EAAQZ,KAAKC,MAAM,UAAYC,KAAKC,UAAUmB,OAAMlB,EAAW,IAExDQ,EAAQC,WAAWqP,KAAK1Q,KAAKsG,eAAeC,SAAS,IAAQzE,GAAMjC,KAAK,SAAS8Q,GACtFvP,EAAQZ,KAAKC,MAAM,UAAYC,KAAKC,UAAUgQ,OAAU/P,EAAW,IACnEmC,EAAMmR,QAAQvD,EAASlJ,KACvB1E,EAAM0U,UACN1U,EAAMiE,OAAQ,KAUlB5F,EAAQkB,UAAUsW,MAAQ,WACxB,IAAI7V,EAAQ/C,KACR8B,EAAOhC,QAAQwM,KAAKtM,KAAK+G,UAI7B,OAFA3F,EAAQZ,KAAKC,MAAM,UAAYC,KAAKC,UAAUmB,OAAMlB,EAAW,IAExDQ,EAAQC,WAAWmD,KAAKxE,KAAKsG,eAAeC,SAAS,IAAQ,OAAQzE,GAAMjC,KAAK,SAAS8Q,GAC9F,MAAuB,WAAnBA,EAAS7I,QACPhI,QAAQ8L,UAAU7I,EAAM4V,UACtB5V,EAAM4V,OAAOlH,OAAOoH,WAAW,SACjC9V,EAAM4V,OAAOtS,QAAQyS,YAAa,EACJ,WAAvB/V,EAAM4V,OAAOlH,SACpB1O,EAAM4V,OAAOtS,QAAQ0S,aAAc,IAEhCpI,GAGAvP,EAAQN,GAAGwE,OAAOqL,EAAS7O,SAWxCV,EAAQkB,UAAUiG,QAAU,SAASoJ,GACnC,IAAI5O,EAAQ/C,KAwBZ,OArBAA,KAAKiY,QAAU7W,EAAQgR,OAAOQ,gBAC9BxR,EAAQL,SAAS,WACXgC,EAAMkV,SAAW7W,EAAQgR,OAAOU,SAClC/P,EAAMkV,QAAU7W,EAAQgR,OAAOS,UAChCzR,EAAQgR,OAAOW,YAGlB/S,KAAKmY,mBAAqBxG,EAAkB9R,KAAK,SAASiC,GAMxD,OAJqB,IAAjBiB,EAAM4L,SACR5L,EAAM4L,QAAS,EACf5L,EAAM8O,SAAS7F,eAEV5K,EAAQL,SAAS,WAItB,cAHOgC,EAAMqS,OACbrS,EAAMkV,QAAU7W,EAAQgR,OAAOU,OAC/B/P,EAAMqF,KAAKtG,GACJiB,MAIJ/C,KAAKmY,oBASd/W,EAAQkB,UAAUuI,MAAQ,SAAS/H,GACjC,IAAIuD,KACA2S,EAAoBlW,GAAWA,EAAQkW,kBAO3C,OANAlZ,QAAQI,QAAQF,KAAM,SAASqQ,EAAOC,IACzB,eAAPA,GAAkC,KAAVA,EAAI,IAAa0I,KAC3C3S,EAAQiK,GAAOD,KAIZhK,GASTjF,EAAQkB,UAAU8M,SAAW,WAC3B,IAAItN,EAAMgB,EAKV,OAHAhB,GAAS+K,MAAO7M,KAAKyH,MACrB3E,GAAYqM,SAAUnP,KAAKiN,QAAU,QAE9B7L,EAAQC,WAAW+N,SAASpP,KAAK6R,SAASzP,GAAI,eAAgBN,EAAMgB,IAS7E1B,EAAQkB,UAAU2W,oBAAsB,WACtC,IAAInW,EAIJ,OAFAA,GAAYqM,SAAUpJ,EAAE,eAAiB,IAAM/F,KAAKyH,IAAM,QAEnDrG,EAAQC,WAAW+N,SAASpP,KAAKsG,gBAAiB,qBAAsB,KAAMxD,IAhzBzF,GCAA,WACE,aAMA,SAASoW,IACPlZ,KAAKmZ,MAAO,EACZnZ,KAAKqG,QAAU,KACfrG,KAAK4W,YAQPsC,EAAarY,UAAY,YAAa,WAAY,WAAY,YAAa,SAASuY,EAAWrY,EAAUsY,EAAUC,GAQjH,OAPAxZ,QAAQC,OAAOmZ,GACbE,UAAWA,EACXrY,SAAUA,EACVsY,SAAUA,EACVC,UAAWA,IAGN,IAAIJ,IAQbA,EAAa5W,UAAUiX,WAAa,SAASlT,GAC3CrG,KAAKqG,QAAUA,GAQjB6S,EAAa5W,UAAUkX,cAAgB,SAAS7C,GAC9C3W,KAAK4W,SAAS3S,KAAK0S,IAQrBuC,EAAa5W,UAAUmX,gBAAkB,SAASC,GAChD1Z,KAAKqT,MACH6F,EAAaI,UAAUK,cACrBrJ,IAAK,OACL5K,YAAaK,EAAE,sBACf6T,SAAU9Z,QAAQ4M,KAAKgN,EAAOA,EAAMG,iBAEtCX,EAAaI,UAAUK,cACrBrJ,IAAK,QACL5K,YAAaK,EAAE,kBACf6T,SAAU9Z,QAAQ4M,KAAKgN,EAAOA,EAAMI,cAGxC7Z,EAAEC,QAAQF,KAAKqT,KAAM,SAAS/C,GAC5B4I,EAAaI,UAAUS,eAAezJ,MAS1C4I,EAAa5W,UAAU0X,YAAc,SAASC,EAAQC,GACpD,IAAInX,EAAQ/C,KACRqZ,EAAWH,EAAaG,SACxBc,EAAUra,QAAQ6W,QAAQ3W,KAAKqG,QAAQgP,WAAW6E,GAAWzE,SAAS7Q,KAAK,OAAO,GAAGwV,IAErFC,EAASpa,EAAEkL,OAAOnL,KAAKqG,QAAQwR,gBAAiB,SAASyC,GAC3D,OAA4C,IAArCA,EAAMC,SAAShX,QAAQ,YAG5BqM,EAAgB3P,EAAE4P,UAAUwK,EAAQ,SAAS5F,GAC/C,OAAOA,EAAM+F,IAAIjX,QAAQ4W,IAAY,IAIvCra,QAAQ6W,QAAQuC,EAAaE,UAAU,GAAGqB,MAAMC,SAAS,6BAGzD,IAAIC,EAAgBtB,EAASuB,mBACxBC,WAEDC,EAAiBzB,EAAS0B,oBACzBC,SAASf,EAAOgB,QAChBC,SAAS,KACTC,cAAc9B,EAAS+B,UAAUC,MAElCC,GACFC,SAAUzb,QAAQ6W,QAAQJ,SAASkE,MACnCe,QACEC,UAAWpB,EAAO5X,OAAQ,EAC1B4X,OAAQA,EACRzK,cAAeA,EACf8L,cAAerB,EAAOzK,IAExB+L,kBAAkB,EAClBC,WAAYC,EACZC,aAAc,aACdC,SAAUpB,EACVS,UAAWN,EACXkB,YAAa/B,EACbgC,YAAY,EACZC,aAAa,EACbC,UACE,qCACA,oFACA,wCACA,+BAAiCpW,EAAE,SAAW,IAC9C,iDACA,sCACA,mBACA,kDACA,0FACA,wCACA,+BAAiCA,EAAE,mBAAqB,IACxD,0EACA,yCACA,mBACA,WACA,2EACA,gFACA,gEACA,6CACA,qBACA,yEACA,4EACA,mFACA,2CACA,qBACA,WACA,wCACA,kFACA,mGACA,eACA,aACA,uBACA8D,KAAK,IACPuS,WAAW,EACXC,qBAAqB,EACrBC,eAAe,EACfC,aAAa,EACbC,eAAgB,WACdzZ,EAAMoW,MAAO,EACblZ,EAAEC,QAAQgZ,EAAaE,UAAUxU,KAAK,oBAAoB,GAAG6X,uBAAuB,sBAC1E,SAASC,GACP,IAAIC,EAAQD,EAAalZ,SAAS,GAClC1D,QAAQ6W,QAAQgG,GAAOC,IAAI,OAAQ,WAC7BD,EAAME,aAAeF,EAAMG,eAC7BH,EAAMI,UAAUC,IAAI,cAGxB9D,EAAanY,SAAS,WACpB4b,EAAMI,UAAUE,OAAO,YACtB,QAGjBC,aAAc,WACZpd,QAAQ6W,QAAQuC,EAAaE,UAAU,GAAGqB,MAAM0C,YAAY,6BAC5Dpa,EAAMoW,MAAO,EAEblZ,EAAEC,QAAQ6C,EAAMqa,QAAS,SAAS9M,GAChC4I,EAAaI,UAAU+D,iBAAiB/M,OAK9C+I,EAAS/J,KAAKgM,GAAQzb,KAAK,SAASyd,GAClCva,EAAM0W,gBAAgB6D,EAAW5D,SAGnCmC,EAAgB0B,SAAW,cAC3B,SAAS1B,EAAgByB,GAGvBA,EAAW5D,MAAQ1Z,KAEnBA,KAAKwd,MAAQ,WACXF,EAAWE,SAGbxd,KAAKyd,YAAc,SAAS9a,GAC1B3C,KAAK4P,cAAgBjN,EACrB3C,KAAK0b,cAAgB1b,KAAKqa,OAAO1X,IAGnC3C,KAAK8Z,UAAY,WACX9Z,KAAK4P,eAAiB5P,KAAKyb,WAC7Bzb,KAAKyd,YAAYzd,KAAK4P,cAAgB,IAG1C5P,KAAK6Z,cAAgB,WACf7Z,KAAK4P,cAAgB,GACvB5P,KAAKyd,YAAYzd,KAAK4P,cAAgB,MAQ9C9P,QAAQ4B,OAAO,iBACZE,QAAQ,eAAgBsX,EAAarY,UAtN1C,GCAA,WACE,aAOA,SAAS6c,EAAerZ,GACtBrE,KAAKmI,SAAW9D,EAQlBqZ,EAAe7c,UAAY,KAAM,WAAY,OAAQ,aAAc,WAAY,UAAW,UAAW,oBAAqB,SAASC,EAAIC,EAAUP,EAAMQ,EAAUC,EAAUE,EAASC,EAASqH,GAW3L,OAVA3I,QAAQC,OAAO2d,GACb5c,GAAIA,EACJC,SAAUA,EACVP,KAAMA,EACNa,WAAY,IAAIJ,EAASD,EAASM,WAAW,aAAe,OAAQN,EAASM,cAC7EG,SAAUL,EACV0H,eAAgB,KAChBL,QAASA,IAGJiV,IAOT,IACE5d,QAAQ4B,OAAO,iBAEjB,MAAMC,GACJ7B,QAAQ4B,OAAO,iBAAkB,gBAEnC5B,QAAQ4B,OAAO,iBACZ0H,SAAS,qBACRC,UAAW,GACXC,KAAM,MAEP1H,QAAQ,iBAAkB8b,EAAe7c,UAQ5C6c,EAAepX,cAAgB,SAASH,GACtC,OAAQA,EAAW,WAAW0D,KAAK,MASrC6T,EAAepb,UAAU8F,KAAO,SAAStG,GACvC9B,KAAKiK,YAAa,EAClBjK,KAAKgD,cACLhD,KAAK+J,WACLjK,QAAQC,OAAOC,KAAM8B,GACrB9B,KAAKoC,GAAKpC,KAAKmK,OAGjBuT,EAAepb,UAAUqb,aAAe,SAAS7b,GAC/C9B,KAAKgD,WAAalB,EAElB7B,EAAEC,QAAQF,KAAKgD,WAAY,SAASuB,GAClCA,EAAQ2F,aACR3F,EAAQwF,cAIZ2T,EAAepb,UAAUsb,YAAc,SAASxR,EAAOyR,GACrD,IAAI9a,EAAQ/C,KACRwT,EAASkK,EAAe5c,GAAGiD,OAE/B/D,KAAKiK,YAAa,EAElBhK,EAAEC,QAAQF,KAAKgD,WAAY,SAASuB,GAClCiP,EAASA,EAAO3T,KAAK,WACnB,GAAIkD,EAAMkH,WAER,OADAyT,EAAeld,KAAKC,MAAM,qBAAuB8D,EAAQO,MAClDP,EAAQsH,SAAUjD,KAAM,OAAQC,KAAK,EAAOuD,MAAOA,GAAQyR,OAKxErK,EAAO/C,QAAQ,WACb1N,EAAMkH,YAAa,KAIvByT,EAAepb,UAAUwb,WAAa,WACpCJ,EAAeld,KAAKC,MAAM,sBAC1BT,KAAKiK,YAAa,GAQpByT,EAAepb,UAAUwI,aAAe,aASxC4S,EAAepb,UAAUyb,qBAAuB,WAC9C9d,EAAEC,QAAQF,KAAKgD,WAAY,SAASuB,UAC3BA,EAAQiH,mBAUnBkS,EAAepb,UAAUqJ,mBAAqB,WAC5C,OAAO7L,QAAQ8L,UAAU3L,EAAE2E,KAAK5E,KAAKgD,WAAY,SAASuB,GACxD,OAAOzE,QAAQ8L,UAAUrH,EAAQiH,qBAYrCkS,EAAepb,UAAUgJ,kBAAoB,SAASC,EAAWnF,GAC/D,OAAOtG,QAAQ8L,UAAU3L,EAAE2E,KAAK5E,KAAKgD,WAAY,SAASuB,GACxD,OAAOA,EAAQO,MAAQsB,GAAe7B,EAAQiH,iBAAmBD,MAUrEmS,EAAepb,UAAUC,UAAY,WACnC,IAAIyb,EAAM,EAEV,OAAKle,QAAQ8L,UAAU5L,KAAKgD,aAG5B/C,EAAEC,QAAQF,KAAKgD,WAAY,SAASuB,GAClCyZ,GAAOzZ,EAAQ2F,UAAUzH,SAGpBub,GANEA,GAeXN,EAAepb,UAAUI,eAAiB,SAASC,GACjD,IAAIR,EAAGmP,EAAG2M,EAAG1Z,EAAS8B,EAEtB,GAAIvG,QAAQ8L,UAAU5L,KAAKgD,aAAeL,GAAS,EAEjD,IADAR,EAAI,EACCmP,EAAI,EAAGA,EAAItR,KAAKgD,WAAWP,OAAQ6O,IAEtC,IADA/M,EAAUvE,KAAKgD,WAAWsO,GACrB2M,EAAI,EAAGA,EAAI1Z,EAAQ2F,UAAUzH,OAAQN,IAAK8b,IAC7C,GAAI9b,GAAKQ,IACP0D,EAAU9B,EAAQ2F,UAAU+T,GACxB1Z,EAAQ0G,aAAa5E,EAAQoB,MAC/B,OAAOpB,EAMjB,OAAO,MASTqX,EAAepb,UAAU6H,IAAM,WAC7B,OAAOuT,EAAepX,cAActG,KAAKmI,SAAS/F,KASpDsb,EAAepb,UAAUoJ,sBAAwB,WAC/C,IAAIwS,EAAS,EACTC,EAAkBle,EAAE2E,KAAK5E,KAAKgD,WAAY,SAASuB,GACrD,QAAIzE,QAAQ8L,UAAUrH,EAAQiH,mBAI5B0S,GAAU3Z,EAAQhC,aACX,KAGX,OAAO2b,EAASC,EAAgBpU,QAAQoU,EAAgB3S,kBAS1DkS,EAAepb,UAAU4I,kBAAoB,WAE3C,OAAOjL,EAAEkL,OAAOlL,EAAEme,UAAUpe,KAAKgD,WAAY,SAASqb,EAAa9Z,GACjE8Z,EAAY9Z,EAAQnC,IAAMmC,EAAQ2G,yBAC5B,SAASjJ,GACf,OAAOhC,EAAEqe,KAAKrc,GAAK,KAUvByb,EAAepb,UAAU+I,eAAiB,WACxC,OAAOpL,EAAEse,IAAIte,EAAE8Q,UAAU/Q,KAAKgD,WAAY,oBAY5C0a,EAAepb,UAAUsM,cAAgB,SAASyP,EAAahR,EAAOyB,GACpE,IAAIhN,GACFuL,MAAOA,EACPyB,UAAWA,GAET0P,KACAC,KAWJ,OATAxe,EAAEC,QAAQme,EAAa,SAASxP,EAAUzM,GACxC,GAAIyM,EAASpM,OAAS,EAAG,CACvB,IAAIoK,EAAO5M,EAAEyH,IAAImH,EAAU,OAC3B2P,EAAYva,KAAK4K,GACjB,IAAI9G,EAAU2V,EAAerc,WAAWmD,KAAKpC,EAAI,mBAAoBnC,EAAEye,OAAO5c,GAAOiN,QAASlC,KAC9F4R,EAASxa,KAAK8D,MAIX2V,EAAe5c,GAAGoD,IAAIua,GAAU5e,KAAK,WAC1C,OAAOI,EAAE0e,QAAQH,MAWrBd,EAAepb,UAAUwN,gBAAkB,SAASuO,GAClD,IAAItb,EAAQ/C,KAAMye,KAElB,GAAIxe,EAAE4V,QAAQwI,IAAuC,IAAvBA,EAAY5b,OAAc,CAEtD,IAAI4D,EAAUgY,EAAY,GACtB9Z,EAAU8B,EAAQwL,SACtB,OAAOtN,EAAQuL,iBAAiBzJ,IAAUxG,KAAK,SAAS8C,GACtD,IAAIub,EAAS,EAUb,OATAje,EAAE2E,KAAK7B,EAAMC,WAAY,SAAS4b,GAChC,OAAIA,EAAexc,KAAOmC,EAAQnC,KAIhC8b,GAAUU,EAAerc,aAClB,KAGJ2b,EAASvb,IAalB,OARA1C,EAAEC,QAAQme,EAAa,SAASxP,EAAUzM,GACxC,GAAIyM,EAASpM,OAAS,EAAG,CACvB,IACIsF,EADU8G,EAAS,GAAGgD,SACJ/B,gBAAgBjB,GACtC4P,EAASxa,KAAK8D,MAIX2V,EAAe5c,GAAGoD,IAAIua,IAWjCf,EAAepb,UAAUyN,4BAA8B,SAASsO,GAC9D,IAAII,KAUJ,OARAxe,EAAEC,QAAQme,EAAa,SAASxP,EAAUzM,GACxC,GAAIyM,EAASpM,OAAS,EAAG,CACvB,IACIsF,EADU8G,EAAS,GAAGgD,SACJ9B,4BAA4BlB,GAClD4P,EAASxa,KAAK8D,MAIX2V,EAAe5c,GAAGoD,IAAIua,IAW/Bf,EAAepb,UAAU2N,cAAgB,SAASoO,EAAanO,GAC7D,IAAIuO,KAUJ,OARAxe,EAAEC,QAAQme,EAAa,SAASxP,EAAUzM,GACxC,GAAIyM,EAASpM,OAAS,EAAG,CACvB,IACIsF,EADU8G,EAAS,GAAGgD,SACJ5B,cAAcpB,EAAUqB,GAC9CuO,EAASxa,KAAK8D,MAIX2V,EAAe5c,GAAGoD,IAAIua,IAW/Bf,EAAepb,UAAU6N,cAAgB,SAASkO,EAAanO,GAC7D,IAAIuO,KAUJ,OARAxe,EAAEC,QAAQme,EAAa,SAASxP,EAAUzM,GACxC,GAAIyM,EAASpM,OAAS,EAAG,CACvB,IACIsF,EADU8G,EAAS,GAAGgD,SACJ1B,cAActB,EAAUqB,GAC9CuO,EAASxa,KAAK8D,MAIX2V,EAAe5c,GAAGoD,IAAIua,IAQ/Bf,EAAepb,UAAUuc,QAAU,WACjC,OAAO,GA5YX,GCAA,WACE,aAKAC,EAAkBvB,SAAW,UAAW,SAAU,WAAY,KAAM,SAAU,YAAa,WAAY,gBAAiB,eAAgB,eAAgB,YAAa,kBAAmB,aAAc,UAAW,SAAU,cAAe,UAAW,WACrP,SAASuB,EAAkBC,EAASC,EAAQje,EAAUD,EAAIme,EAAQC,EAAWC,EAAUC,EAAeC,EAAcC,EAAchG,EAAWiG,EAAiBC,EAAYC,EAAOC,EAAQxe,EAAavB,EAASwB,GAC7M,IAGIwe,EAHAC,EAAK5f,KACL6f,EAAqB/f,QAAQ6W,QAAQoI,EAAQxI,UAAU3R,KAAK,SAASwP,KAAK,eAAiB,OAC3FgJ,KAGJuC,GACE1S,QAAS,UACTgK,KAAM,OACN6I,KAAM,OACNxB,KAAM,OACNyB,QAAS,kBAGX/f,KAAKggB,QAAU,WAEbjB,EAAQkB,mBAAqBL,EAE7B5f,KAAKkgB,QAAU/e,EACfnB,KAAKmgB,SAAWf,EAChBpf,KAAKqE,QAAUgb,EACfrf,KAAK8I,eAAiBwW,EACtBtf,KAAKogB,cAAgB,KACrBpgB,KAAKqgB,MAAS7M,QAAQ,EAAO8M,SAAU,IAyBfjN,EAvBP+J,GAwBZnZ,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,iBACPL,YAAaK,EAAE,UACf6T,SAAUgG,EAAGW,cAEflN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,kBACPL,YAAaK,EAAE,uBACf6T,SAAU,SAASK,GACQ,OAArB2F,EAAGQ,eACLR,EAAGY,WAAWvG,OAGpB5G,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,eACPL,YAAaK,EAAE,sCACf6T,SAAUgG,EAAGa,8BAEfpN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK,QACL5K,YAAaK,EAAE,eACf6T,SAAUgG,EAAGc,0BAEfrN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK,cACL5K,YAAaK,EAAE,yBACf6T,SAAUgG,EAAGc,0BAEfrN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK,KACL5K,YAAaK,EAAE,kBACf6T,SAAU+G,EACVC,gBAAiB,mBAEnBvN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK,OACL5K,YAAaK,EAAE,sBACf6T,SAAUiH,EACVD,gBAAiB,mBAEnBvN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK,WACL5K,YAAaK,EAAE,8BACf6T,SAAUkH,EACVF,gBAAiB,mBAEnBvN,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK,aACL5K,YAAaK,EAAE,kCACf6T,SAAUmH,EACVH,gBAAiB,mBAEnB3gB,EAAEC,SAAS,YAAa,UAAW,SAAS8gB,GAC1C3N,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK0Q,EACLtb,YAAaK,EAAE,qCACf6T,SAAUgG,EAAGqB,mCAKjBhhB,EAAEC,QAAQmT,EAAM,SAAS/C,GACvBgJ,EAAUS,eAAezJ,KA/D7B,IAA0B+C,EApBxBvT,QAAQ6W,QAAQoI,GAASmC,GAAG,eAAgBC,GAC5CnC,EAAOoC,IAAI,WAAY,WACrBthB,QAAQ6W,QAAQoI,GAASsC,IAAI,eAAgBF,GAE7ClhB,EAAEC,QAAQkd,EAAS,SAAS9M,GAC1BgJ,EAAU+D,iBAAiB/M,OAK/B0O,EAAOsC,OAAO,WAAa,OAAO1B,EAAG9W,eAAekD,aAAgB,SAASA,GAC3E,IAAIuV,EAAQ1B,EAAqB,MAC7B7T,IACFuV,GAAS,IAAMvV,EAAc,MAC/BuV,GAAS3B,EAAG9W,eAAeuB,aAC3B0U,EAAQxI,SAASgL,MAAQA,KAwE7B,SAASJ,EAAqBK,GAC5B,OAAO5B,EAAG9W,eAAewF,WAG3BtO,KAAKyhB,cAAgB,SAASC,GAE5B,OAAO1hB,KAAK8I,eAAe6C,wBAA0B+V,GAGvD1hB,KAAK4I,KAAO,SAAS+Y,GACnB,IAAIA,EAIF,OAAOhC,EAAWC,EAAGM,QAAQvX,OAAOC,MAHpCgX,EAAG9W,eAAe+C,SAAUjD,KAAM+Y,KAOtC3hB,KAAK4hB,SAAW,SAASD,GACvB,OAAOxgB,EAAQwH,OAAOC,MAAQ+Y,GAGhC3hB,KAAK6hB,UAAY,WACf,OAAO1gB,EAAQwH,OAAOE,KAGxB7I,KAAKugB,WAAa,SAAStG,GACzB2F,EAAGS,KAAK7M,QAAS,EACjBiM,EAAM,UACFxF,GACFA,EAAO6H,kBAGX9hB,KAAK+hB,aAAe,WAClBnC,EAAGS,KAAK7M,QAAS,EACjBoM,EAAG9W,eAAe+C,UAAUhM,KAAK,WAC3B+f,EAAG9W,eAAe0C,iBACpBzK,EAAS,WACP6e,EAAG9W,eAAegI,UAAY8O,EAAG9W,eAAeiB,QAAQ6V,EAAG9W,eAAe0C,sBAMlFxL,KAAKgiB,qBAAuB,WAC1B,OAAO9gB,EAAYuF,SAASwb,8BAG9BjiB,KAAKwgB,WAAa,SAASvG,EAAQiI,GACjC,IAAI7b,EAEqB,OAArBuZ,EAAGQ,gBACD8B,GAAyD,SAA9ChhB,EAAYuF,SAAS0b,sBA0BxC,WACE,IAAI3H,GAAOgF,EAAW4C,UACX,0BACAxC,EAAGvb,QAAQjC,GAEXmd,EAAgBA,EAAgBK,EAAG9W,eAAehE,OAClD,OACN+E,KAAK,KACNwY,EAAMzC,EAAG9W,eAAeqB,MAAQ,IAAMxE,KAAK2c,OAAO,EAAG,KACzDC,QAAQ9hB,MAAM+Z,GACduE,EAAQzP,KAAKkL,EAAK6H,GACJ,YACA,aACA,cACA,eACA,YACA,aACA,gBACA,WACA,YACA,iBACAxY,KAAK,MA9Cf2Y,IAEAnc,EAAUuZ,EAAGvb,QAAQ6B,cACrB0Z,EAAGQ,cAAgBlB,EAChB/F,MACCxL,OAAQ7N,QAAQ6W,QAAQJ,SAASkE,MACjCuB,YAAa/B,EACboC,qBAAqB,EACrBC,eAAe,EACfmG,YAAa,gBACb7G,WAAY,0BACZE,aAAc,SACdN,QACE6D,aAAcO,EAAGvb,QACjBqe,aAAcrc,KAGjBsc,MAAM1iB,EAAE2iB,MACRnS,QAAQ,WACPmP,EAAGQ,cAAgB,UAiC7B,SAASO,EAAa1G,GACpB,IAAItX,EAAQid,EAAG9W,eAAe4C,wBAkB9B,OAhBI5L,QAAQ8L,UAAUjJ,IACpBA,IACIid,EAAG9W,eAAegI,UAAY,GAChC8O,EAAG9W,eAAegI,cAIpBnO,EAAQid,EAAG9W,eAAevG,YAAc,EACxCqd,EAAG9W,eAAegI,UAAY8O,EAAG9W,eAAevG,aAG9CI,GAAS,GACXid,EAAGiD,cAAcjD,EAAG9W,eAAepG,eAAeC,IAEpDsX,EAAO6H,iBAEAnf,EAMT,SAASke,EAAiB5G,GACxB,IAAItX,EAAQid,EAAG9W,eAAe4C,wBAkB9B,OAhBI5L,QAAQ8L,UAAUjJ,IACpBA,IACIid,EAAG9W,eAAegI,UAAY8O,EAAG9W,eAAevG,aAClDqd,EAAG9W,eAAegI,aAIpBnO,EAAQ,EAENA,EAAQid,EAAG9W,eAAevG,YAC5Bqd,EAAGiD,cAAcjD,EAAG9W,eAAepG,eAAeC,IAElDA,GAAS,EAEXsX,EAAO6H,iBAEAnf,EAGT,SAASme,EAA2B7G,GAClC,IAAItX,EAEAid,EAAG9W,eAAe6C,uBACpBhJ,EAAQge,EAAa1G,KACR,GACX2F,EAAGc,uBAAuBzG,EAAQ2F,EAAG9W,eAAeoB,UAAUvH,IAIpE,SAASoe,EAA+B9G,GACtC,IAAItX,EAEAid,EAAG9W,eAAe6C,uBACpBhJ,EAAQke,EAAiB5G,KACZ,GACX2F,EAAGc,uBAAuBzG,EAAQ2F,EAAG9W,eAAeoB,UAAUvH,IAIpE3C,KAAK6iB,cAAgB,SAASxc,GACxBlF,EAAQ6H,aACViW,EAAO6D,GAAG,uCAAwCC,UAAWxD,EAAgBlZ,EAAQwL,SAAS/M,MAAOyG,UAAWlF,EAAQoB,MAExHwX,EAAO6D,GAAG,gCAAiCvX,UAAWlF,EAAQoB,OAGlEzH,KAAK0gB,uBAAyB,SAASzG,EAAQ5T,GAC7C,IACIuJ,EAAeoT,EAAmB7gB,EADlC+N,EAAS0P,EAAG9W,eAKhB,GAFKzC,IACHA,EAAU6J,EAAOzE,qBACdpF,EACH,OAAO,EAKT,GAJAA,EAAQ+E,UAAY/E,EAAQ+E,SAC5BwU,EAAGS,KAAKC,UAAYja,EAAQ+E,SAAU,GAAK,EAGvC6O,EAAOgJ,UAAY/S,EAAO7E,iBAAmB,EAAG,CAIlD,IADA2X,GAFApT,EAAgBM,EAAOnG,QAAQ1D,EAAQoB,MAEH,EAC7Bub,GAAqB,IACpB9S,EAAOhG,UAAU8Y,GAAmB5X,UAC1C4X,IACF,GAAIA,EAAoB,EAGtB,IADAA,EAAoBpT,EAAgB,EAC7BoT,EAAoB9S,EAAO3N,cAC1B2N,EAAOhG,UAAU8Y,GAAmB5X,UAC1C4X,IAEJ,GAAIA,GAAqB,GAAKA,EAAoB9S,EAAO3N,YACvD,IAAKJ,EAAIwD,KAAKuH,IAAI0C,EAAeoT,GAC5B7gB,GAAKwD,KAAKqF,IAAI4E,EAAeoT,GAC7B7gB,IACH+N,EAAOhG,UAAU/H,GAAGiJ,UAAW,EAIrC6O,EAAO6H,iBACP7H,EAAOiJ,mBAOT,SAASC,IACP,OAAIhiB,EAAQ6H,aACH4W,EAAG9W,eAAe9F,YAEjB4c,EAAG9W,gBAKf,SAASsa,EAAiB/c,EAAS1D,GACjC,IAAI0gB,EAAaC,EAAiBC,EAAY5gB,EAC9Cid,EAAGS,KAAKC,SAAWV,EAAG9W,eAAeuC,iBACjChF,GAEE1D,EAAQ,IACV4gB,GAAa,EACbF,EAAczD,EAAG9W,eAAeoB,UAAUqZ,IAExC5gB,EAAQid,EAAG9W,eAAeoB,UAAUzH,SACtC6gB,EAAkB1D,EAAG9W,eAAeoB,UAAUvH,IAC5C0gB,EACEA,EAAY1U,QAAU2U,IAAoBA,EAAgB3U,SAC5D4U,EAAY5gB,EACZ0gB,EAAcC,GAGTA,IACPC,EAAY5gB,EACZ0gB,EAAcC,GAEZD,GACFzD,EAAG9W,eAAegI,UAAYyS,EAC9BtE,EAAO6D,GAAG,gCAAkCvX,UAAW8X,EAAY5b,OAGnEwX,EAAO6D,GAAG,yBAIZ/hB,EAAS,WACPwhB,QAAQze,KAAK,iBACbmb,EAAO6D,GAAG,0BAKhB9iB,KAAKihB,8BAAgC,SAAShH,GAC5C,IAAIhL,EAAmB2Q,EAAG9W,eAAeoC,oBAEhB,OAArB0U,EAAGQ,eAA0BngB,EAAEqe,KAAKrP,GAAoB,IAC1D2Q,EAAGQ,cAAgBV,EAAO8D,QAAQzd,EAAE,gBACLA,EAAE,2DACA0d,GAAI1d,EAAE,YACtClG,KAAK,WACJ,IAAI6jB,EAAwB9D,EAAG9W,eAAe6C,qBAC9CiU,EAAG9W,eAAegH,gBAAgBb,GAAkBpP,KAAK,SAAS8C,GAC5DxB,EAAQ6H,aAGN0a,GACFzE,EAAO6D,GAAG,+BAIZM,EAAiBM,EAAuB/gB,IAEzC,SAASgO,GACViP,EAAGQ,cAAgBV,EAAO8D,QAAQzd,EAAE,WACLA,EAAE,oGACA0d,GAAI1d,EAAE,YACpClG,KAAK,WACJ+f,EAAG9W,eAAegH,gBAAgBb,GAAoB0U,cAAc,IAAQ9jB,KAAK,SAAS8C,GACpFxB,EAAQ6H,aAGN0a,GACFzE,EAAO6D,GAAG,+BAIZM,EAAiBM,EAAuB/gB,WAMnD8N,QAAQ,WACPmP,EAAGQ,cAAgB,QAGvBnG,EAAO6H,kBAGT9hB,KAAKygB,2BAA6B,WAChC,IAAImD,EAAsBhE,EAAG9W,eAAe6C,qBACxCsD,EAAmB2Q,EAAG9W,eAAeoC,oBACR,IAA7BjL,EAAEqe,KAAKrP,IAA2B2U,IACpC3U,GAAoB2Q,EAAG9W,eAAe2C,qBACpCxL,EAAEqe,KAAKrP,GAAoB,GAC7B2Q,EAAG9W,eAAeiH,4BAA4Bd,GAAkBpP,KAAK,WACnE,IAAIgkB,EAAY,IAAMjE,EAAGvb,QAAQjC,GAAK,eACR,QAA1Bwd,EAAG9W,eAAepE,OACpBmf,EAAY,IAAMjE,EAAGvb,QAAQI,kBAAkB,QAAQrC,IAEzDwd,EAAG9W,eAAeqH,cAAclB,EAAkB4U,GAAWhkB,KAAK,SAAS8C,GACrExB,EAAQ6H,aAGN4a,GACF3E,EAAO6D,GAAG,+BAIZM,EAAiBQ,EAAqBjhB,QAMhD3C,KAAK8jB,qBAAuB,SAASD,GACnC,IAAI5U,EAAmB2Q,EAAG9W,eAAeoC,oBACrCjL,EAAEqe,KAAKrP,GAAoB,GAC7B2Q,EAAG9W,eAAemH,cAAchB,EAAkB,IAAM4U,GAAWhkB,KAAK,WACtEsf,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,yBAA0B6Z,EAAG9W,eAAeuC,mBACtD0Q,SAAS,aACTiI,UAAU,SAIrBhkB,KAAKikB,qBAAuB,SAASJ,GACnC,IAAID,EAAsBhE,EAAG9W,eAAe6C,qBACxCsD,EAAmB2Q,EAAG9W,eAAeoC,oBACrC0J,EAAQgL,EAAG9W,eAAeuC,iBAC1BpL,EAAEqe,KAAKrP,GAAoB,GAC7B2Q,EAAG9W,eAAeqH,cAAclB,EAAkB,IAAM4U,GAAWhkB,KAAK,SAAS8C,GAC/Ewc,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,wBAAyB6O,IACnCmH,SAAS,aACTiI,UAAU,MACX7iB,EAAQ6H,aAGN4a,GACF3E,EAAO6D,GAAG,+BAIZM,EAAiBQ,EAAqBjhB,MAK9C3C,KAAKkkB,UAAY,WACf,IAAItP,EAAQ,EACZ3U,EAAEC,QAAQijB,IAAqB,SAASjT,GAEtC,IADA,IAAI/N,EAAI,EAAGM,EAASyN,EAAOhG,UAAUzH,OAC9BN,EAAIM,EAAQN,IACjB+N,EAAOhG,UAAU/H,GAAGiJ,UAAW,EACjCwJ,GAASnS,IAEXmd,EAAGS,KAAKC,SAAW1L,GAGrB5U,KAAKmkB,iBAAmB,WACtBlkB,EAAEC,QAAQijB,IAAqB,SAASjT,GACtCjQ,EAAEC,QAAQgQ,EAAOhG,UAAW,SAAS7D,GACnCA,EAAQ+E,UAAW,MAGvBwU,EAAGS,KAAKC,SAAW,GAGrBtgB,KAAKokB,8BAAgC,WACnC,IAAInV,EAAmB2Q,EAAG9W,eAAeoC,oBACrCjL,EAAEqe,KAAKrP,GAAoB,GAC7B2Q,EAAG9W,eAAe8F,cAAcK,EAAkB,YAAa,OAAOpP,KAAK,SAASgP,GAClF5O,EAAEC,QAAQ2O,EAAU,SAASxI,GAC3BA,EAAQ2R,WAAY,OAK5BhY,KAAKqkB,6BAA+B,WAClC,IAAIpV,EAAmB2Q,EAAG9W,eAAeoC,oBACrCjL,EAAEqe,KAAKrP,GAAoB,GAC7B2Q,EAAG9W,eAAe8F,cAAcK,EAAkB,OAAQ,UAAUpP,KAAK,SAASgP,GAChF5O,EAAEC,QAAQ2O,EAAU,SAASxI,GACvBA,EAAQsI,QACVtI,EAAQwL,SAAS7F,cACnB3F,EAAQsI,QAAS,OAMzB3O,KAAKskB,2BAA6B,WAChC,IAAIrV,EAAmB2Q,EAAG9W,eAAeoC,oBACrCjL,EAAEqe,KAAKrP,GAAoB,GAC7B2Q,EAAG9W,eAAe8F,cAAcK,EAAkB,OAAQ,OAAOpP,KAAK,SAASgP,GAC7E5O,EAAEC,QAAQ2O,EAAU,SAASxI,GACtBA,EAAQsI,QACXtI,EAAQwL,SAAS7F,cACnB3F,EAAQsI,QAAS,OAQ3B7O,QACG4B,OAAO,iBACPka,WAAW,oBAAqBkD,GAKnCyF,EAA2ChH,SAAW,aACtD,SAASgH,EAA2CC,GASlD,OARAA,EAAU,GAAG5I,WAAWtZ,UAAUmiB,YAAc,WAGL,gBAArCzkB,KAAK0kB,SAAS/W,SAASyG,KAAK,MAC9BpU,KAAK2kB,aAEL3kB,KAAK4kB,SAAS,IAEXJ,EAGT1kB,QACG4B,OAAO,qCACPmjB,UAAU,oCAAqCN,GAlkBpD,GCAA,WACE,aAKAO,EAAoBvH,SAAW,SAAU,SAAU,eAAgB,WAAY,UAAW,WAAY,aAAc,YAAa,WAAY,aAAc,UAAW,kBAAmB,SAAU,aAAc,YAAa,UAAW,UAAW,iBAAkB,OAAQ,cAAe,iBAC7R,SAASuH,EAAoB9F,EAAQC,EAAQ8F,EAAchkB,EAAUge,EAASiG,EAAUC,EAAY/F,EAAWC,EAAU+F,EAAYzF,EAAOF,EAAiBG,EAAQ1e,EAAUsY,EAAW3Z,EAASwB,EAASuc,EAAgByH,EAAMjkB,EAAake,GAC7O,IACI/a,EACAE,EAFAqb,EAAK5f,KAGLod,KAEJpd,KAAKggB,QAAU,WACbhgB,KAAKkgB,QAAU/e,EACfnB,KAAKmgB,SAAWf,EAGhBpf,KAAKolB,mBAAqB,GAC1BplB,KAAKwT,QACH1Q,SAAUuiB,GAAI,GACJpY,QAASlH,EAAE,iBACXkR,KAASlR,EAAE,cACXiM,GAASjM,EAAE,YACXkM,GAASlM,EAAE,YACX0U,KAAS1U,EAAE,eAErBuf,WAAY,EACZlZ,MAAO,MACPyR,WAGF7d,KAAKulB,mBAAqBrkB,EAAYuF,SAAS+e,kCAE/CxlB,KAAKylB,qBAamBpS,EAXP+J,EAYjBnd,EAAEC,SAAS,YAAa,UAAW,SAAS8gB,GAC1C3N,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK0Q,EACLtb,YAAaK,EAAE,qCACf6T,SAAU,WACJzY,EAAQukB,0BAA4BvkB,EAAQ2H,gBAAkB3H,EAAQ2H,eAAewB,cAAgBnJ,EAAQ2H,eAAe6C,sBAC9HxK,EAAQukB,yBAAyBC,cAAcxkB,EAAQ2H,sBAM/D7I,EAAEC,QAAQmT,EAAM,SAAS/C,GACvBgJ,EAAUS,eAAezJ,KAd7B,IAA0B+C,EATxB2L,EAAOoC,IAAI,WAAY,WAErBnhB,EAAEC,QAAQkd,EAAS,SAAS9M,GAC1BgJ,EAAU+D,iBAAiB/M,QAwBjCtQ,KAAK4lB,mBAAqB,WACxBhG,EAAGM,QAAQjX,cAAe,EAC1B2W,EAAGM,QAAQlX,cAAe,EAE1B3E,EAAUub,EAAGO,SAAS,GACtB5b,EAAUqb,EAAGiG,sBACb5G,EAAO6D,GAAG,wBAA0B3c,UAAW9B,EAAQjC,GAAI2gB,UAAWxD,EAAgBhb,EAAQO,SAGhG9E,KAAK8lB,qBAAuB,WAC1B,GAAI3kB,EAAQ2H,eAAemB,WAEzB2V,EAAGmG,eAAejI,iBAEf,CAEH,IAAIkI,EAAM1iB,KACND,EAAS,SAAS4iB,GAChBhmB,EAAEC,QAAQ+lB,EAAS,SAAShkB,GACrBA,EAAEqL,cACLhK,EAAUW,KAAKhC,GACbA,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,GACpCY,EAAOpB,EAAEuB,aAKnBoc,EAAGmG,eAAiB,IAAIrI,EAAekC,EAAGO,SAAS,IAK9Chf,EAAQ6H,eACX4W,EAAGiG,sBAAwB1kB,EAAQ2H,gBAErC3H,EAAQ2H,eAAiB8W,EAAGmG,eAC5B5kB,EAAQ6H,cAAe,EAEnB7H,EAAQ8H,aAAaxG,QACvBujB,EAAOpG,EAAGO,SAAS,GAAGtb,kBAAkB1D,EAAQ8H,cAChD3F,EAAUW,KAAK+hB,GACXpG,EAAGpM,OAAO8R,YAAcU,EAAKxiB,SAASf,QACxCY,EAAO2iB,EAAKxiB,WAGdF,EAAYrD,EAAEkL,OAAOyU,EAAGO,SAAS,GAAG3d,mBAAoB0B,KAAK,IAAS,SAASK,GAC7E,OAAQA,EAAQ+I,eAIpBsS,EAAGmG,eAAepI,aAAara,GAC/Bsc,EAAGmG,eAAenI,YAAYgC,EAAGpM,OAAOpH,MAAOwT,EAAGpM,OAAOqK,QAC7B,+BAAxBoB,EAAOiH,SAASlhB,MAClBia,EAAO6D,GAAG,+BAAiC3c,UAAWyZ,EAAGO,SAAS,GAAG/d,OAI3EpC,KAAKmmB,eAAiB,SAASC,GAG7B,OAFApmB,KAAKolB,mBAAqBgB,EAC1B3G,EAAM,mBACC,GAGTzf,KAAKqmB,eAAiB,SAASC,GAC7B,GAAIA,EAAQ7jB,QAAUzC,KAAKolB,mBAAmB3iB,OAAQ,CACpD,IAAI8jB,EAAI,EAAGC,EAAcxmB,KAAKolB,mBAM9B,OALIkB,EAAQzN,WAAW,OACrB0N,EAAI,EACJD,EAAUA,EAAQG,UAAU,GAAGnO,QAEjCtY,KAAKolB,mBAAqB,IACjB/Y,SAAUma,EAAata,YAAaoa,EAASI,SAAUH,KAIpEvmB,KAAK2mB,mBAAqB,SAAUtiB,GAClCA,EAAQlB,WAAakB,EAAQlB,UAC7BkB,EAAQ7B,mBAAoBS,QAAQ,EAAMmB,WAAW,KAGvDpE,KAAK4mB,UAAY,SAASviB,GACxB6a,EAAU/F,MACRsJ,YAAape,EAAQjC,GAAK,aAC1BwZ,WAAYiL,EACZ/K,aAAc,gBACdO,qBAAqB,EACrBC,eAAe,EACfd,QACEsL,WAAYziB,KAEboM,QAAQ,WACPpM,EAAQxB,eAAeI,QAAQ,MAMnC4jB,EAA8BtJ,SAAW,SAAU,YAAa,cAChE,SAASsJ,EAA8B7H,EAAQE,EAAW4H,GACxD,IAAIlH,EAAK5f,KAET4f,EAAGzS,SAAU,EACbyS,EAAGzU,QAAWnG,KAAM,IACpB4a,EAAGvb,QAAU,IAAI1E,GACfyC,GAAI0kB,EAAW1kB,GACf4C,KAAM8hB,EAAW9hB,OAEnB4a,EAAGpC,MAMH,WACE0B,EAAU6H,QALZnH,EAAGvb,QAAQxB,eAAgBI,QAAQ,EAAMiB,KAAK,IAAQrE,KAAK,WACzD+f,EAAGzS,SAAU,MASnBnN,KAAKgnB,mBAAqB,WACxB7lB,EAAQ8H,aAAe,GAElB+b,EAASE,EAAW,WACvBD,EAAW,QAAQzH,SAGvBxd,KAAKinB,UAAY,SAASC,GACxBxH,EAAOyH,OAAOphB,EAAE,iBACFA,EAAE,sCACblG,KAAK,SAASmF,GACbkiB,EAAaniB,YAAYmiB,EAAa9kB,GAAI4C,GACvCnF,KAAK,aAEH,SAASiC,EAAMgG,GAChB4X,EAAO0H,MAAMrhB,EAAE,sDAAuDf,GACzDe,EAAEjE,EAAK8O,aAK9B5Q,KAAKqnB,SAAW,SAAShjB,GACvB6a,EAAU/F,MACRsJ,YAAape,EAAQjC,GAAK,cAC1BwZ,WAAY0L,EACZxL,aAAc,WACdO,qBAAqB,EACrBC,eAAe,EACfd,QACE2J,KAAMA,EACN9gB,QAASA,KAObijB,EAA4B/J,SAAW,SAAU,YAAa,OAAQ,WACtE,SAAS+J,EAA4BtI,EAAQE,EAAWiG,EAAM9gB,GAC5D,IAAIub,EAAK5f,KAET4f,EAAG/X,MAAQxD,EAAQsD,UACnBiY,EAAGvb,QAAUA,EACbub,EAAG2H,UAAY,GACf3H,EAAG4H,WAAa,GAChB5H,EAAG6H,WAKH,SAAoB9e,GAClB,OAAOwc,EAAKtZ,QAAQlD,EAAQtE,EAAQsD,YALtCiY,EAAG8H,WAQH,WACExI,EAAU6H,QARZnH,EAAG+H,WAWH,SAAoBtgB,GAClBhD,EAAQ2D,gBAAgBX,EAAKI,KAAKkb,MAAM,SAAS7gB,EAAMgG,GACrD4X,EAAO0H,MAAMrhB,EAAE,WAAYA,EAAE,0CAZjC6Z,EAAGgI,QAgBH,SAAiB9lB,GACXA,GACFuC,EAAQ+C,aAAatF,GAAMjC,KAAK,WAC9B+f,EAAG2H,UAAY,GACf3H,EAAG4H,WAAa,IACf,SAAS5W,GACV8O,EAAO0H,MAAMrhB,EAAE,WAAY6K,QAOrC5Q,KAAKylB,mBAAqB,WACxB,IAAqDlZ,EAAjDsb,EAAqB9I,EAAQ8I,mBAEjC5nB,EAAEC,QAAQ0f,EAAGO,SAAU,SAAS9b,GAGzBpE,EAAEwT,SAASoU,EAAoBxjB,EAAQjC,GAAK,iBAC/CylB,EAAmB5jB,KAAKI,EAAQjC,GAAK,gBAEvCnC,EAAEC,QAAQmE,EAAQF,mBAAoB,SAASI,GACzCzE,QAAQ8L,UAAUrH,EAAQyH,eACzB/L,EAAEwT,SAASoU,EAAoBtjB,EAAQnC,KAC1CylB,EAAmB5jB,KAAKM,EAAQnC,QAItCzC,EAAQ0B,WAAWmD,KAAK,GAAI,eAAgBlB,UAAWukB,IAAqBhoB,KAAK,SAASiC,GACxF7B,EAAEC,QAAQ0f,EAAGO,SAAU,SAAS9b,GAC9BpE,EAAEC,QAAQmE,EAAQF,mBAAoB,SAASI,GACzCzC,EAAKyC,EAAQnC,MACfmC,EAAQyH,YAAclK,EAAKyC,EAAQnC,YAK3CmK,EAAmBrL,EAAYuF,SAAS+F,uBACI,YAApBD,GACtBxL,EAAS6e,EAAG6F,mBAAoD,IAAhClZ,EAAiBI,iBAGrD3M,KAAK8nB,kBAAoB,SAASC,EAAWlE,GAC3C,OAAQA,EAAUzhB,IAAM2lB,EAAU3lB,KAAQyhB,EAAUvW,cAGtDtN,KAAKgoB,qBAAuB,SAASD,EAAWlE,EAAWxD,GACzD,IAAI4H,EAAOpZ,EAAUhC,EAAMqb,EAAkBngB,EAASogB,EAEtDF,EAAQ,IAAMpE,EAAUzhB,GAEA,KADxByM,EAAWkZ,EAAU7c,qBACRzI,SACXoM,GAAYkZ,EAAUtc,qBACxBoB,EAAO5M,EAAEyH,IAAImH,EAAU,OACvBqZ,EAAoBH,EAAUvc,iBAAmBqB,EAAKtJ,QAAQwkB,EAAUvc,kBAAoB,EAEhF,QAAR6U,GACFtY,EAAUggB,EAAU9X,cAAcpB,EAAUoZ,GAC5CE,EAAUpiB,EAAE,yBAA0B8I,EAASpM,UAG/CsF,EAAUggB,EAAU5X,cAActB,EAAUoZ,GAC5CE,EAAUpiB,EAAE,wBAAyB8I,EAASpM,SAGhDsF,EAAQlI,KAAK,WACPqoB,GACFjJ,EAAO6D,GAAG,wBACZ3D,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ0S,GACRpM,SAAS,aACTiI,UAAU,SAMrBlkB,QACG4B,OAAO,iBACPka,WAAW,sBAAuBkJ,GAzUvC,GCAA,WACE,aAKAsD,EAAkB7K,SAAW,UAAW,SAAU,SAAU,WAAY,YAAa,aAAc,gBAAiB,eAAgB,eAAgB,eAAgB,YAAa,kBAAmB,aAAc,eAAgB,UAAW,SAAU,cAAe,WAAY,YAAa,UAAW,UAAW,WACrT,SAAS6K,EAAkBrJ,EAASC,EAAQC,EAAQ+F,EAAU9F,EAAWgG,EAAY9F,EAAeC,EAAcC,EAAcoD,EAAcpJ,EAAWiG,EAAiBC,EAAYtG,EAAcuG,EAAOC,EAAQxe,EAAamnB,EAAUC,EAAW3oB,EAASwB,EAASC,GACrQ,IAAIwe,EAAK5f,KAA0Bod,KAEnCpd,KAAKggB,QAAU,WAEbjB,EAAQwJ,mBAAqB3I,EAG7B1G,EAAaK,WAAWmJ,GAExB1iB,KAAKif,OAASA,EACdjf,KAAKmgB,SAAWf,EAChBpf,KAAKqE,QAAUgb,EACfrf,KAAKuE,QAAU+a,EACftf,KAAKqG,QAAUqc,EACf1iB,KAAKkgB,QAAU9e,EACfpB,KAAKwoB,MAAShB,WAAY,GAAIpc,SAAU,IACxCpL,KAAKyoB,UAAY/F,EAAarV,OAASqV,EAAarV,MAAM5K,OAAS,EACnEzC,KAAK0oB,yBAA0B,EAC/B1oB,KAAK2oB,eAAgB,GAyFGtV,EAvFP+J,GAwFZnZ,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,gBACPL,YAAaK,EAAE,wBACf6T,SAAUgP,EAAgB9oB,QAAQ4M,KAAKkT,EAAIA,EAAGiJ,WAEhDxV,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,mBACPL,YAAaK,EAAE,sCACf6T,SAAUgP,EAAgB9oB,QAAQ4M,KAAKkT,EAAIA,EAAGkJ,cAEhDzV,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,kBACPL,YAAaK,EAAE,4BACf6T,SAAUgP,EAAgB9oB,QAAQ4M,KAAKkT,EAAIA,EAAGmJ,aAEhD1V,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAKvK,EAAE,eACPL,YAAaK,EAAE,WACf6T,SAAUgP,EAAgB9oB,QAAQ4M,KAAKgW,EAAcA,EAAa3K,gBAEpE9X,EAAEC,SAAS,YAAa,UAAW,SAAS8gB,GAC1C3N,EAAKpP,KAAKqV,EAAUK,cAClBrJ,IAAK0Q,EACLpH,SAAUgP,EAAgB,SAAS3O,GACG,IAAhC2F,EAAGrb,QAAQ8G,kBACbuU,EAAGoJ,gBACL/O,EAAO6H,wBAMb7hB,EAAEC,QAAQmT,EAAM,SAAS/C,GACvBgJ,EAAUS,eAAezJ,KAlC7B,IAA0B+C,EApFpB0L,EAAQkK,QACR,uBAAwBlK,EAAQkK,QAElCjK,EAAOkK,iBAAiB,WAAa,OAAOtJ,EAAGvZ,QAAQgH,OAAU,SAAS8b,EAASC,GACjF,IAAIC,GACAF,GAAWC,KACbC,EAAQC,KACEC,aACRF,EAAME,YAAYrJ,QAAQnf,SAAS,WACjCsoB,EAAME,YAAYd,WAAY,EAC9BY,EAAME,YAAYljB,QAAQgH,MAAQ8b,MAM1CnK,EAAOsC,OAAO,WAAa,OAAO1B,EAAGvZ,QAAQ2R,WAAc,SAASA,EAAWwR,GAC7E,IAAIH,EAAQC,IACRD,EAAMI,aACRJ,EAAMI,YAAYvJ,QAAQnf,SAAS,WACnBd,EAAE2E,KAAKykB,EAAMI,YAAY3gB,eAAeoB,WAAazC,IAAKmY,EAAGvZ,QAAQoB,MAC3EuQ,UAAYA,OAQ1BgH,EAAOkK,iBAAiB,WAAa,OAAOtJ,EAAGvZ,QAAQgH,OAAU,SAASqc,EAAUC,GAClF,IAAIR,EAASC,EAASZ,GAClBkB,GAAYC,KACdR,EAAUO,MACVN,EAAUO,MACV1pB,EAAEC,QAAQipB,EAAS,SAAS7V,EAAKnR,GAC3BrC,QAAQoH,SAASoM,KACnB6V,EAAQhnB,GAAKmR,EAAItO,QAEjBmkB,EAAQ1mB,OAAS2mB,EAAQ3mB,QAC3B+lB,EAAOvoB,EAAE2pB,WAAWT,EAASC,GAC7BnpB,EAAEC,QAAQsoB,EAAM,SAASlV,GACvBsM,EAAGvZ,QAAQgR,OAAO/D,MAGb6V,EAAQ1mB,OAAS2mB,EAAQ3mB,SAChC+lB,EAAOvoB,EAAE2pB,WAAWR,EAASD,GAC7BlpB,EAAEC,QAAQsoB,EAAM,SAASlV,GACvBsM,EAAGvZ,QAAQkR,UAAUjE,SAO/B0L,EAAOoC,IAAI,WAAY,WAErBnhB,EAAEC,QAAQkd,EAAS,SAAS9M,GAC1BgJ,EAAU+D,iBAAiB/M,QAUjC,SAASuZ,IACP,OAAI7K,EAAOza,SACLulB,UAAUrnB,OAAS,IACrBuc,EAAOza,QAAQ6b,cAAgB0J,UAAU,IACpC9K,EAAOza,QAAQ6b,eAEjB,KAGT,SAASwI,EAAgBhP,GACvB,OAAO,WAEL,GAAyB,OAArBiQ,IACF,OAAOjQ,EAASmQ,MAAMnK,EAAIkK,YA6ChC,SAASR,IACP,IAAIjjB,EAAS9B,EAAS8kB,KAiBtB,OAhBItK,EAAQkK,QAEN,uBAAwBlK,EAAQkK,QAChC,mBAAoBlK,EAAQkK,OAAOhJ,oBACnClB,EAAQkK,OAAOhJ,mBAAmBnX,eAAeqB,OAASmV,EAAanV,QAEvE5F,EAAUwa,EAAQkK,OAAOhJ,mBACzBoJ,EAAMI,YAAcllB,EAChB,uBAAwBwa,EAAQkK,QAChClK,EAAQkK,OAAOV,mBAAmBliB,QAAQoB,KAAOib,EAAajb,MAEhEpB,EAAU0Y,EAAQkK,OAAOV,mBACzBc,EAAME,YAAcljB,IAIrBgjB,EAGTrpB,KAAKgqB,SAAW,SAAS/P,GACvBA,EAAOiJ,kBACPjJ,EAAO6H,iBACP9hB,KAAKyoB,WAAY,EACjBhJ,EAAM,UAGRzf,KAAKiqB,yBAA2B,SAAShQ,GACvCja,KAAK0oB,yBAA2B1oB,KAAK0oB,wBACrCzO,EAAOiJ,kBACPjJ,EAAO6H,kBAGT9hB,KAAKkqB,kBAAoB,SAASjQ,GAChC,IAAIkQ,EACyB,KAAzBlQ,EAAOgB,OAAOmP,SAAkB,SAAUnQ,EAAOgB,OAAOoP,aAC1DF,EAAOlQ,EAAOgB,OAAOoP,WAAWF,KAAK9Z,MAC7B,mBAAmB+H,KAAK+R,YAEvBlQ,EAAOgB,OAAOoP,WAAWpP,OAChCjb,KAAKwgB,WAAWvG,EAAQkQ,MAK9BnqB,KAAKgpB,cAAgB,WACnB,IAAIzkB,EAAS8B,EAASikB,EAAOjH,EAAaC,EACtCiH,EAAcjB,IAEdiB,EAAYhB,aACdhlB,EAAUgmB,EAAYd,YAAY3gB,eAClCzC,EAAUkkB,EAAYhB,YAAYljB,QAClCikB,EAAQC,EAAYhB,YAAYtK,SAGhC1a,EAAU+a,EACVjZ,EAAUqc,EACV4H,EAAQrL,GAEN9d,EAAQ6H,eACVzE,EAAUpD,EAAQ2H,gBAGpBvE,EAAQuL,iBAAiBzJ,IAAUxG,KAAK,SAAS8C,GAC/C,IAAI4gB,EAAY5gB,EAGhB,GADA0D,EAAU,KACNvG,QAAQ8L,UAAU0e,GAAQ,CAExB3nB,EAAQ,IACV4gB,GAAa,EACbF,EAAc9e,EAAQ7B,eAAe6gB,IAEnC5gB,EAAQ4B,EAAQhC,cAClB+gB,EAAkB/e,EAAQ7B,eAAeC,IAEvC0gB,EACEA,EAAY1U,QAAU2U,IAAoBA,EAAgB3U,SAC5D4U,EAAY5gB,EACZ0gB,EAAcC,GAGTA,IACPC,EAAY5gB,EACZ0gB,EAAcC,GAGhB,IACMD,GAAe2B,EAASE,EAAW,WACjC/jB,EAAQ6H,aACVshB,EAAMxH,GAAG,uCAAwCC,UAAWxD,EAAgB8D,EAAYxR,SAAS/M,MAAOyG,UAAW8X,EAAY5b,MAE/H6iB,EAAMxH,GAAG,gCAAiCvX,UAAW8X,EAAY5b,MAC/D8b,EAAYhf,EAAQuM,UACtBvM,EAAQuM,UAAYyS,EACbA,EAAYhf,EAAQwG,oBAC3BxG,EAAQuM,UAAYyS,GAAahf,EAAQwG,kBAAoBxG,EAAQuM,aAGvEwZ,EAAMxH,GAAG,wBAAwBjjB,KAAK,WACpCwG,EAAU,YACH9B,EAAQiH,kBAIrB,MAAOoF,KAETgP,EAAG4K,gBAIP,SAASC,EAAgBxQ,EAAQ5T,GACN,OAArBwjB,KACFA,EACE3K,EACG/F,MACCxL,OAAQ7N,QAAQ6W,QAAQJ,SAASkE,MACjCuB,YAAa/B,EACboC,qBAAqB,EACrBC,eAAe,EACfmG,YAAa,gBACb7G,WAAY,0BACZE,aAAc,SACdN,QACE6D,aAAcO,EAAGvb,QACjBqe,aAAcrc,KAGjBsc,MAAM1iB,EAAE2iB,MACRnS,QAAQ,WACPoZ,EAAe,MACfjK,EAAG4K,gBAMbxqB,KAAK0qB,uBAAyB,SAASjZ,GACrC,OAAK+N,EAAWmL,SACkC,SAA9CzpB,EAAYuF,SAAS0b,wBACvBniB,KAAK4qB,YAAYnZ,IACV,IAKXzR,KAAKwd,MAAQ,WACX,IAAIqN,EAAc1pB,EAAQ6H,aAAe,8BAAgC,uBACzEiW,EAAO6D,GAAG+H,GAAahrB,KAAK,WAC1B+f,EAAGvZ,QAAU,YACNiZ,EAAa9T,mBAIxBxL,KAAK6oB,MAAQ,SAAS5O,GACfja,KAAK0qB,uBAAuB,UAC/BD,EAAgBxQ,EAAQja,KAAKqG,QAAQkS,WAIzCvY,KAAK8oB,SAAW,SAAS7O,GAClBja,KAAK0qB,uBAAuB,aAC/BD,EAAgBxQ,EAAQja,KAAKqG,QAAQoS,cAIzCzY,KAAK+oB,QAAU,SAAS9O,GACjBja,KAAK0qB,uBAAuB,YAC/BD,EAAgBxQ,EAAQja,KAAKqG,QAAQqS,aAIzC1Y,KAAK8qB,KAAO,SAAS7Q,GACdja,KAAK0qB,uBAAuB,SAC/B1qB,KAAKqG,QAAQ2Q,mBAAmBnX,KAAK,WACnC4qB,EAAgBxQ,EAAQ2F,EAAGvZ,YAKjCrG,KAAK4qB,YAAc,SAASnZ,GAC1B,IAAI+I,GAAOgF,EAAW4C,UACX,0BACApiB,KAAKqG,QAAQF,UAEboZ,EAAgBA,EAAgBvf,KAAKqG,QAAQwL,SAAS/M,OACtD9E,KAAKqG,QAAQoB,KACnBoC,KAAK,KACNwY,EAAMriB,KAAKqG,QAAQC,gBACnBmL,IAAQ+I,GAAO,IAAM/I,GACXsN,EAAQzP,KAAKkL,EAAK6H,GACJ,YACA,aACA,cACA,eACA,YACA,aACA,gBACA,WACA,YACA,iBACAxY,KAAK,OAGnC7J,KAAKwqB,WAAa,WACZzL,EAAQxI,SAASkE,KAAKsC,UAAUgO,SAAS,UAC3ChM,EAAQvB,SAGZxd,KAAKwgB,WAAa,SAASvG,EAAQhT,GACjCgT,EAAOiJ,kBACPjJ,EAAO6H,iBACP9hB,KAAKqE,QAAQ6B,aAAce,OAAQA,IAAUpH,KAAK,SAASwG,GACzDokB,EAAgBxQ,EAAQ5T,MAI5BrG,KAAKgrB,gBAAkB,SAAS/Q,GACzBja,KAAK2oB,eAAkB3oB,KAAKqG,QAAQ4kB,WAOvCjrB,KAAK2oB,eAAiB3oB,KAAK2oB,cAN3BvnB,EAAQC,WAAWmD,KAAKxE,KAAKqG,QAAQjE,GAAI,cAAcvC,KAAK,SAASiC,GACnE8d,EAAGvZ,QAAQ4kB,WAAanpB,EACxB8d,EAAG+I,eAAgB,KAQzB3oB,KAAKkrB,MAAQ,SAASjR,GACpB8E,EAAQmM,SAGVlrB,KAAKmrB,eAAiB,SAASlR,GAC7B,OAAOmR,EAAoBnR,EAAQ,gBAGrCja,KAAKqrB,cAAgB,SAASpR,GAC5B,OAAOmR,EAAoBnR,EAAQ,SAGrC,SAASmR,EAAoBnR,EAAQvV,GACnCkb,EAAGvZ,QAAQ+Q,gBAAgBvX,KAAK,SAASiC,GACvC,IAAIwpB,GACFC,IAAKlD,EAASmD,mBACd9mB,KAAMA,EACN+mB,QAAS3pB,EAAKmL,QACdye,QAAS5pB,EAAK2T,SAEZ9L,EAAY,IAAI2e,EAAUgD,GAG1B7I,GACFjD,EAAWle,WAAW,aACtB,WACA,MAAQoD,EAAKinB,aAAe,kBAC5B9hB,KAAK,KACP,OAAOqV,EAAU/F,MACfxL,OAAQ7N,QAAQ6W,QAAQJ,SAASkE,MACjCuB,YAAa/B,EACboC,qBAAqB,EACrBC,eAAe,EACfmG,YAAaA,EACb7G,WAAY,4BACZE,aAAc,SACdN,QACEoQ,eAAgBjiB,QAO1B7J,QACG4B,OAAO,iBACPka,WAAW,oBAAqBwM,GAhbrC,GCAA,WACE,aAKAyD,EAAwBtO,SAAW,SAAU,UAAW,eAAgB,cAAe,UAAW,YAAa,WAAY,eAAgB,eAAgB,eAAgB,kBAAmB,WAAY,SAAU,cAAe,OAAQ,eAC3O,SAASsO,EAAwB7M,EAAQD,EAAS+M,EAAcC,EAAaC,EAAS9M,EAAWC,EAAU8M,EAAc5M,EAAcqD,EAAcnD,EAAiBxe,EAAU2e,EAAQwM,EAAaC,EAAMjrB,GACzM,IAAI0e,EAAK5f,KAETA,KAAKggB,QAAU,WACbJ,EAAGwM,aAAeA,EAClBxM,EAAGyM,cAAgBra,MAAQC,MAAQC,QACnC0N,EAAG0M,SAAW,KACd1M,EAAG2M,eAAiBA,EACpB3M,EAAG3T,OAASA,EACZ2T,EAAG4M,cAAgBA,EACnB5M,EAAG6M,cAAe,EAClB7M,EAAG8M,QAAgD,IAArChK,EAAa3b,SAASmL,IAAIzP,OACxCmd,EAAG+M,OAA8C,IAApCjK,EAAa3b,SAASkL,GAAGxP,OACtCmd,EAAGzf,WAAaF,EAAE2sB,KAAK3sB,EAAEyH,IAAI2X,EAAalf,WAAY,SACtDyf,EAAGvZ,QAAUqc,EACb9C,EAAGiN,wBACDd,EAAYe,SAASC,MACrBhB,EAAYe,SAASE,IACrBjB,EAAYe,SAASG,MACrBlB,EAAYe,SAASI,WAEvBtN,EAAGuN,iBAAmBA,EACtBvN,EAAGlP,KAAOA,EACVkP,EAAGwN,KAAOA,EACVxN,EAAGyN,WAAY,EACfzN,EAAG0N,iBAAmBA,EA8EtB1N,EAAG2N,SAAW,IAAItB,GAChBzR,IAAKoF,EAAGvZ,QAAQC,eAAeC,SAAS,EAAM0N,kBAAkB,IAAS,QACzEuZ,YAAY,EACZC,MAAO,cACPC,mBAAmB,EAInBC,cAAe,SAASC,EAAMjd,EAAU7I,EAAQkC,GAC9C4V,EAAGvZ,QAAQ6N,QAAQvD,EAASlJ,KAC5BmY,EAAGvZ,QAAQoR,SAASlR,SAAS,IAC7BqnB,EAAKC,UAAYld,EAASmd,oBAAoB,GAAGtT,KAGnDuT,aAAc,SAASH,EAAMjd,EAAU7I,EAAQkC,GAG7C4V,EAAGvZ,QAAQuR,kBAAkBgW,EAAKI,KAAKhpB,MACvChF,KAAKiuB,gBAAgBL,IAEvBM,YAAa,SAASN,EAAMjd,EAAU7I,EAAQkC,GAC5CmV,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,yCAA4C6nB,EAAKI,KAAKhpB,MACxD,KAAO2L,EAAStK,QAASN,EAAE4K,EAAStK,SAAW,KACvD0V,SAAS,aACTtK,OAAO1L,EAAE,OACTie,WAAU,IACfhkB,KAAKiuB,gBAAgBL,MArGrB1sB,EAAYuF,SAAS0nB,mBAEvBvO,EAAG0M,SAAWvrB,EAAS6e,EAAG2M,eAAsD,IAAtCrrB,EAAYuF,SAAS0nB,iBAAsB,KAEvFvO,EAAGwO,WAAaltB,EAAYuF,SAAS4nB,WAGrCrP,EAAOoC,IAAI,WAAY,WAAaxB,EAAG2N,SAASe,YAEjB,SAA3BxC,EAAayC,WACf7L,EAAanK,SAAS1Y,KAAK,SAASsR,GAClCyO,EAAGvZ,QAAU8K,EACbyO,EAAG+M,QAAWxb,EAAUpK,SAASkL,IAAuC,IAAjCd,EAAUpK,SAASkL,GAAGxP,OAC7Dmd,EAAG8M,SAAYvb,EAAUpK,SAASmL,KAAyC,IAAlCf,EAAUpK,SAASmL,IAAIzP,OAChE+rB,MAGgC,YAA3B1C,EAAayC,WACpB7L,EAAajK,YAAY5Y,KAAK,SAASsR,GACrCyO,EAAGvZ,QAAU8K,EACbyO,EAAG+M,QAAWxb,EAAUpK,SAASkL,IAAuC,IAAjCd,EAAUpK,SAASkL,GAAGxP,OAC7Dmd,EAAG8M,SAAYvb,EAAUpK,SAASmL,KAAyC,IAAlCf,EAAUpK,SAASmL,IAAIzP,OAChE+rB,MAGgC,WAA3B1C,EAAayC,WACpB7L,EAAahK,WAAW7Y,KAAK,SAASsR,GACpCyO,EAAGvZ,QAAU8K,EACbqd,IACAC,MAGK3uB,QAAQ8L,UAAU8W,KACzB9C,EAAGvZ,QAAUqc,EACb8L,IACAC,MAOJ,SAASnF,IACP,IAAIoF,EAAerF,KAEnB,IACMtK,EAAQkK,QACN,uBAAwBlK,EAAQkK,QAChC,mBAAoBlK,EAAQkK,OAAOhJ,qBACwB,SAAzDlB,EAAQkK,OAAOhJ,mBAAmBnX,eAAepE,MACnD2kB,EAAMsF,iBAAmB5P,EAAQkK,OAAOhJ,mBACpC,uBAAwBlB,EAAQkK,QAChClK,EAAQkK,OAAOV,mBAAmBliB,QAAQoB,KAAOib,EAAajb,MAEhE4hB,EAAMuF,iBAAmB7P,EAAQkK,OAAOV,qBAGnC7F,EAAa/J,SACpB+V,EAAgBhM,EAAa/J,OAAOtS,QAChC0Y,EAAQkK,OAAOhJ,mBAAmBnX,eAAeqB,OAASukB,EAAc7c,SAAS1H,QAEnFkf,EAAMwF,kBAAoB9P,EAAQkK,OAAOhJ,sBAMnD,MAAOte,IAEP,OAAO0nB,EAsCT,SAASmF,IACP5O,EAAG2N,SAAS/S,IAAMoF,EAAGvZ,QAAQC,eAAeC,SAAS,EAAM0N,kBAAkB,IAAS,QAGxF,SAASwa,IAEP,IAAItsB,EAAGL,EAAMgtB,EAAUxU,EAAQsF,EAAGvZ,QAAQU,SAAS8Q,gBACnD,GAAIyC,EACF,IAAKnY,EAAI,EAAGA,EAAImY,EAAM7X,OAAQN,IAC5BL,GACEkD,KAAMsV,EAAMnY,GAAGgN,SACfzK,KAAM4V,EAAMnY,GAAGoY,SACf+D,KAAMnV,SAASmR,EAAMnY,GAAGmc,QAE1BwQ,EAAW,IAAI7C,EAAa8C,SAASnP,EAAG2N,SAAUzrB,IACzCktB,SAAW,IACpBF,EAASG,YAAa,EACtBH,EAASI,WAAY,EACrBJ,EAASjB,UAAYvT,EAAMnY,GAAGqY,IAC9BoF,EAAG2N,SAAS4B,MAAMlrB,KAAK6qB,GAI7B,SAAS3B,EAAiBS,EAAMxrB,GAC1BwrB,EAAKwB,YACPxP,EAAG2N,SAAS8B,WAAWzB,IAEvBhO,EAAGvZ,QAAQuR,kBAAkBgW,EAAKI,KAAKhpB,MACvC4oB,EAAK3Q,UAIP,IAAItG,EAAUoI,EAAQxI,SAAS+Y,eAAeltB,GAC1CuU,GACF7W,QAAQ6W,QAAQA,GAAS4Y,KAAK,QAAS,MAG3C,SAAStjB,IACH2T,EAAG0M,UACLvrB,EAASkL,OAAO2T,EAAG0M,UAEjB1M,EAAGvZ,QAAQW,OAAS4Y,EAAGvZ,QAAQwR,iBACjC+H,EAAGvZ,QAAQwL,SAAS/B,iBAAiB8P,EAAGvZ,UAE1C6Y,EAAUjT,SAGZ,SAASyE,IACP,IAAI2Y,EAAQC,IACZ1J,EAAGvZ,QAAQwH,QAAQhO,KAAK,SAASiC,GAC/B8d,EAAGvZ,QAAQ4kB,WAAa,KACpB5B,EAAMsF,kBAGRtF,EAAMsF,iBAAiB7lB,eAAe+C,UAAUhM,KAAK,WAC/CwpB,EAAMuF,kBAERvF,EAAMuF,iBAAiB3P,OAAO6D,GAAG,gCAAkCvX,UAAWqU,EAAGvZ,QAAQoB,QAI/F0X,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,8BACVgW,SAAS,aACTiI,UAAU,QAInB,SAASoJ,IACPxN,EAAGyN,UAAY,UACXzN,EAAG0M,UACLvrB,EAASkL,OAAO2T,EAAG0M,UAErB1M,EAAGvZ,QAAQuS,QAAQ/Y,KAAK,SAASiC,GAC/B,IAAIunB,EAAQC,IACZ1J,EAAGyN,UAAY,OACXhE,EAAMsF,kBAGRtF,EAAMsF,iBAAiB7lB,eAAe+C,UAAUhM,KAAK,WAC/CwpB,EAAMuF,kBAERvF,EAAMuF,iBAAiBpR,UAIzB6L,EAAMwF,mBAGRxF,EAAMwF,kBAAkB/lB,eAAe+C,UAEzCsT,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,6BACVgW,SAAS,aACTiI,UAAU,MAGfjjB,EAASme,EAAU6H,KAAM,MACxB,SAASpW,GACV5P,EAAS,WACP6e,EAAGyN,UAAY,QACfzN,EAAG4P,aAAe7e,EAAS7O,KAAM6O,EAAS7O,KAAKuE,QAAUsK,EAAS8e,eAKxE,SAASnC,IACP1N,EAAG6M,cAAgB7M,EAAG6M,aAGxB,SAASD,EAAc7jB,GACrB,OAAOujB,EAAYwD,WAAW/mB,GAAQ9I,KAAK,SAAS8vB,GAGlD,IAAIC,KAOJ,OANA3vB,EAAEC,QAAQD,EAAE8Q,UAAU4e,EAAO,WAAY,SAASE,GAChD5vB,EAAEC,QAAQ2vB,EAAW,SAASC,GAC5BF,EAAc3rB,KAAK6rB,OAIhB7vB,EAAE8vB,OAAOH,EAAe,SAASE,GACtC,OAAOA,EAAKE,WAAa,IAAMF,EAAKG,YAK1C,SAAS7D,EAAa8D,EAASvO,GAC7B,IAAIwO,EAAYC,EAAWC,EAAMluB,EAAG4S,EAChCub,EAAU,4LAId,GAFAH,EAAavQ,EAAGvZ,QAAQU,SAAS4a,GAE7B7hB,QAAQ8D,SAASssB,GAAU,CAM7B,IADAnb,EAAU,GACL5S,EAAI,EAAGA,EAAI+tB,EAAQztB,OAAQN,IACC,GAA1B+tB,EAAQK,WAAWpuB,IACM,IAAzB+tB,EAAQK,WAAWpuB,IACM,IAAzB+tB,EAAQK,WAAWpuB,IACM,IAAzB+tB,EAAQK,WAAWpuB,KACpBmuB,EAAQE,KAAKzb,GAKfA,GAAWmb,EAAQrc,OAAO1R,IAJ1BguB,EAAWlsB,KAAK8Q,GAChBA,EAAU,IAQd,OAFIA,GACFob,EAAWlsB,KAAK8Q,GACX,KAyBT,OAtBImb,EAAQO,SAASC,YAAY,IAE3B5wB,QAAQ8L,UAAUskB,EAAQS,OAAST,EAAQS,KAAKluB,OAClDxC,EAAEC,QAAQgwB,EAAQS,KAAM,SAASC,GAC3BA,EAAIrwB,MAAMkC,QACZ0tB,EAAWlsB,KAAK2sB,EAAIC,mBAIxBR,EAAOlE,EAAKjpB,MAAMgtB,EAAQY,UAAWZ,EAAQa,SACxC5mB,MAAMtK,KAAK,SAASmxB,GACvB/wB,EAAEC,QAAQmwB,EAAKM,KAAM,SAASC,GACxBA,EAAIrwB,MAAMkC,QACZ0tB,EAAWlsB,KAAK2sB,EAAIC,oBAM5BT,EAAYF,EAAQW,eAGlBT,GAGK,KAIX,SAAS7D,IACP3M,EAAGvZ,QAAQwH,QACP3M,EAAYuF,SAAS0nB,mBACvBvO,EAAG0M,SAAWvrB,EAAS6e,EAAG2M,eAAsD,IAAtCrrB,EAAYuF,SAAS0nB,iBAAsB,MAK3F8C,EAA2B1T,SAAW,SAAU,YAChD,SAAS0T,EAA2BjS,EAAQG,GAC1CH,EAAOkS,WAAa,WAClB/R,EAAS4H,QAIbjnB,QACG4B,OAAO,iBACPka,WAAW,6BAA8BqV,GACzCrV,WAAW,0BAA2BiQ,GA9V3C,GCAA,WAiBEsF,EAAoB5T,SAAW,WAAY,eAAgB,SAAU,WAAY,aAAc,aAAc,UAAW,mBACxH,SAAS4T,EAAoBzM,EAAUK,EAAc9F,EAAQ+F,EAAUC,EAAYC,EAAY/jB,EAASoe,GACtG,IAAkBjc,KAGlBtD,KAAKoxB,UAAY,WACfpxB,KAAKqxB,aAAepxB,EAAE2E,KAAK8f,EAAS9f,KAAK,OAAQ,SAAS0sB,GACxD,OAAOA,EAAIvU,UAAUgO,SAAS,eAMlC/qB,KAAKuxB,qBAAuB,SAAUC,GACpCluB,EAAUW,KAAKutB,IAKjBxxB,KAAK8K,aAAe,SAAU0mB,GAE5B,GADArwB,EAAQukB,yBAA2B8L,EACJ,OAA3BrwB,EAAQ2H,eAAyB,CACnC,IAAI2oB,EAAsBxxB,EAAE2E,KAAKtB,EAAW,SAASouB,GACnD,OAAOA,EAAKntB,QAAQnC,IAAMjB,EAAQ2H,eAAe1G,KAE/CqvB,GACFA,EAAoBE,iBAGnB3M,EAASE,EAAW,WACvBD,EAAW,QAAQzH,SAKzB1d,QACG4B,OAAO,iBACPka,WAAW,sBAAuBuV,GAClCS,UAAU,mBAjDb,WACE,OACEC,SAAU,IACVC,SACAlW,WAAY,yBAVlB,GCAA,WAEE,aAuBAmW,EAAiBxU,SAAW,SAAU,QACtC,SAASwU,EAAiB/S,EAAQmG,GAChC,IAAIvF,EAAK5f,KAETgf,EAAOgT,oBAAqB,EAC5BhT,EAAOiT,YAAc,GACrBjT,EAAOwI,WAAa,GAEpBxI,EAAOyI,WAAa,SAAS9e,GAC3B,OAAOwc,EAAKtZ,QAAQlD,IAGtBqW,EAAOkT,gBAAkB,SAASzgB,GAChC,IAAI3P,EAEU,YAAV2P,IACF3P,GACEqwB,gBAAgB,EAChBF,YAAajT,EAAOiT,YAAYG,UAIpCpT,EAAOqT,OAAOhsB,QAAQmR,YAAYoI,EAAG0S,iBAAkB7gB,EAAQ3P,IAInEhC,QACG4B,OAAO,iBACPka,WAAW,mBAAoBmW,GAC/BH,UAAU,SA5Cb,WACE,OACEC,SAAU,IACVU,KAIF,SAAcT,EAAOU,EAAUlY,EAAOoX,GACpCA,EAAKY,iBAAmBhY,EAAMmY,YAJ9B7W,WAAY,sBAdlB,GCAA,WAoDE8W,EAA4BnV,SAAW,SAAU,WAAY,SAAU,WAAY,WAAY,WAAY,WAAY,aAAc,aAAc,SAAU,UAAW,mBACxK,SAASmV,EAA4B1T,EAAQ0F,EAAUzF,EAAQle,EAAUoe,EAAU9F,EAAU2L,EAAUC,EAAYC,EAAYxF,EAAQve,EAASoe,GAC9I,IAAI7F,EAAQ1Z,KAGZA,KAAKggB,QAAU,WACbhgB,KAAK0kB,SAAWA,EAChB1kB,KAAK2yB,UAAW,EAChB3yB,KAAK4yB,kBAAkBrB,qBAAqBvxB,OAI9CA,KAAKoxB,UAAY,WACfpxB,KAAK6yB,kBAAoBnO,EAAS9f,KAAK,OAAO,GAC9C5E,KAAK8yB,iBAAmBpO,EAAS9f,KAAK,KAAK,GAC3C5E,KAAK+yB,eAAiBrO,EAAS9f,KAAK,sBAAsB,GAC1D5E,KAAKgzB,aAAetO,EAAS9f,KAAK,SAAS,GAC3C5E,KAAKizB,kBAAoBhzB,EAAEuU,KAAKkQ,EAAS9f,KAAK,YAGf,OAA3BzD,EAAQ2H,gBAA2B3H,EAAQ2H,eAAe1G,IAAMpC,KAAKuE,QAAQnC,IAC/EpC,KAAK4yB,kBAAkB9nB,aAAa9K,OAIxCA,KAAKkzB,WAAa,WAChB,MAAO,kBAAoBlzB,KAAKuE,QAAQiF,OAI1CxJ,KAAK8K,aAAe,SAASmP,GACvBja,KAAK2yB,UAAY3yB,KAAKuE,SAAWpD,EAAQ2H,gBAAkB9I,KAAKuE,QAAQ+I,eAE5EnM,EAAQ8H,cAAe,EACvB9H,EAAQ6H,cAAe,EACvBhJ,KAAK4yB,kBAAkB9nB,aAAa9K,MAChCia,IACFgF,EAAO6D,GAAG,wBACR3c,UAAWnG,KAAKuE,QAAQ4D,SAAS/F,GACjC2gB,UAAWxD,EAAgBvf,KAAKuE,QAAQO,QAE1CmV,EAAOiJ,kBACPjJ,EAAO6H,oBAKX9hB,KAAK2xB,eAAiB,WACpBjN,EAAS,GAAG3H,UAAUE,OAAO,UAI/Bjd,KAAKmzB,WAAa,SAASlZ,GACzBA,EAAOiJ,kBACPjJ,EAAO6H,iBACP9hB,KAAK2yB,UAAW,EAChB3yB,KAAKgzB,aAAa3iB,MAAQrQ,KAAKuE,QAAQS,KACvChF,KAAK8yB,iBAAiB/V,UAAUC,IAAI,WACpChd,KAAK+yB,eAAehW,UAAUE,OAAO,WACT,YAAxBhD,EAAOmZ,SAAS1uB,KAClB3D,EAAS,WACP2Y,EAAMsZ,aAAaK,SACnB3Z,EAAMsZ,aAAavT,SAClB,MAGHzf,KAAKgzB,aAAaK,SAClBrzB,KAAKgzB,aAAavT,SAEhBzf,KAAKszB,OACPtzB,KAAKszB,MAAM9V,SAKfxd,KAAKuzB,WAAa,SAAStZ,GACrBja,KAAKgzB,aAAaQ,WAGtBxzB,KAAKuE,QAAQS,KAAOhF,KAAKgzB,aAAa3iB,MACtCrQ,KAAKgzB,aAAaQ,UAAW,EAC7BxzB,KAAKuE,QAAQkJ,UACV5N,KAAK,SAASiC,GACb4X,EAAMiZ,UAAW,EACjBjZ,EAAMqZ,eAAehW,UAAUC,IAAI,WACnCtD,EAAMoZ,iBAAiB/V,UAAUE,OAAO,aAEzCxM,QAAQ,WACPiJ,EAAMsZ,aAAaQ,UAAW,MAKpCxzB,KAAKyzB,cAAgB,WACnBzzB,KAAK2yB,UAAW,EAChB3yB,KAAK8yB,iBAAiB/V,UAAUE,OAAO,WACvCjd,KAAK+yB,eAAehW,UAAUC,IAAI,WAClChd,KAAKgzB,aAAa3iB,MAAQrQ,KAAKuE,QAAQS,MAIzChF,KAAK2lB,cAAgB,WACnBjG,EAAO8D,QAAQzd,EAAE,WACFA,EAAE,4DACA0d,GAAI1d,EAAE,YACpBlG,KAAK,WACJ6Z,EAAMnV,QAAQgL,UACX1P,KAAK,WACJof,EAAO6D,GAAG,uBACT,SAASnS,GACV+O,EAAO8D,QAAQzd,EAAE,WACFA,EAAE,iGACA0d,GAAI1d,EAAE,YACpBlG,KAAK,WACJ6Z,EAAMnV,QAAQgL,SAAUoU,cAAc,IACnC9jB,KAAK,WACJof,EAAO6D,GAAG,uBACT,SAASnS,GACV+O,EAAO0H,MAAMrhB,EAAE,sDAAuD2T,EAAMnV,QAAQS,MACvEe,EAAE4K,EAASC,iBAQ1C5Q,KAAK0zB,SAAW,SAASzZ,GACvB,IAAIU,EAAgBtB,EAASuB,mBACxB+Y,WAAW3zB,KAAKizB,mBAChBW,iBACCva,EAASwa,UAAUC,YACnBza,EAAS0a,UAAUC,YAGrBlZ,EAAiBzB,EAAS0B,oBACzBC,SAAShb,KAAKizB,mBACd/X,SAAS,KACTC,cAAc9B,EAAS+B,UAAUC,MAElCC,GACFC,SAAUzb,QAAQ6W,QAAQJ,SAASkE,MACnCe,QACEyY,SAAUj0B,KACVkQ,OAAQlQ,KAAKuE,QACb4uB,WAAYrzB,QAAQ4M,KAAK1M,KAAMA,KAAKmzB,YACpCxN,cAAe7lB,QAAQ4M,KAAK1M,KAAMA,KAAK2lB,gBAEzChK,kBAAkB,EAClBC,WAAYsY,EACZpY,aAAc,YACdC,SAAUpB,EACVS,UAAWN,EACXkB,YAAa/B,EACbwI,YAAa,oBACbrG,WAAW,EACXC,qBAAqB,EACrBC,eAAe,EACfC,aAAa,GAGflD,EAAS/J,KAAKgM,GACXzb,KAAK,SAASs0B,GACbza,EAAM4Z,MAAQa,EAEdA,EAASC,QAAQxX,IAAI,QAAS,WAC5BuX,EAAS3W,YAIf0W,EAAe3W,SAAW,aAAc,SAAU,YAAa,QAC/D,SAAS2W,EAAe5W,EAAY2B,EAAQC,EAAWiG,GACrD,IAAIkP,EAAYr0B,KAEhBA,KAAKs0B,eAAiB,WACpBt0B,KAAKkQ,OAAOxB,eAGd1O,KAAKinB,UAAY,WACfvH,EAAOyH,OAAOphB,EAAE,iBACFA,EAAE,sCACblG,KAAK,SAASmF,GACbqvB,EAAUnkB,OAAOnL,YAAYsvB,EAAUnkB,OAAO9N,GAAI4C,GAC/CnF,KAAK,aAEH,SAASiC,EAAMgG,GAChB4X,EAAO0H,MAAMrhB,EAAE,sDAAuDf,GACzDe,EAAEjE,EAAK8O,aAK9B5Q,KAAKu0B,cAAgB,WACnBv0B,KAAKkQ,OAAO5B,WAAWzO,KAAK,WAC1Bsf,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,qBACVgW,SAAS,aACTiI,UAAU,SAInBhkB,KAAKw0B,iBAAmB,WACtBx0B,KAAKkQ,OAAOzB,cAAc5O,KAAK,WAC7Bsf,EAAShG,KACPgG,EAAS4E,SACNtO,QAAQ1P,EAAE,kBACVgW,SAAS,aACTiI,UAAU,SAInBhkB,KAAKgnB,mBAAqB,WACxB7lB,EAAQ8H,aAAejJ,KAAKkQ,OAAOpL,KAE9BkgB,EAASE,EAAW,WACvBD,EAAW,QAAQzH,SAGvBxd,KAAKy0B,MAAQ,WAEXz0B,KAAKkQ,OAAO9F,KAAKsqB,SAAS70B,KAAK,WAE7Bqf,EAAU/F,MACRsJ,YAAa4R,EAAUnkB,OAAO9N,GAAK,gBACnCwZ,WAAY,gBACZE,aAAc,MACdO,qBAAqB,EACrBC,eAAe,EACfd,QACEmZ,aAAcN,EAAUnkB,OAAO9F,KAAKvC,MACpCsd,KAAMA,EACNjV,OAAQmkB,EAAUnkB,aAM1BlQ,KAAK40B,YAAc,SAASlwB,GAC1B1E,KAAKkQ,OAAO1B,aAAa9J,GAAM7E,KAAK,WAClCw0B,EAAUnkB,OAAO/H,SAAStF,eAAeI,QAAQ,OAIrDjD,KAAK60B,WAAa,SAAS/vB,GACzB,IAAIgwB,EAsBJ,OAnBAA,EAAe,SAASnnB,GACtB,KAAIA,EAAOnK,UAAYmK,EAAOnK,SAASf,OAAS,GAc9C,OAAQkL,EAAO7I,MAAQA,EAbvB,IAAK,IAAI3C,EAAI,EAA4BA,EAAIwL,EAAOnK,SAASf,OAAQN,IAAK,CACxE,IAAIF,EAAI0L,EAAOnK,SAASrB,GACxB,GAAIF,EAAEuB,UAAYvB,EAAEuB,SAASf,OAAS,GACpC,GAAIqyB,EAAa7yB,GACf,OAAO,OAGN,GAAIA,EAAE6C,MAAQA,EACjB,OAAO,KASK9E,KAAKkQ,SAG3BlQ,KAAK+0B,WAAa,SAASjwB,GACzB9E,KAAKkQ,OAAOK,MAAMzL,GAClBwY,EAAWE,WAUnB1d,QACG4B,OAAO,iBACPka,WAAW,8BAA+B8W,GAC1Cd,UAAU,oBA3Ub,WACE,OACEC,SAAU,IACVmD,SACEpC,kBAAmB,sBAErBd,SACAnW,kBACEpX,QAAS,cAEX4X,UACE,kCACA,wCACA,qCACA,kDACA,gCAAkCpW,EAAE,YAAc,IAClD,sDACA,oEACA,4GACA,+DACA,WACA,4BACA,4CACA,8CACA,yDACA,6CACA,gDACA,wDACA,SACA,iDACA,8CACA,0BAA4BA,EAAE,qCAAuC,IACrE,gDACA,iDACA,kDACA,0BACA,4EAA8EA,EAAE,WAAa,yBAC7F8D,KAAK,IACP+R,WAAY,8BACZE,aAAc,WA7CpB,GCAA,WAsBEmZ,EAA4B1X,SAAW,SAAU,WAAY,WAC7D,SAAS0X,EAA4BjW,EAAQ0F,EAAUvjB,GACrD,IAAIuY,EAAQ1Z,KAGZA,KAAKggB,QAAU,WACb,IAAIkV,GAAgB,MAAO,SAAU,YAAa,QAAS,WAG3Dl1B,KAAKm1B,eAAiBh0B,EAEa,SAA/BA,EAAQ2H,eAAepE,MACzBwwB,EAAajxB,KAAK,WAEpB+a,EAAOsC,OACL,WACE,OAAO5H,EAAMrT,SAAWpG,EAAEm1B,KAAK1b,EAAMrT,QAAS6uB,IAAkB,MAElE,SAASG,EAAOC,GACV5b,EAAMrT,SAERqT,EAAM6b,aAGV,IAKJv1B,KAAKu1B,SAAW,WAEVv1B,KAAKqG,QAAQsI,OACf+V,EAASvH,YAAY,UAErBuH,EAAShK,SAAS,UAEhBvZ,EAAQ2H,eAAewC,kBAAkBtL,KAAKqG,QAAQoB,IAAKzH,KAAKqG,QAAQwL,SAAS/M,MACnF4f,EAAShK,SAAS,6CAElBgK,EAASvH,YAAY,8CAIzBnd,KAAKw1B,cAAgB,SAAU7e,EAAS8e,GAClCA,EACF9e,EAAQoG,UAAUE,OAAO,WAEzBtG,EAAQoG,UAAUC,IAAI,YAM5Bld,QACG4B,OAAO,iBACPka,WAAW,8BAA+BqZ,GAC1CrD,UAAU,oBAtEb,WACE,OACEC,SAAU,IACVC,SACAnW,kBACEtV,QAAS,cAEXuV,WAAY,iCAflB,GCAA,WAsDE8Z,EAAgCnY,SAAW,SAAU,WAAY,SAAU,SAAU,UAAW,WAAY,UAAW,UAAW,mBAClI,SAASmY,EAAgC1W,EAAQ0F,EAAUiR,EAAQ1W,EAAQ+M,EAAS7M,EAAUhe,EAASC,EAASme,GAC9G,IAAI7F,EAAQ1Z,KAEZA,KAAKoxB,UAAY,WACf,IAAIwE,EAAmBC,EACnBC,EAA0BN,EAE9Bx1B,KAAK+1B,iBAAmB/W,EAAO+W,iBAE/BD,EAA2B91B,KAAK+1B,iBAAiBR,SACjDC,EAAgBx1B,KAAK+1B,iBAAiBP,cAEtCv1B,EAAEC,QAAQwkB,EAAS9f,KAAK,OAAQ,SAAS0sB,GACnCA,EAAIvU,UAAUgO,SAAS,mBACzB6K,EAAoB91B,QAAQ6W,QAAQ2a,GAC7BA,EAAIvU,UAAUgO,SAAS,mBAC9B8K,EAAkB/1B,QAAQ6W,QAAQ2a,MAGtCtxB,KAAKg2B,oBAAsBJ,EAAkBhxB,KAAK,WAAW,GAEzDzD,EAAQ6H,eAEVhJ,KAAKi2B,mBAAqBL,EAAkBhxB,KAAK,QAAQ,GACzD5E,KAAKi2B,mBAAmBlZ,UAAUE,OAAO,YAG3Cjd,KAAKk2B,cAAgBN,EAAkBhxB,KAAK,QAAQ,GAEpD3E,EAAEC,QAAQ01B,EAAkBhxB,KAAK,OAAQ,SAAS0sB,GAC5CA,EAAIvU,UAAUgO,SAAS,mBACzBrR,EAAMyc,eAAiB7E,EAChBA,EAAIvU,UAAUgO,SAAS,gBAC9BrR,EAAM0c,YAAc9E,EACbA,EAAIvU,UAAUgO,SAAS,kBAC9BrR,EAAM2c,YAAc/E,KAGxBrxB,EAAEC,QAAQ21B,EAAgBjxB,KAAK,WAAY,SAAS0sB,GAC3B,QAAnBA,EAAIgF,YACN5c,EAAM6c,gBAAkBjF,EACE,SAAnBA,EAAIgF,YACX5c,EAAM8c,kBAAoBlF,EACA,WAAnBA,EAAIgF,YACX5c,EAAM+c,mBAAqBnF,EACD,eAAnBA,EAAIgF,cACX5c,EAAMgd,sBAAwBpF,KAMlCtxB,KAAK+1B,iBAAiBR,SAAW,WAC/B,IAAIpzB,EACJuX,EAAMrT,QAAUqT,EAAMqc,iBAAiB1vB,QAGvC,IAAIswB,EAAe3K,EAAQ4K,aAAalS,EAAS,GAAG7N,iBAAiB,iBAIrE,IAHA5W,EAAEC,QAAQy2B,EAAc,SAASE,GAC/BnS,EAAS,GAAGoS,YAAYD,KAErB10B,EAAI,EAAGA,EAAIuX,EAAMrT,QAAQgH,MAAM5K,QAAUN,EAAI,EAAGA,IAAK,CACxD,IAAImR,EAAMoG,EAAMrT,QAAQgH,MAAMlL,GAC9B,GAAIuX,EAAMwG,QAAQ1N,MAAMc,GAAM,CAC5B,IAAIujB,EAAc/2B,QAAQ6W,QAAQ,mCAClCkgB,EAAYE,IAAI,OAAW,EAAF50B,EAAO,MAChC00B,EAAYE,IAAI,mBAAoBrd,EAAMwG,QAAQ1N,MAAMc,GAAK,IAC7DoR,EAASsS,QAAQH,IAKjBnd,EAAMuc,qBACRvc,EAAMuc,mBAAmBxf,UAAYiD,EAAMrT,QAAQwL,SAASxH,cAGd,QAA5CqP,EAAMyb,eAAersB,eAAepE,KACtCgV,EAAMwc,cAAczf,UAAYiD,EAAMrT,QAAQyO,cAAc,MAAMmiB,iBAElEvd,EAAMwc,cAAczf,UAAYiD,EAAMrT,QAAQyO,cAAc,QAAQmiB,iBAGlEvd,EAAMrT,QAAQ6wB,UAAYxd,EAAMrT,QAAQ6wB,SAAS1tB,MAAQ,GAC3DkQ,EAAMsc,oBAAoBjZ,UAAUE,OAAO,WACvCvD,EAAMrT,QAAQ6wB,SAAS1tB,MAAQ,EACjCkQ,EAAMsc,oBAAoBjZ,UAAUC,IAAI,WAExCtD,EAAMsc,oBAAoBjZ,UAAUE,OAAO,YAG7CvD,EAAMsc,oBAAoBjZ,UAAUC,IAAI,WAG1CtD,EAAMyc,eAAe1f,UAAYiD,EAAMrT,QAAQ4G,QAAQgqB,iBAGvDvd,EAAM0c,YAAY3f,UAAYiD,EAAMrT,QAAQiY,KAG5C5E,EAAM2c,YAAY5f,UAAYiD,EAAMrT,QAAQ8wB,aAE5C3B,EAAc9b,EAAM6c,gBACL7c,EAAMrT,QAAQ2R,WAC7Bwd,EAAc9b,EAAM8c,kBACL9c,EAAMrT,QAAQyS,YAC7B0c,EAAc9b,EAAM+c,mBACL/c,EAAMrT,QAAQ0S,aAC7Byc,EAAc9b,EAAMgd,sBACLhd,EAAMrT,QAAQ+wB,eAG7Bt3B,QAAQ4M,KAAKgN,EAAMqc,iBAAkBD,EAArCh2B,IAGFE,KAAKkgB,QAAU9e,EACfpB,KAAKm1B,eAAiBh0B,GAM1BrB,QACG4B,OAAO,iBACPka,WAAW,kCAAmC8Z,GAC9C9D,UAAU,wBA3Kb,WACE,OACEC,SAAU,IACVmD,QAAS,sBACTlD,SACA3V,UACE,gCACA,gCACA,YACA,6EACA,iDACA,wDACA,aACA,0DACA,WACA,6BACA,gEACA,0DACA,WACA,SACA,8BACA,4CACA,6CACA,+CACA,mDACA,SACA,0CACA,0CACA,gDACA,+HACA,UACAtS,KAAK,IACP0oB,KAKF,SAAkBT,EAAOnb,EAAS2D,EAAOyb,GACvCjE,EAAMiE,iBAAmBA,GALzBna,WAAY,kCACZE,aAAc,WA1CpB,GCAA,WAEE,aAkDAub,EAA0B9Z,SAAW,WAAY,gBACjD,SAAS8Z,EAA0B3S,EAAUxL,GAC3C,IAAIQ,EAAQ1Z,KAEZA,KAAKoxB,UAAY,WACflY,EAAaM,cAAckL,GAC3BA,EAASxD,GAAG,QAASlhB,KAAKs3B,YAG5Bt3B,KAAKs3B,UAAY,SAASrd,GACK,OAAzBA,EAAOgB,OAAOmP,SAChBlR,EAAac,YAAYC,EAAQP,EAAMQ,YAI7Cpa,QACG4B,OAAO,iBACPkwB,UAAU,kBApDb,WACE,OACEC,SAAU,IACVlW,kBACEzB,UAAW,oBAEb0B,WAAYyb,KAvBlB","file":"Mailer.services.js"}
\ No newline at end of file
+{"version":3,"sources":["Mailer/Account.service.js","Mailer/Mailbox.service.js","Mailer/Message.service.js","Mailer/sgImageGallery.service.js","Mailer/VirtualMailbox.service.js","Mailer/MailboxController.js","Mailer/MailboxesController.js","Mailer/MessageController.js","Mailer/MessageEditorController.js","Mailer/sgAccountSection.directive.js","Mailer/sgIMIP.directive.js","Mailer/sgMailboxListItem.directive.js","Mailer/sgMessageListItem.directive.js","Mailer/sgMessageListItemMain.directive.js","Mailer/sgZoomableImage.directive.js"],"names":["Account","futureAccountData","then","angular","extend","this","_","forEach","identities","identity","fullName","full","email","$log","debug","JSON","stringify","undefined","$factory","$q","$timeout","Settings","Resource","Preferences","Mailbox","Message","$$resource","activeUser","$Preferences","$Mailbox","$Message","module","e","factory","$findAll","data","$unwrapCollection","fetch","o","collection","i","id","$accounts","prototype","getLength","$flattenMailboxes","length","getItemAtIndex","index","expandedMailboxes","$getMailboxes","options","_this","$mailboxes","reload","$find","$expanded","expandedFolders","_visit","mailboxes","indexOf","children","settings","Mail","ExpandedFolders","isString","fromJson","warn","when","allMailboxes","push","all","$$flattenMailboxes","saveState","account","reduce","mailbox","post","$getMailboxByType","type","_find","find","$getMailboxByPath","path","$newMailbox","name","toString","$certificate","security","hasCertificate","$$certificate","reject","$removeCertificate","updateQuota","percent","description","Math","round","usedSpace","maxQuota","l","formatted","$quota","$newMessage","accountId","mailboxPath","message","$absolutePath","asDraft","accountDefaults","defaults","AuxiliaryMailAccounts","alwaysSign","sign","alwaysEncrypt","encrypt","editable","isNew","mailto","isObject","$parseMailto","$addDelegate","user","deferred","defer","param","uid","map","delegates","resolve","users","status","promise","$removeDelegate","splice","futureMailboxData","$account","init","newMailboxData","create","$unwrap","Acl","PRELOAD","$$Acl","$query","sort","asc","selectedFolder","$refreshTimeout","$virtualMode","$virtualPath","SortingState","parseInt","constant","LOOKAHEAD","SIZE","createMailboxes","level","quotas","split","component","asCSSIdentifier","join","isUndefined","uidsMap","headers","$isLoading","$messages","$id","$acl","$displayName","$isEditable","isEditable","$isSpecial","$icon","$isNoInferiors","isNoInferiors","$shadowData","$omit","selectFolder","$lastVisibleIndex","max","$loadMessage","$selectedMessages","filter","selected","$selectedCount","isSelectedMessage","messageId","selectedMessage","$selectedMessage","$selectedMessageIndex","hasSelectedMessage","isDefined","$filter","sortingAttributes","filters","unseenCount","cancel","searchInput","secondFilter","match","searchBy","copy","refreshViewCheck","SOGoRefreshViewCheck","f","bind","timeInterval","endIndex","uids","futureHeadersData","startIndex","loaded","subject","min","loading","$unwrapHeaders","flags","isNoSelect","getClassName","base","$rename","findParent","parent","parentMailbox","$save","sibling","oldPath","localeCompare","pathRE","RegExp","_updateChildren","child","replace","$compact","$canFolderAs","$setFolderAs","$emptyTrash","$markAsRead","isread","$flagMessages","messages","operation","msgUIDs","saveSelectedMessages","selectedMessages","selectedUIDs","filename","download","exportFolder","open","$delete","$_deleteMessages","unseen","firstIndex","forEachRight","selectedIndex","findIndex","$deleteMessages","$markOrUnMarkMessagesAsJunk","method","$copyMessages","folder","$moveMessages","$reset","value","key","$move","parentPath","finally","save","response","error","$futureMailboxData","$topIndex","invokeMap","threaded","msgs","msg","msgObject","zipObject","isError","j","messageHeaders","$updateSubscribe","action","subscribed","futureMessageData","lazy","$mailbox","$hasUnsafeContent","$loadUnsafeContent","to","cc","bcc","Message_STATUS","STATUS","$avatar","avatar","SOGoMailLabelsColors","$tags","SOGoMailDisplayRemoteInlineImages","$displayRemoteInlineImages","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","filterTags","query","excludedTags","re","results","keys","tag","pair","search","includes","color","$formatFullAddresses","flag","charAt","buildPath","nocache","draftId","withResourcePath","$setUID","oldUID","attr","constructor","shortname","first","last","image","$shortRecipients","result","count","total","$shortAddress","address","allowReplyAll","recipientsCount","isDraft","loadUnsafeContent","$parts","$content","parts","part","msgclass","content","alternatePart","preferredPart","contentType","isArray","signed","valid","certificate","certificates","encrypted","mixedPart","safeContent","html","unsafeContent","document","createElement","innerHTML","suffix","element","elements","querySelectorAll","removeAttr","compile","$editableContent","from","toLowerCase","text","$plainContent","addTag","$addOrRemoveTag","removeTag","$imipAction","$reload","$sendMDN","shouldAskReceipt","$deleteAttachment","attachmentAttrs","attachment","toggleFlag","isflagged","$loaded","useCache","$futureMessageData","exec","decodeURIComponent","trim","$reply","$newDraft","$replyAll","$forward","origin","$send","startsWith","isanswered","isforwarded","privateAttributes","downloadAttachments","ImageGallery","show","$document","$mdPanel","sgHotkeys","setMessage","registerImage","registerHotkeys","$ctrl","createHotkey","callback","previousImage","nextImage","registerHotkey","showGallery","$event","partIndex","partSrc","src","images","attrs","mimetype","url","body","addClass","panelPosition","newPanelPosition","absolute","panelAnimation","newPanelAnimation","openFrom","target","duration","withAnimation","animation","FADE","config","attachTo","locals","lastIndex","selectedImage","bindToController","controller","PanelController","controllerAs","position","targetEvent","fullscreen","hasBackdrop","template","trapFocus","clickOutsideToClose","escapeToClose","focusOnOpen","onOpenComplete","getElementsByClassName","imgContainer","imgEl","one","naturalWidth","naturalHeight","classList","add","remove","onDomRemoved","removeClass","hotkeys","deregisterHotkey","mdPanelRef","close","selectImage","$inject","VirtualMailbox","setMailboxes","startSearch","params","stopSearch","resetSelectedMessage","len","k","offset","selectedMailbox","transform","messagesMap","size","sum","allMessages","promises","assign","flatten","currentMailbox","$comact","MailboxController","$window","$scope","$state","$mdDialog","$mdToast","stateAccounts","stateAccount","stateMailbox","encodeUriFilter","sgSettings","focus","Dialog","sortLabels","vm","defaultWindowTitle","_compactBeforeUnload","event","_nextMessage","selectMessage","preventDefault","_previousMessage","_addNextMessageToSelection","toggleMessageSelection","_addPreviousMessageToSelection","_currentMailboxes","_unselectMessage","nextMessage","previousMessage","nextIndex","mode","multiple","go","console","date","arrival","$onInit","$mailboxController","service","accounts","messageDialog","searchMode","newMessage","markOrUnMarkMessagesAsJunk","preventInClass","hotkey","confirmDeleteSelectedMessages","on","$on","off","$watch","title","centerIsClose","navController_centerIsClose","field","sortedBy","ascending","cancelSearch","composeWindowEnabled","SOGoMailComposeWindowEnabled","inPopup","wId","SOGoMailComposeWindow","baseURL","random","templateUrl","stateMessage","catch","noop","mailboxId","nextSelectedIndex","shiftKey","stopPropagation","confirm","ok","deleteSelectedMessage","withoutTrash","moveSelectedMessage","dstFolder","copySelectedMessages","simple","hideDelay","moveSelectedMessages","selectAll","unselectMessages","markSelectedMessagesAsFlagged","markSelectedMessagesAsUnread","markSelectedMessagesAsRead","mdVirtualRepeatContainerDirectiveDecorator","$delegate","resetScroll","$element","updateSize","scrollTo","decorator","MailboxesController","$transitions","$mdMedia","$mdSidenav","sgConstant","User","currentSearchParam","","subfolders","showSubscribedOnly","SOGoMailShowSubscribedFoldersOnly","refreshUnseenCount","selectedFolderController","confirmDelete","hideAdvancedSearch","searchPreviousMailbox","toggleAdvancedSearch","virtualMailbox","root","folders","$current","addSearchParam","v","newSearchParam","pattern","n","searchParam","substring","negative","toggleAccountState","subscribe","SubscriptionsDialogController","srcAccount","hide","showAdvancedSearch","newFolder","parentFolder","prompt","alert","delegate","MailboxDelegationController","userToAdd","searchText","userFilter","closeModal","removeUser","addUser","unseenCountFolders","isDroppableFolder","srcFolder","dragSelectedMessages","dstId","clearMessageView","success","MessageController","Calendar","Component","_messageDialog","arguments","_unlessInDialog","apply","$parentControllers","ctrls","opener","mailboxCtrl","$messageController","messageCtrl","_showMailEditor","closePopup","_convertToComponent","componentData","pid","$defaultCalendar","summary","comment","capitalize","stateComponent","tags","showFlags","$showDetailedRecipients","showRawSource","reply","replyAll","forward","deleteMessage","$watchCollection","newTags","oldTags","wasflagged","_newTags","_oldTags","difference","addFlags","toggleDetailedRecipients","filterMailtoLinks","href","tagName","attributes","state","parentCtrls","_showMailEditorInPopup","isPopup","openInPopup","destination","edit","contains","toggleRawSource","$rawSource","print","convertToEvent","convertToTask","MessageEditorController","$stateParams","$mdConstant","$mdUtil","FileUploader","AddressBook","Card","originMessage","draftMailboxCtrl","draftMessageCtrl","originMailboxCtrl","_updateFileUploader","uploader","_addAttachments","fileItem","FileItem","progress","isUploaded","isSuccess","inlineUrl","queue","removeAttachment","item","isUploading","cancelItem","file","getElementById","prop","autosave","send","sendState","errorMessage","statusText","toggleFullscreen","isFullscreen","contactFilter","$filterAll","cards","explodedCards","manyCards","card","uniqBy","$$fullname","$$email","addRecipient","contact","recipients","recipient","list","emailRE","charCodeAt","test","$isList","expandable","refs","ref","$shortFormat","container","c_name","listId","autosaveDrafts","SOGoMailAutoSave","autocomplete","hideBcc","hideCc","uniq","recipientSeparatorKeys","KEY_CODE","ENTER","TAB","COMMA","SEMICOLON","autoUpload","alias","removeAfterUpload","onSuccessItem","lastAttachmentAttrs","onCancelItem","removeFromQueue","onErrorItem","localeCode","LocaleCode","destroy","actionName","SendMessageToastController","closeToast","sgAccountController","$postLink","quotaElement","div","addMailboxController","mailboxController","selectedMailboxCtrl","ctrl","unselectFolder","directive","restrict","scope","sgImipController","delegateInvitation","delegatedTo","iCalendarAction","receiveUpdates","c_email","viewer","pathToAttachment","link","iElement","sgImipPath","sgMailboxListItemController","editMode","accountController","selectableElement","clickableElement","inputContainer","inputElement","moreOptionsButton","childLevel","editFolder","srcEvent","select","panel","saveFolder","disabled","revertEditing","showMenu","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","itemCtrl","MenuController","$menuCtrl","markFolderRead","compactFolder","emptyTrashFolder","share","$users","usersWithACL","setFolderAs","isParentOf","findChildren","moveFolder","panelRef","panelEl","require","sgMessageListItemController","watchedAttrs","MailboxService","pick","newId","oldId","onUpdate","setVisibility","visible","sgMessageListItemMainController","$parse","contentDivElement","iconsDivElement","parentControllerOnUpdate","parentController","priorityIconElement","mailboxNameElement","senderElement","subjectElement","sizeElement","dateElement","textContent","flagIconElement","answerIconElement","forwardIconElement","attachmentIconElement","flagElements","nodesToArray","flagElement","removeChild","css","prepend","encodeEntities","priority","relativedate","hasattachment","sgZoomableImageController","showImage"],"mappings":"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","file":"Mailer.services.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Main.js b/UI/WebServerResources/js/Main.js
index 3abaf708f..bf7781d2c 100644
--- a/UI/WebServerResources/js/Main.js
+++ b/UI/WebServerResources/js/Main.js
@@ -1,2 +1,2 @@
-!function(){"use strict";angular.module("SOGo.MainUI",["SOGo.Common","SOGo.Authentication"]),n.$inject=["$scope","$window","$timeout","Dialog","$mdDialog","Authentication"];function n(n,o,t,e,i,a){var l=this;this.$onInit=function(){this.creds={username:o.cookieUsername,password:null,rememberLogin:angular.isDefined(o.cookieUsername)&&o.cookieUsername.length>0},/\blanguage=/.test(o.location.search)&&(this.creds.language=o.language),this.loginState=!1,this.showLogin=!1,t(function(){l.showLogin=!0},100)},this.login=function(){return l.loginState="authenticating",a.login(l.creds).then(function(n){l.loginState="logged",l.cn=n.cn,t(function(){o.location.href===n.url?o.location.reload(!0):o.location.href=n.url},1e3)},function(n){l.loginState="error",l.errorMessage=n.error}),!1},this.showAbout=function(n){i.show({targetEvent:n,templateUrl:"aboutBox.html",controller:o,controllerAs:"about"}),o.$inject=["$mdDialog"];function o(n){this.closeDialog=function(){n.hide()}}},this.changeLanguage=function(n){o.location.href=ApplicationBaseURL+"login?language="+this.creds.language}}angular.module("SOGo.MainUI").controller("LoginController",n)}();
+!function(){"use strict";function n(n,o,t,e,i,a){var l=this;this.$onInit=function(){this.creds={username:o.cookieUsername,password:null,rememberLogin:angular.isDefined(o.cookieUsername)&&00||f)},u.onBeforeUploadCertificate=function(e){u.form=e,u.uploader.clearQueue()},u.removeCertificate=function(){d.$removeCertificate().then(function(){delete u.account.security.hasCertificate})},u.importCertificate=function(){u.uploader.queue[0].formData=[{password:u.certificatePassword}],u.uploader.uploadItem(0)},u.cancel=function(){t.cancel()},u.save=function(){t.hide()},u.hostnameRE=c>0?/^(?!(127\.0\.0\.1|localhost(?:\.localdomain)?)$)/:/./,u.account.encryption?"ssl"==u.account.encryption&&(u.defaultPort=993):u.account.encryption="none",h(),u.uploader=new a({url:[i.activeUser("folderURL")+"Mail",c,"importCertificate"].join("/"),autoUpload:!1,queueLimit:1,filters:[{name:p,fn:p}],onAfterAddingFile:function(e){u.certificateFilename=e.file.name},onSuccessItem:function(t,a,r,i){this.clearQueue(),e(function(){_.assign(u.account,{security:{hasCertificate:!0}})}),h()},onErrorItem:function(e,t,a,i){r.alert(l("Error"),l("An error occurred while importing the certificate. Verify your password."))}});function h(){u.account.security&&u.account.security.hasCertificate&&d.$certificate().then(function(e){u.certificate=e},function(){delete u.account.security.hasCertificate})}function p(e){var t=e.type.indexOf("pkcs12")>0||/\.(p12|pfx)$/.test(e.name);return u.form.certificateFilename.$setValidity("fileformat",t),t}}angular.module("SOGo.PreferencesUI").controller("AccountDialogController",e)}(),function(){"use strict";e.$inject=["$scope","$window","$mdDialog","filter","mailboxes","labels"];function e(e,t,a,r,i,s){var n=this,o=t.sieveCapabilities,c=t.forwardEnabled;t.vacationEnabled;n.filter=r,n.mailboxes=i,n.labels=s,n.cancel=function(){a.cancel()},n.hasRulesAndActions=function(){var e=[n.filter.actions];"allmessages"!=n.filter.match&&e.push(n.filter.rules);return _.every(e,function(e){return e&&e.length>0})},n.save=function(e){a.hide()},n.addMailFilterRule=function(e){n.filter.rules||(n.filter.rules=[]);n.filter.rules.push({field:"subject",operator:"contains"})},n.removeMailFilterRule=function(e){n.filter.rules.splice(e,1)},n.addMailFilterAction=function(e){n.filter.actions||(n.filter.actions=[]);n.filter.actions.push({method:"discard"})},n.removeMailFilterAction=function(e){n.filter.actions.splice(e,1)},n.fieldLabels={subject:l("Subject"),from:l("From"),to:l("To"),cc:l("Cc"),to_or_cc:l("To or Cc"),size:l("Size (Kb)"),header:l("Header")},o.indexOf("body")>-1&&(n.fieldLabels.body=l("Body")),n.methodLabels={discard:l("Discard the message"),keep:l("Keep the message"),stop:l("Stop processing filter rules")},c&&(n.methodLabels.redirect=l("Forward the message to")),o.indexOf("reject")>-1&&(n.methodLabels.reject=l("Send a reject message")),o.indexOf("fileinto")>-1&&(n.methodLabels.fileinto=l("File the message in")),(o.indexOf("imapflags")>-1||o.indexOf("imap4flags")>-1)&&(n.methodLabels.addflag=l("Flag the message with")),n.numberOperatorLabels={under:l("is under"),over:l("is over")},n.textOperatorLabels={is:l("is"),is_not:l("is not"),contains:l("contains"),contains_not:l("does not contain"),matches:l("matches"),matches_not:l("does not match")},o.indexOf("regex")>-1&&(n.textOperatorLabels.regex=l("matches regex"),n.textOperatorLabels.regex_not=l("does not match regex"))}angular.module("SOGo.PreferencesUI").controller("FiltersDialogController",e)}(),function(){"use strict";e.$inject=["$q","$window","$state","$mdMedia","$mdSidenav","$mdDialog","$mdToast","sgSettings","sgFocus","Dialog","User","Account","Preferences","Authentication"];function e(e,t,a,r,i,s,n,o,c,f,u,d,h,p){var m,g=this,C=[],w=(new Date).beginOfDay();this.$onInit=function(){this.preferences=h,this.passwords={newPassword:null,newPasswordConfirmation:null},this.timeZonesList=t.timeZonesList,this.timeZonesSearchText="",this.sieveVariablesCapability=t.sieveCapabilities.indexOf("variables")>=0,this.mailLabelKeyRE=new RegExp(/^(?!^_\$)[^(){} %*\"\\\\]*?$/),o.activeUser("path").mail&&(m=new d({id:0})).$getMailboxes().then(function(){for(var e=m.$flattenMailboxes({all:!0}),t=-1,a=e.length;++t0&&angular.isDefined(this.preferences.defaults.Forward)&&this.preferences.defaults.Forward.enabled&&angular.isDefined(this.preferences.defaults.Forward.forwardAddress))for(o=this.preferences.defaults.Forward.forwardAddress.split(","),c=t.defaultEmailAddresses.split(/, */),_.forEach(c,function(e){var t=e.split("@")[1];t&&u.push(t.toLowerCase())}),i=0;i=0&&2==t.forwardConstraints&&(f.alert(l("Error"),l("You are not allowed to forward your messages to an internal email address.")),s=!1);return this.preferences.defaults.SOGoMailLabelsColorsKeys.length==this.preferences.defaults.SOGoMailLabelsColorsValues.length&&this.preferences.defaults.SOGoMailLabelsColorsKeys.length==_.uniq(this.preferences.defaults.SOGoMailLabelsColorsKeys).length||(f.alert(l("Error"),l("IMAP labels must have unique names.")),_.forEach(this.preferences.defaults.SOGoMailLabelsColorsKeys,function(e,t,r){a["mailIMAPLabel_"+t].$dirty&&(r.indexOf(e)!=t||r.indexOf(e,t+1)>-1)&&(a["mailIMAPLabel_"+t].$setValidity("duplicate",!1),s=!1)})),s?this.preferences.$save().then(function(e){r&&r.quick||(n.show(n.simple().content(l("Preferences saved")).position("bottom right").hideDelay(2e3)),a.$setPristine())}):e.reject()},this.canChangePassword=function(){return!!(this.passwords.newPassword&&this.passwords.newPassword.length>0&&this.passwords.newPasswordConfirmation&&this.passwords.newPasswordConfirmation.length&&this.passwords.newPassword==this.passwords.newPasswordConfirmation)},this.changePassword=function(){p.changePassword(this.passwords.newPassword).then(function(){var e=s.alert({title:l("Password"),content:l("The password was changed successfully."),ok:l("OK")});s.show(e).finally(function(){e=void 0})},function(e){var t=s.alert({title:l("Password"),content:e,ok:l("OK")});s.show(t).finally(function(){t=void 0})})},this.timeZonesListFilter=function(e){return _.filter(this.timeZonesList,function(t){return t.toUpperCase().indexOf(e.toUpperCase())>=0})},this.updateVacationDates=function(){var e=this.preferences.defaults;e&&e.Vacation&&e.Vacation.enabled&&(this.toggleVacationStartDate(),this.toggleVacationEndDate())},this.toggleVacationStartDate=function(){var e;(e=this.preferences.defaults.Vacation).startDateEnabled&&e.endDateEnabled&&e.startDate.getTime()>e.endDate.getTime()&&(e.startDate=new Date(e.endDate.getTime()),e.startDate.addDays(-1))},this.toggleVacationEndDate=function(){var e;(e=this.preferences.defaults.Vacation).endDateEnabled&&e.startDateEnabled&&e.endDate.getTime()=w.getTime()),a},this.validateVacationEndDate=function(e){var t=g.preferences.defaults,a=!0;return t&&t.Vacation&&t.Vacation.enabled&&t.Vacation.endDateEnabled&&(a=(!t.Vacation.startDateEnabled||e.getTime()>t.Vacation.startDate.getTime())&&e.getTime()>=w.getTime()),a}}angular.module("SOGo.PreferencesUI").controller("PreferencesController",e)}();
+!function(){"use strict";function e(e,t){e.state("preferences",{abstract:!0,views:{preferences:{templateUrl:"preferences.html",controller:"PreferencesController",controllerAs:"app"}}}).state("preferences.general",{url:"/general",views:{module:{templateUrl:"generalPreferences.html"}}}).state("preferences.calendars",{url:"/calendars",views:{module:{templateUrl:"calendarsPreferences.html"}}}).state("preferences.addressbooks",{url:"/addressbooks",views:{module:{templateUrl:"addressbooksPreferences.html"}}}).state("preferences.mailer",{url:"/mailer",views:{module:{templateUrl:"mailerPreferences.html"}}}),t.rules.otherwise("/general")}function t(e,t,a,r){e.DebugEnabled||r.defaultErrorHandler(function(){}),a.onError({to:"preferences.**"},function(e){"preferences"==e.to().name||e.ignored()||(t.error("transition error to "+e.to().name+": "+e.error().detail),r.go({state:"preferences"}))})}angular.module("SOGo.PreferencesUI",["ui.router","ck","angularFileUpload","SOGo.Common","SOGo.MailerUI","SOGo.ContactsUI","SOGo.Authentication","as.sortable"]).config(e).run(t),e.$inject=["$stateProvider","$urlServiceProvider"],t.$inject=["$window","$log","$transitions","$state"]}(),function(){"use strict";function e(i,e,t,s,a,r,n,o,c,f){var u=this,d=new r({id:c,security:o.security});function h(){u.account.security&&u.account.security.hasCertificate&&d.$certificate().then(function(e){u.certificate=e},function(){delete u.account.security.hasCertificate})}function p(e){var t=0e.endDate.getTime()&&(e.startDate=new Date(e.endDate.getTime()),e.startDate.addDays(-1))},this.toggleVacationEndDate=function(){var e;(e=this.preferences.defaults.Vacation).endDateEnabled&&e.startDateEnabled&&e.endDate.getTime()=w.getTime()),a},this.validateVacationEndDate=function(e){var t=g.preferences.defaults,a=!0;return t&&t.Vacation&&t.Vacation.enabled&&t.Vacation.endDateEnabled&&(a=(!t.Vacation.startDateEnabled||e.getTime()>t.Vacation.startDate.getTime())&&e.getTime()>=w.getTime()),a}}e.$inject=["$q","$window","$state","$mdMedia","$mdSidenav","$mdDialog","$mdToast","sgSettings","sgFocus","Dialog","User","Account","Preferences","Authentication"],angular.module("SOGo.PreferencesUI").controller("PreferencesController",e)}();
//# sourceMappingURL=Preferences.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Preferences.js.map b/UI/WebServerResources/js/Preferences.js.map
index 6381b5c33..f9ccc4cd7 100644
--- a/UI/WebServerResources/js/Preferences.js.map
+++ b/UI/WebServerResources/js/Preferences.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Preferences/Preferences.app.js","Preferences/AccountDialogController.js","Preferences/FiltersDialogController.js","Preferences/PreferencesController.js"],"names":["angular","module","config","configure","run","runBlock","$inject","$stateProvider","$urlServiceProvider","state","abstract","views","preferences","templateUrl","controller","controllerAs","url","rules","otherwise","$window","$log","$transitions","$state","DebugEnabled","defaultErrorHandler","onError","to","transition","name","ignored","error","detail","go","AccountDialogController","$timeout","$mdDialog","FileUploader","Dialog","Settings","Account","defaults","account","accountId","mailCustomFromEnabled","vm","this","accountObject","id","security","defaultPort","customFromIsReadonly","onBeforeUploadCertificate","form","uploader","clearQueue","removeCertificate","$removeCertificate","then","hasCertificate","importCertificate","queue","formData","password","certificatePassword","uploadItem","cancel","save","hide","hostnameRE","encryption","_loadCertificate","activeUser","join","autoUpload","queueLimit","filters","filterByExtension","fn","onAfterAddingFile","item","certificateFilename","file","onSuccessItem","response","status","headers","_","assign","onErrorItem","alert","l","$certificate","crt","certificate","isP12File","type","indexOf","test","$setValidity","FiltersDialogController","$scope","filter","mailboxes","labels","sieveCapabilities","forwardEnabled","vacationEnabled","hasRulesAndActions","requirements","actions","match","push","every","a","length","addMailFilterRule","event","field","operator","removeMailFilterRule","index","splice","addMailFilterAction","method","removeMailFilterAction","fieldLabels","subject","from","cc","to_or_cc","size","header","body","methodLabels","discard","keep","stop","redirect","reject","fileinto","addflag","numberOperatorLabels","under","over","textOperatorLabels","is","is_not","contains","contains_not","matches","matches_not","regex","regex_not","PreferencesController","$q","$mdMedia","$mdSidenav","$mdToast","sgSettings","focus","User","Preferences","Authentication","today","Date","beginOfDay","$onInit","passwords","newPassword","newPasswordConfirmation","timeZonesList","timeZonesSearchText","sieveVariablesCapability","mailLabelKeyRE","RegExp","mail","$getMailboxes","allMailboxes","$flattenMailboxes","all","SOGoAlternateAvatar","$alternateAvatar","updateVacationDates","$valid","close","onLanguageChange","confirm","ok","quick","location","reload","addCalendarCategory","SOGoCalendarCategoriesColors","SOGoCalendarCategories","$setDirty","removeCalendarCategory","key","addContactCategory","i","SOGoContactsCategories","removeContactCategory","addMailAccount","ev","AuxiliaryMailAccounts","last","extend","isNew","identities","fullName","email","receipts","receiptAction","receiptNonRecipientAction","receiptOutsideDomainAction","receiptAnyAction","show","targetEvent","locals","catch","pop","editMailAccount","removeMailAccount","resetMailLabelValidity","addMailLabel","guid","SOGoMailLabelsColorsKeys","SOGoMailLabelsColorsValues","removeMailLabel","addMailFilter","active","SOGoMailLabelsColors","SOGoSieveFilters","editMailFilter","copy","removeMailFilter","addDefaultEmailAddresses","v","isDefined","Vacation","autoReplyEmailAddresses","split","union","defaultEmailAddresses","userFilter","search","excludedUsers","minimumSearchLength","$filter","users","forEach","user","$$image","image","avatar","c_email","no_404","confirmChanges","$event","target","$dirty","preventDefault","stopPropagation","tagName","parentNode","href","options","sendForm","addresses","defaultAddresses","domains","domain","forwardConstraints","Forward","enabled","forwardAddress","adr","toLowerCase","uniq","value","keys","$save","data","simple","content","position","hideDelay","$setPristine","canChangePassword","changePassword","title","finally","undefined","msg","timeZonesListFilter","toUpperCase","d","toggleVacationStartDate","toggleVacationEndDate","startDateEnabled","endDateEnabled","startDate","getTime","endDate","addDays","validateVacationStartDate","date","r","validateVacationEndDate"],"mappings":"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","file":"Preferences.js"}
\ No newline at end of file
+{"version":3,"sources":["Preferences/Preferences.app.js","Preferences/AccountDialogController.js","Preferences/FiltersDialogController.js","Preferences/PreferencesController.js"],"names":["configure","$stateProvider","$urlServiceProvider","state","abstract","views","preferences","templateUrl","controller","controllerAs","url","module","rules","otherwise","runBlock","$window","$log","$transitions","$state","DebugEnabled","defaultErrorHandler","onError","to","transition","name","ignored","error","detail","go","angular","config","run","$inject","AccountDialogController","$timeout","$mdDialog","FileUploader","Dialog","Settings","Account","defaults","account","accountId","mailCustomFromEnabled","vm","this","accountObject","id","security","_loadCertificate","hasCertificate","$certificate","then","crt","certificate","filterByExtension","item","isP12File","type","indexOf","test","form","certificateFilename","$setValidity","defaultPort","customFromIsReadonly","onBeforeUploadCertificate","uploader","clearQueue","removeCertificate","$removeCertificate","importCertificate","queue","formData","password","certificatePassword","uploadItem","cancel","save","hide","hostnameRE","encryption","activeUser","join","autoUpload","queueLimit","filters","fn","onAfterAddingFile","file","onSuccessItem","response","status","headers","_","assign","onErrorItem","alert","l","FiltersDialogController","$scope","filter","mailboxes","labels","sieveCapabilities","forwardEnabled","vacationEnabled","hasRulesAndActions","requirements","actions","match","push","every","a","length","addMailFilterRule","event","field","operator","removeMailFilterRule","index","splice","addMailFilterAction","method","removeMailFilterAction","fieldLabels","subject","from","cc","to_or_cc","size","header","body","methodLabels","discard","keep","stop","redirect","reject","fileinto","addflag","numberOperatorLabels","under","over","textOperatorLabels","is","is_not","contains","contains_not","matches","matches_not","regex","regex_not","PreferencesController","$q","$mdMedia","$mdSidenav","$mdToast","sgSettings","focus","User","Preferences","Authentication","today","Date","beginOfDay","$onInit","passwords","newPassword","newPasswordConfirmation","timeZonesList","timeZonesSearchText","sieveVariablesCapability","mailLabelKeyRE","RegExp","mail","$getMailboxes","allMailboxes","$flattenMailboxes","all","SOGoAlternateAvatar","$alternateAvatar","updateVacationDates","$valid","close","onLanguageChange","confirm","ok","quick","location","reload","addCalendarCategory","SOGoCalendarCategoriesColors","SOGoCalendarCategories","$setDirty","removeCalendarCategory","key","addContactCategory","i","SOGoContactsCategories","removeContactCategory","addMailAccount","ev","AuxiliaryMailAccounts","last","extend","isNew","identities","fullName","email","receipts","receiptAction","receiptNonRecipientAction","receiptOutsideDomainAction","receiptAnyAction","show","targetEvent","locals","catch","pop","editMailAccount","removeMailAccount","resetMailLabelValidity","addMailLabel","guid","SOGoMailLabelsColorsKeys","SOGoMailLabelsColorsValues","removeMailLabel","addMailFilter","active","SOGoMailLabelsColors","SOGoSieveFilters","editMailFilter","copy","removeMailFilter","addDefaultEmailAddresses","v","isDefined","Vacation","autoReplyEmailAddresses","split","union","defaultEmailAddresses","userFilter","search","excludedUsers","minimumSearchLength","$filter","users","forEach","user","$$image","image","avatar","c_email","no_404","confirmChanges","$event","target","$dirty","preventDefault","stopPropagation","tagName","parentNode","href","options","sendForm","addresses","defaultAddresses","domains","domain","forwardConstraints","Forward","enabled","forwardAddress","adr","toLowerCase","uniq","value","keys","$save","data","simple","content","position","hideDelay","$setPristine","canChangePassword","changePassword","title","finally","undefined","msg","timeZonesListFilter","toUpperCase","d","toggleVacationStartDate","toggleVacationEndDate","startDateEnabled","endDateEnabled","startDate","getTime","endDate","addDays","validateVacationStartDate","date","r","validateVacationEndDate"],"mappings":"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","file":"Preferences.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Preferences.services.js b/UI/WebServerResources/js/Preferences.services.js
index e58f12f1c..5b7b48e91 100644
--- a/UI/WebServerResources/js/Preferences.services.js
+++ b/UI/WebServerResources/js/Preferences.services.js
@@ -1,2 +1,2 @@
-!function(){"use strict";function e(){var a,t,o,r=this;if(this.defaults={},this.settings={},a=e.$document[0].getElementById("UserDefaults")){try{o=angular.fromJson(a.textContent||a.innerHTML)}catch(a){e.$log.error("Can't parse user's defaults: "+a.message),o={}}o.SOGoMailLabelsColorsKeys=[],o.SOGoMailLabelsColorsValues=[],_.forEach(o.SOGoMailLabelsColors,function(e,a){o.SOGoMailLabelsColorsKeys.push(a),o.SOGoMailLabelsColorsValues.push(e),"$"==a.charAt(0)&&(Object.defineProperty(o.SOGoMailLabelsColors,"_"+a,Object.getOwnPropertyDescriptor(o.SOGoMailLabelsColors,a)),delete o.SOGoMailLabelsColors[a])}),_.forEach(o.SOGoSieveFilters,function(e){_.forEach(e.actions,function(e){"addflag"==e.method&&"$"==e.argument.charAt(0)&&(e.argument="_"+e.argument)})}),o.SOGoRememberLastModule&&(o.SOGoLoginModule="Last"),o.SOGoMailAutoSave=parseInt(o.SOGoMailAutoSave)||0,o.SOGoMailComposeWindowEnabled=angular.isDefined(o.SOGoMailComposeWindow),o.SOGoMailComposeFontSizeEnabled=parseInt(o.SOGoMailComposeFontSize)>0,window.CKEDITOR&&o.SOGoMailComposeFontSizeEnabled&&(window.CKEDITOR.config.fontSize_defaultLabel=o.SOGoMailComposeFontSize,window.CKEDITOR.addCss(".cke_editable { font-size: "+o.SOGoMailComposeFontSize+"px; }")),_.forEach(o.AuxiliaryMailAccounts,function(e){isNaN(parseInt(e.port))&&(e.port=null)}),o.Vacation?(o.Vacation.startDate?o.Vacation.startDate=new Date(1e3*parseInt(o.Vacation.startDate)):(o.Vacation.startDateEnabled=0,o.Vacation.startDate=new Date,o.Vacation.startDate=o.Vacation.startDate.beginOfDay(),o.Vacation.startDate.addDays(1)),o.Vacation.endDate?o.Vacation.endDate=new Date(1e3*parseInt(o.Vacation.endDate)):(o.Vacation.endDateEnabled=0,o.Vacation.endDate=new Date(o.Vacation.startDate.getTime()),o.Vacation.endDate.addDays(1)),o.Vacation.autoReplyEmailAddresses&&o.Vacation.autoReplyEmailAddresses.length?o.Vacation.autoReplyEmailAddresses=o.Vacation.autoReplyEmailAddresses.join(","):delete o.Vacation.autoReplyEmailAddresses):o.Vacation={},angular.isUndefined(o.Vacation.autoReplyEmailAddresses)&&angular.isDefined(window.defaultEmailAddresses)&&(o.Vacation.autoReplyEmailAddresses=window.defaultEmailAddresses),angular.isUndefined(o.Vacation.daysBetweenResponse)&&(o.Vacation.daysBetweenResponse=7),angular.isUndefined(o.Vacation.startDate)&&(o.Vacation.startDateEnabled=0,o.Vacation.startDate=new Date),angular.isUndefined(o.Vacation.endDate)&&(o.Vacation.endDateEnabled=0,o.Vacation.endDate=new Date),o.Forward&&o.Forward.forwardAddress&&(o.Forward.forwardAddress=o.Forward.forwardAddress.join(",")),angular.isUndefined(o.SOGoCalendarCategoriesColors)&&(o.SOGoCalendarCategoriesColors={},o.SOGoCalendarCategories=[]),angular.isUndefined(o.SOGoContactsCategories)?o.SOGoContactsCategories=[]:o.SOGoContactsCategories=_.compact(o.SOGoContactsCategories),angular.extend(r.defaults,o),r.$mdDateLocaleProvider=e.$mdDateLocaleProvider,angular.extend(r.$mdDateLocaleProvider,o.locale),angular.extend(r.$mdDateLocaleProvider,{firstDayOfWeek:o.SOGoFirstDayOfWeek,firstWeekOfYear:o.SOGoFirstWeekOfYear}),r.$mdDateLocaleProvider.firstDayOfWeek=parseInt(o.SOGoFirstDayOfWeek),r.$mdDateLocaleProvider.weekNumberFormatter=function(e){return l("Week %d",e)},r.$mdDateLocaleProvider.msgCalendar=l("Calender"),r.$mdDateLocaleProvider.msgOpenCalendar=l("Open Calendar"),r.$mdDateLocaleProvider.parseDate=function(e){return e?e.parseDate(r.$mdDateLocaleProvider,r.defaults.SOGoShortDateFormat):new Date(NaN)},r.$mdDateLocaleProvider.formatDate=function(e){return e?e.format(r.$mdDateLocaleProvider,e.$dateFormat||r.defaults.SOGoShortDateFormat):""},r.$mdDateLocaleProvider.parseTime=function(e){return e?e.parseDate(r.$mdDateLocaleProvider,r.defaults.SOGoTimeFormat):new Date(NaN)},r.$mdDateLocaleProvider.formatTime=function(e){return e?e.format(r.$mdDateLocaleProvider,r.defaults.SOGoTimeFormat):""}}if(t=e.$document[0].getElementById("UserSettings")){try{o=angular.fromJson(t.textContent||t.innerHTML)}catch(a){e.$log.error("Can't parse user's settings: "+a.message),o={}}o.Calendar&&(o.Calendar.PreventInvitationsWhitelist?o.Calendar.PreventInvitationsWhitelist=_.map(o.Calendar.PreventInvitationsWhitelist,function(a,t){var o=/^(.+)\s<(\S+)>$/.exec(a),n=new e.$User({uid:t,cn:o[1],c_email:o[2]});return n.$$image||(n.$$image=r.avatar(n.c_email,32,{no_404:!0})),n}):o.Calendar.PreventInvitationsWhitelist=[]),angular.extend(r.settings,o)}}e.$factory=["$document","$q","$timeout","$log","$mdDateLocale","sgSettings","Gravatar","Resource","User",function(a,t,o,r,n,s,i,d,l){return angular.extend(e,{$document:a,$q:t,$timeout:o,$log:r,$mdDateLocaleProvider:n,$gravatar:i,$$resource:new d(s.activeUser("folderURL"),s.activeUser()),$resourcesURL:s.resourcesURL(),$User:l}),new e}];try{angular.module("SOGo.PreferencesUI")}catch(e){angular.module("SOGo.PreferencesUI",["SOGo.Common"])}angular.module("SOGo.PreferencesUI").factory("Preferences",e.$factory),e.prototype.ready=function(){return e.$log.warn("Preferences.ready is deprecated -- access settings/defaults directly."),e.$q.when(!0)},e.prototype.avatar=function(a,t,o){var r,n=this.defaults.SOGoAlternateAvatar;return r=this.defaults.SOGoGravatarEnabled?e.$gravatar(a,t,n,o):[e.$resourcesURL,"img","ic_person_grey_24px.svg"].join("/"),o&&o.dstObject&&o.dstAttr&&(o.dstObject[o.dstAttr]=r),r},e.prototype.$save=function(){return e.$$resource.save("Preferences",this.$omit(!0)).then(function(e){return e})},e.prototype.$omit=function(e){var a,t;return a={},t={},angular.forEach(this,function(t,o){"constructor"!=o&&"$"!=o[0]&&(a[o]=e?angular.copy(t):t)}),a.defaults.SOGoMailLabelsColors={},_.forEach(a.defaults.SOGoMailLabelsColorsKeys,function(e,t){a.defaults.SOGoMailLabelsColors[e]=a.defaults.SOGoMailLabelsColorsValues[t]}),delete a.defaults.SOGoMailLabelsColorsKeys,delete a.defaults.SOGoMailLabelsColorsValues,_.forEach(a.defaults.SOGoSieveFilters,function(e){_.forEach(e.actions,function(e){"addflag"==e.method&&"_"==e.argument.charAt(0)&&"$"==e.argument.charAt(1)&&(e.argument=e.argument.substring(1))})}),a.defaults.SOGoMailComposeWindowEnabled||delete a.defaults.SOGoMailComposeWindow,delete a.defaults.SOGoMailComposeWindowEnabled,a.defaults.SOGoMailComposeFontSizeEnabled||(a.defaults.SOGoMailComposeFontSize=0),delete a.defaults.SOGoMailComposeFontSizeEnabled,a.defaults.Vacation&&(a.defaults.Vacation.startDateEnabled?a.defaults.Vacation.startDate=a.defaults.Vacation.startDate.getTime()/1e3:(delete a.defaults.Vacation.startDateEnabled,a.defaults.Vacation.startDate=0),a.defaults.Vacation.endDateEnabled?a.defaults.Vacation.endDate=a.defaults.Vacation.endDate.getTime()/1e3:(delete a.defaults.Vacation.endDateEnabled,a.defaults.Vacation.endDate=0),a.defaults.Vacation.autoReplyEmailAddresses?a.defaults.Vacation.autoReplyEmailAddresses=_.filter(a.defaults.Vacation.autoReplyEmailAddresses.split(","),function(e){return e.length}):a.defaults.Vacation.autoReplyEmailAddresses=[]),a.defaults.Forward&&a.defaults.Forward.forwardAddress&&(a.defaults.Forward.forwardAddress=a.defaults.Forward.forwardAddress.split(",")),a.settings.Calendar&&a.settings.Calendar.PreventInvitationsWhitelist&&(_.forEach(a.settings.Calendar.PreventInvitationsWhitelist,function(e){t[e.uid]=e.$shortFormat()}),a.settings.Calendar.PreventInvitationsWhitelist=t),a}}();
+!function(){"use strict";function c(){var e,a,t,r=this;if(this.defaults={},this.settings={},e=c.$document[0].getElementById("UserDefaults")){try{t=angular.fromJson(e.textContent||e.innerHTML)}catch(e){c.$log.error("Can't parse user's defaults: "+e.message),t={}}t.SOGoMailLabelsColorsKeys=[],t.SOGoMailLabelsColorsValues=[],_.forEach(t.SOGoMailLabelsColors,function(e,a){t.SOGoMailLabelsColorsKeys.push(a),t.SOGoMailLabelsColorsValues.push(e),"$"==a.charAt(0)&&(Object.defineProperty(t.SOGoMailLabelsColors,"_"+a,Object.getOwnPropertyDescriptor(t.SOGoMailLabelsColors,a)),delete t.SOGoMailLabelsColors[a])}),_.forEach(t.SOGoSieveFilters,function(e){_.forEach(e.actions,function(e){"addflag"==e.method&&"$"==e.argument.charAt(0)&&(e.argument="_"+e.argument)})}),t.SOGoRememberLastModule&&(t.SOGoLoginModule="Last"),t.SOGoMailAutoSave=parseInt(t.SOGoMailAutoSave)||0,t.SOGoMailComposeWindowEnabled=angular.isDefined(t.SOGoMailComposeWindow),t.SOGoMailComposeFontSizeEnabled=0$/.exec(e),o=new c.$User({uid:a,cn:t[1],c_email:t[2]});return o.$$image||(o.$$image=r.avatar(o.c_email,32,{no_404:!0})),o}):t.Calendar.PreventInvitationsWhitelist=[]),angular.extend(r.settings,t)}}c.$factory=["$document","$q","$timeout","$log","$mdDateLocale","sgSettings","Gravatar","Resource","User",function(e,a,t,o,r,n,s,i,d){return angular.extend(c,{$document:e,$q:a,$timeout:t,$log:o,$mdDateLocaleProvider:r,$gravatar:s,$$resource:new i(n.activeUser("folderURL"),n.activeUser()),$resourcesURL:n.resourcesURL(),$User:d}),new c}];try{angular.module("SOGo.PreferencesUI")}catch(e){angular.module("SOGo.PreferencesUI",["SOGo.Common"])}angular.module("SOGo.PreferencesUI").factory("Preferences",c.$factory),c.prototype.ready=function(){return c.$log.warn("Preferences.ready is deprecated -- access settings/defaults directly."),c.$q.when(!0)},c.prototype.avatar=function(e,a,t){var o,r=this.defaults.SOGoAlternateAvatar;return o=this.defaults.SOGoGravatarEnabled?c.$gravatar(e,a,r,t):[c.$resourcesURL,"img","ic_person_grey_24px.svg"].join("/"),t&&t.dstObject&&t.dstAttr&&(t.dstObject[t.dstAttr]=o),o},c.prototype.$save=function(){return c.$$resource.save("Preferences",this.$omit(!0)).then(function(e){return e})},c.prototype.$omit=function(t){var o,a;return o={},a={},angular.forEach(this,function(e,a){"constructor"!=a&&"$"!=a[0]&&(o[a]=t?angular.copy(e):e)}),o.defaults.SOGoMailLabelsColors={},_.forEach(o.defaults.SOGoMailLabelsColorsKeys,function(e,a){o.defaults.SOGoMailLabelsColors[e]=o.defaults.SOGoMailLabelsColorsValues[a]}),delete o.defaults.SOGoMailLabelsColorsKeys,delete o.defaults.SOGoMailLabelsColorsValues,_.forEach(o.defaults.SOGoSieveFilters,function(e){_.forEach(e.actions,function(e){"addflag"==e.method&&"_"==e.argument.charAt(0)&&"$"==e.argument.charAt(1)&&(e.argument=e.argument.substring(1))})}),o.defaults.SOGoMailComposeWindowEnabled||delete o.defaults.SOGoMailComposeWindow,delete o.defaults.SOGoMailComposeWindowEnabled,o.defaults.SOGoMailComposeFontSizeEnabled||(o.defaults.SOGoMailComposeFontSize=0),delete o.defaults.SOGoMailComposeFontSizeEnabled,o.defaults.Vacation&&(o.defaults.Vacation.startDateEnabled?o.defaults.Vacation.startDate=o.defaults.Vacation.startDate.getTime()/1e3:(delete o.defaults.Vacation.startDateEnabled,o.defaults.Vacation.startDate=0),o.defaults.Vacation.endDateEnabled?o.defaults.Vacation.endDate=o.defaults.Vacation.endDate.getTime()/1e3:(delete o.defaults.Vacation.endDateEnabled,o.defaults.Vacation.endDate=0),o.defaults.Vacation.autoReplyEmailAddresses?o.defaults.Vacation.autoReplyEmailAddresses=_.filter(o.defaults.Vacation.autoReplyEmailAddresses.split(","),function(e){return e.length}):o.defaults.Vacation.autoReplyEmailAddresses=[]),o.defaults.Forward&&o.defaults.Forward.forwardAddress&&(o.defaults.Forward.forwardAddress=o.defaults.Forward.forwardAddress.split(",")),o.settings.Calendar&&o.settings.Calendar.PreventInvitationsWhitelist&&(_.forEach(o.settings.Calendar.PreventInvitationsWhitelist,function(e){a[e.uid]=e.$shortFormat()}),o.settings.Calendar.PreventInvitationsWhitelist=a),o}}();
//# sourceMappingURL=Preferences.services.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Preferences.services.js.map b/UI/WebServerResources/js/Preferences.services.js.map
index df3ebb844..15ef5ca60 100644
--- a/UI/WebServerResources/js/Preferences.services.js.map
+++ b/UI/WebServerResources/js/Preferences.services.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Preferences/Preferences.service.js"],"names":["Preferences","defaultsElement","settingsElement","data","_this","this","defaults","settings","$document","getElementById","angular","fromJson","textContent","innerHTML","e","$log","error","message","SOGoMailLabelsColorsKeys","SOGoMailLabelsColorsValues","_","forEach","SOGoMailLabelsColors","value","key","push","charAt","Object","defineProperty","getOwnPropertyDescriptor","SOGoSieveFilters","filter","actions","action","method","argument","SOGoRememberLastModule","SOGoLoginModule","SOGoMailAutoSave","parseInt","SOGoMailComposeWindowEnabled","isDefined","SOGoMailComposeWindow","SOGoMailComposeFontSizeEnabled","SOGoMailComposeFontSize","window","CKEDITOR","config","fontSize_defaultLabel","addCss","AuxiliaryMailAccounts","mailAccount","isNaN","port","Vacation","startDate","Date","startDateEnabled","beginOfDay","addDays","endDate","endDateEnabled","getTime","autoReplyEmailAddresses","length","join","isUndefined","defaultEmailAddresses","daysBetweenResponse","Forward","forwardAddress","SOGoCalendarCategoriesColors","SOGoCalendarCategories","SOGoContactsCategories","compact","extend","$mdDateLocaleProvider","locale","firstDayOfWeek","SOGoFirstDayOfWeek","firstWeekOfYear","SOGoFirstWeekOfYear","weekNumberFormatter","weekNumber","l","msgCalendar","msgOpenCalendar","parseDate","dateString","SOGoShortDateFormat","NaN","formatDate","date","format","$dateFormat","parseTime","timeString","SOGoTimeFormat","formatTime","Calendar","PreventInvitationsWhitelist","map","match","exec","user","$User","uid","cn","c_email","$$image","avatar","no_404","$factory","$q","$timeout","Settings","Gravatar","Resource","User","$gravatar","$$resource","activeUser","$resourcesURL","resourcesURL","module","factory","prototype","ready","warn","when","email","size","options","url","alternate_avatar","SOGoAlternateAvatar","SOGoGravatarEnabled","dstObject","dstAttr","$save","save","$omit","then","deep","preferences","whitelist","copy","i","substring","split","v","$shortFormat"],"mappings":"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","file":"Preferences.services.js"}
\ No newline at end of file
+{"version":3,"sources":["Preferences/Preferences.service.js"],"names":["Preferences","defaultsElement","settingsElement","data","_this","this","defaults","settings","$document","getElementById","angular","fromJson","textContent","innerHTML","e","$log","error","message","SOGoMailLabelsColorsKeys","SOGoMailLabelsColorsValues","_","forEach","SOGoMailLabelsColors","value","key","push","charAt","Object","defineProperty","getOwnPropertyDescriptor","SOGoSieveFilters","filter","actions","action","method","argument","SOGoRememberLastModule","SOGoLoginModule","SOGoMailAutoSave","parseInt","SOGoMailComposeWindowEnabled","isDefined","SOGoMailComposeWindow","SOGoMailComposeFontSizeEnabled","SOGoMailComposeFontSize","window","CKEDITOR","config","fontSize_defaultLabel","addCss","AuxiliaryMailAccounts","mailAccount","isNaN","port","Vacation","startDate","Date","startDateEnabled","beginOfDay","addDays","endDate","endDateEnabled","getTime","autoReplyEmailAddresses","length","join","isUndefined","defaultEmailAddresses","daysBetweenResponse","Forward","forwardAddress","SOGoCalendarCategoriesColors","SOGoCalendarCategories","SOGoContactsCategories","compact","extend","$mdDateLocaleProvider","locale","firstDayOfWeek","SOGoFirstDayOfWeek","firstWeekOfYear","SOGoFirstWeekOfYear","weekNumberFormatter","weekNumber","l","msgCalendar","msgOpenCalendar","parseDate","dateString","SOGoShortDateFormat","NaN","formatDate","date","format","$dateFormat","parseTime","timeString","SOGoTimeFormat","formatTime","Calendar","PreventInvitationsWhitelist","map","match","exec","user","$User","uid","cn","c_email","$$image","avatar","no_404","$factory","$q","$timeout","Settings","Gravatar","Resource","User","$gravatar","$$resource","activeUser","$resourcesURL","resourcesURL","module","factory","prototype","ready","warn","when","email","size","options","url","alternate_avatar","SOGoAlternateAvatar","SOGoGravatarEnabled","dstObject","dstAttr","$save","save","$omit","then","deep","preferences","whitelist","copy","i","substring","split","v","$shortFormat"],"mappings":"CAEA,WACE,aAMA,SAASA,IACP,IAAkBC,EAAiBC,EAAiBC,EAAhDC,EAAQC,KAMZ,GAJAA,KAAKC,SAAW,GAChBD,KAAKE,SAAW,GAEhBN,EAAkBD,EAAYQ,UAAU,GAAGC,eAAe,gBACrC,CACnB,IACEN,EAAOO,QAAQC,SAASV,EAAgBW,aAAeX,EAAgBY,WACvE,MAAOC,GACPd,EAAYe,KAAKC,MAAM,gCAAkCF,EAAEG,SAC3Dd,EAAO,GAITA,EAAKe,yBAA2B,GAChCf,EAAKgB,2BAA6B,GAClCC,EAAEC,QAAQlB,EAAKmB,qBAAsB,SAAUC,EAAOC,GACpDrB,EAAKe,yBAAyBO,KAAKD,GACnCrB,EAAKgB,2BAA2BM,KAAKF,GAChB,KAAjBC,EAAIE,OAAO,KACbC,OAAOC,eAAezB,EAAKmB,qBAAsB,IAAME,EACjCG,OAAOE,yBAAyB1B,EAAKmB,qBAAsBE,WAC1ErB,EAAKmB,qBAAqBE,MAIrCJ,EAAEC,QAAQlB,EAAK2B,iBAAkB,SAASC,GACxCX,EAAEC,QAAQU,EAAOC,QAAS,SAASC,GACZ,WAAjBA,EAAOC,QACsB,KAA7BD,EAAOE,SAAST,OAAO,KACzBO,EAAOE,SAAW,IAAMF,EAAOE,cAIjChC,EAAKiC,yBACPjC,EAAKkC,gBAAkB,QAGzBlC,EAAKmC,iBAAmBC,SAASpC,EAAKmC,mBAAqB,EAE3DnC,EAAKqC,6BAA+B9B,QAAQ+B,UAAUtC,EAAKuC,uBAG3DvC,EAAKwC,+BAA0E,EAAzCJ,SAASpC,EAAKyC,yBAEhDC,OAAOC,UAAY3C,EAAKwC,iCAE1BE,OAAOC,SAASC,OAAOC,sBAAwB7C,EAAKyC,wBACpDC,OAAOC,SAASG,OAAO,8BAAgC9C,EAAKyC,wBAA0B,UAGxFxB,EAAEC,QAAQlB,EAAK+C,sBAAuB,SAAUC,GAC1CC,MAAMb,SAASY,EAAYE,SAC7BF,EAAYE,KAAO,QAMnBlD,EAAKmD,UACHnD,EAAKmD,SAASC,UAChBpD,EAAKmD,SAASC,UAAY,IAAIC,KAAyC,IAApCjB,SAASpC,EAAKmD,SAASC,aAE1DpD,EAAKmD,SAASG,iBAAmB,EACjCtD,EAAKmD,SAASC,UAAY,IAAIC,KAC9BrD,EAAKmD,SAASC,UAAYpD,EAAKmD,SAASC,UAAUG,aAClDvD,EAAKmD,SAASC,UAAUI,QAAQ,IAE9BxD,EAAKmD,SAASM,QAChBzD,EAAKmD,SAASM,QAAU,IAAIJ,KAAuC,IAAlCjB,SAASpC,EAAKmD,SAASM,WAExDzD,EAAKmD,SAASO,eAAiB,EAC/B1D,EAAKmD,SAASM,QAAU,IAAIJ,KAAKrD,EAAKmD,SAASC,UAAUO,WACzD3D,EAAKmD,SAASM,QAAQD,QAAQ,IAE5BxD,EAAKmD,SAASS,yBAA2B5D,EAAKmD,SAASS,wBAAwBC,OACjF7D,EAAKmD,SAASS,wBAA0B5D,EAAKmD,SAASS,wBAAwBE,KAAK,YAE5E9D,EAAKmD,SAASS,yBAEvB5D,EAAKmD,SAAW,GAEd5C,QAAQwD,YAAY/D,EAAKmD,SAASS,0BAClCrD,QAAQ+B,UAAUI,OAAOsB,yBAC3BhE,EAAKmD,SAASS,wBAA0BlB,OAAOsB,uBAE7CzD,QAAQwD,YAAY/D,EAAKmD,SAASc,uBACpCjE,EAAKmD,SAASc,oBAAsB,GAElC1D,QAAQwD,YAAY/D,EAAKmD,SAASC,aACpCpD,EAAKmD,SAASG,iBAAmB,EACjCtD,EAAKmD,SAASC,UAAY,IAAIC,MAG5B9C,QAAQwD,YAAY/D,EAAKmD,SAASM,WACpCzD,EAAKmD,SAASO,eAAiB,EAC/B1D,EAAKmD,SAASM,QAAU,IAAIJ,MAG1BrD,EAAKkE,SAAWlE,EAAKkE,QAAQC,iBAC/BnE,EAAKkE,QAAQC,eAAiBnE,EAAKkE,QAAQC,eAAeL,KAAK,MAE7DvD,QAAQwD,YAAY/D,EAAKoE,gCAC3BpE,EAAKoE,6BAA+B,GACpCpE,EAAKqE,uBAAyB,IAG5B9D,QAAQwD,YAAY/D,EAAKsE,wBAC3BtE,EAAKsE,uBAAyB,GAE9BtE,EAAKsE,uBAAyBrD,EAAEsD,QAAQvE,EAAKsE,wBAE/C/D,QAAQiE,OAAOvE,EAAME,SAAUH,GAG/BC,EAAMwE,sBAAwB5E,EAAY4E,sBAC1ClE,QAAQiE,OAAOvE,EAAMwE,sBAAuBzE,EAAK0E,QACjDnE,QAAQiE,OAAOvE,EAAMwE,sBAAuB,CAC1CE,eAAgB3E,EAAK4E,mBACrBC,gBAAiB7E,EAAK8E,sBAExB7E,EAAMwE,sBAAsBE,eAAiBvC,SAASpC,EAAK4E,oBAC3D3E,EAAMwE,sBAAsBM,oBAAsB,SAASC,GACzD,OAAOC,EAAE,UAAWD,IAEtB/E,EAAMwE,sBAAsBS,YAAcD,EAAE,YAC5ChF,EAAMwE,sBAAsBU,gBAAkBF,EAAE,iBAChDhF,EAAMwE,sBAAsBW,UAAY,SAASC,GAC/C,OAAOA,EAAYA,EAAWD,UAAUnF,EAAMwE,sBAAuBxE,EAAME,SAASmF,qBAAuB,IAAIjC,KAAKkC,MAEtHtF,EAAMwE,sBAAsBe,WAAa,SAASC,GAChD,OAAOA,EAAMA,EAAKC,OAAOzF,EAAMwE,sBAAuBgB,EAAKE,aAAe1F,EAAME,SAASmF,qBAAuB,IAElHrF,EAAMwE,sBAAsBmB,UAAY,SAASC,GAC/C,OAAOA,EAAYA,EAAWT,UAAUnF,EAAMwE,sBAAuBxE,EAAME,SAAS2F,gBAAkB,IAAIzC,KAAKkC,MAEjHtF,EAAMwE,sBAAsBsB,WAAa,SAASN,GAChD,OAAOA,EAAMA,EAAKC,OAAOzF,EAAMwE,sBAAuBxE,EAAME,SAAS2F,gBAAkB,IAK3F,GADA/F,EAAkBF,EAAYQ,UAAU,GAAGC,eAAe,gBACrC,CACnB,IACEN,EAAOO,QAAQC,SAAST,EAAgBU,aAAeV,EAAgBW,WACvE,MAAOC,GACPd,EAAYe,KAAKC,MAAM,gCAAkCF,EAAEG,SAC3Dd,EAAO,GAILA,EAAKgG,WACHhG,EAAKgG,SAASC,4BAChBjG,EAAKgG,SAASC,4BAA8BhF,EAAEiF,IAAIlG,EAAKgG,SAASC,4BAA6B,SAAS7E,EAAOC,GAC3G,IAAI8E,EAAQ,kBAAkBC,KAAKhF,GAC/BiF,EAAO,IAAIxG,EAAYyG,MAAM,CAACC,IAAKlF,EAAKmF,GAAIL,EAAM,GAAIM,QAASN,EAAM,KAGzE,OAFKE,EAAKK,UACRL,EAAKK,QAAUzG,EAAM0G,OAAON,EAAKI,QAAS,GAAI,CAACG,QAAQ,KAClDP,IAITrG,EAAKgG,SAASC,4BAA8B,IAGhD1F,QAAQiE,OAAOvE,EAAMG,SAAUJ,IASnCH,EAAYgH,SAAW,CAAC,YAAa,KAAM,WAAY,OAAQ,gBAAiB,aAAc,WAAY,WAAY,OAAQ,SAASxG,EAAWyG,EAAIC,EAAUnG,EAAM6D,EAAuBuC,EAAUC,EAAUC,EAAUC,GAazN,OAZA5G,QAAQiE,OAAO3E,EAAa,CAC1BQ,UAAWA,EACXyG,GAAIA,EACJC,SAAUA,EACVnG,KAAMA,EACN6D,sBAAuBA,EACvB2C,UAAWH,EACXI,WAAY,IAAIH,EAASF,EAASM,WAAW,aAAcN,EAASM,cACpEC,cAAeP,EAASQ,eACxBlB,MAAOa,IAGF,IAAItH,IAIb,IACEU,QAAQkH,OAAO,sBAEjB,MAAM9G,GACJJ,QAAQkH,OAAO,qBAAsB,CAAC,gBAIxClH,QAAQkH,OAAO,sBACZC,QAAQ,cAAe7H,EAAYgH,UAQtChH,EAAY8H,UAAUC,MAAQ,WAE5B,OADA/H,EAAYe,KAAKiH,KAAK,yEACfhI,EAAYiH,GAAGgB,MAAK,IAS7BjI,EAAY8H,UAAUhB,OAAS,SAASoB,EAAOC,EAAMC,GACnD,IAC2DC,EAAvDC,EADQjI,KACiBC,SAASiI,oBAOtC,OALEF,EAHUhI,KAEFC,SAASkI,oBACXxI,EAAYuH,UAAUW,EAAOC,EAAMG,EAAkBF,GAErD,CAACpI,EAAY0H,cAAe,MAAO,2BAA2BzD,KAAK,KACvEmE,GAAWA,EAAQK,WAAaL,EAAQM,UAC1CN,EAAQK,UAAUL,EAAQM,SAAWL,GAChCA,GAQTrI,EAAY8H,UAAUa,MAAQ,WAG5B,OAAO3I,EAAYwH,WAAWoB,KAAK,cAAevI,KAAKwI,OAAM,IAC1DC,KAAK,SAAS3I,GAGb,OAAOA,KAWbH,EAAY8H,UAAUe,MAAQ,SAASE,GACrC,IAAIC,EAAqBC,EAqEzB,OAnEAD,EAAc,GACdC,EAAY,GAEZvI,QAAQW,QAAQhB,KAAM,SAASkB,EAAOC,GACzB,eAAPA,GAAkC,KAAVA,EAAI,KAE5BwH,EAAYxH,GADVuH,EACiBrI,QAAQwI,KAAK3H,GAEbA,KAKzByH,EAAY1I,SAASgB,qBAAuB,GAC5CF,EAAEC,QAAQ2H,EAAY1I,SAASY,yBAA0B,SAASM,EAAK2H,GACrEH,EAAY1I,SAASgB,qBAAqBE,GAAOwH,EAAY1I,SAASa,2BAA2BgI,YAE5FH,EAAY1I,SAASY,gCACrB8H,EAAY1I,SAASa,2BAE5BC,EAAEC,QAAQ2H,EAAY1I,SAASwB,iBAAkB,SAASC,GACxDX,EAAEC,QAAQU,EAAOC,QAAS,SAASC,GACZ,WAAjBA,EAAOC,QACsB,KAA7BD,EAAOE,SAAST,OAAO,IACM,KAA7BO,EAAOE,SAAST,OAAO,KACzBO,EAAOE,SAAWF,EAAOE,SAASiH,UAAU,QAI7CJ,EAAY1I,SAASkC,qCACjBwG,EAAY1I,SAASoC,6BACvBsG,EAAY1I,SAASkC,6BAEvBwG,EAAY1I,SAASqC,iCACxBqG,EAAY1I,SAASsC,wBAA0B,UAC1CoG,EAAY1I,SAASqC,+BAExBqG,EAAY1I,SAASgD,WACnB0F,EAAY1I,SAASgD,SAASG,iBAChCuF,EAAY1I,SAASgD,SAASC,UAAYyF,EAAY1I,SAASgD,SAASC,UAAUO,UAAU,YAErFkF,EAAY1I,SAASgD,SAASG,iBACrCuF,EAAY1I,SAASgD,SAASC,UAAY,GAExCyF,EAAY1I,SAASgD,SAASO,eAChCmF,EAAY1I,SAASgD,SAASM,QAAUoF,EAAY1I,SAASgD,SAASM,QAAQE,UAAU,YAEjFkF,EAAY1I,SAASgD,SAASO,eACrCmF,EAAY1I,SAASgD,SAASM,QAAU,GAGtCoF,EAAY1I,SAASgD,SAASS,wBAChCiF,EAAY1I,SAASgD,SAASS,wBAA0B3C,EAAEW,OAAOiH,EAAY1I,SAASgD,SAASS,wBAAwBsF,MAAM,KAAM,SAASC,GAAK,OAAOA,EAAEtF,SAE1JgF,EAAY1I,SAASgD,SAASS,wBAA0B,IAGxDiF,EAAY1I,SAAS+D,SAAW2E,EAAY1I,SAAS+D,QAAQC,iBAC/D0E,EAAY1I,SAAS+D,QAAQC,eAAiB0E,EAAY1I,SAAS+D,QAAQC,eAAe+E,MAAM,MAE9FL,EAAYzI,SAAS4F,UAAY6C,EAAYzI,SAAS4F,SAASC,8BACjEhF,EAAEC,QAAQ2H,EAAYzI,SAAS4F,SAASC,4BAA6B,SAASI,GAC5EyC,EAAUzC,EAAKE,KAAOF,EAAK+C,iBAE7BP,EAAYzI,SAAS4F,SAASC,4BAA8B6C,GAGvDD,GA7UX","file":"Preferences.services.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Scheduler.js b/UI/WebServerResources/js/Scheduler.js
index 6e8d95325..715b926e7 100644
--- a/UI/WebServerResources/js/Scheduler.js
+++ b/UI/WebServerResources/js/Scheduler.js
@@ -1,2 +1,2 @@
-!function(){"use strict";angular.module("SOGo.SchedulerUI",["ngCookies","ui.router","angularFileUpload","ck","SOGo.Common","SOGo.PreferencesUI","SOGo.ContactsUI","SOGo.MailerUI","as.sortable"]).config(e).run(r),e.$inject=["$stateProvider","$urlServiceProvider"];function e(e,r){e.state("calendars",{url:"/calendar",views:{calendars:{templateUrl:"UIxCalMainView",controller:"CalendarsController",controllerAs:"app"}},resolve:{stateCalendars:a}}).state("calendars.view",{url:"/{view:(?:day|week|month|multicolumnday)}/{day:[0-9]{8}}",views:{calendarView:{templateUrl:function(e){return e.view+"view?day="+e.day},controller:"CalendarController",controllerAs:"calendar"}},resolve:{stateEventsBlocks:n}}),r.rules.when("/calendar/day",function(){return"/calendar/day/"+(new Date).getDayString()}),r.rules.when("/calendar/multicolumnday",function(){return"/calendar/multicolumnday/"+(new Date).getDayString()}),r.rules.when("/calendar/week",function(){return"/calendar/week/"+(new Date).getDayString()}),r.rules.when("/calendar/month",function(){return"/calendar/month/"+(new Date).getDayString()}),r.rules.otherwise("/calendar/week")}a.$inject=["Calendar"];function a(e){return e.$calendars||e.$findAll(window.calendarsData)}n.$inject=["$stateParams","Component","Calendar"];function n(e,a,n){return a.$eventsBlocksForView(e.view,e.day.asDate()).then(function(e){return _.forEach(e,function(e){e.id&&(e.calendar=new n({id:e.id,name:e.calendarName}))}),e})}r.$inject=["$window","$log","$transitions","$location","$state","Preferences"];function r(e,a,n,r,t,l){if(e.DebugEnabled||t.defaultErrorHandler(function(){}),n.onError({to:"calendars.**"},function(e){"calendars"==e.to().name||e.ignored()||(a.error("transition error to "+e.to().name+": "+e.error().detail),t.go({state:"calendars"}))}),0===r.url().length){var o="/calendar/",i=/(.+)view/.exec(l.settings.Calendar.View);o+=i?i[1]:"week";var d=new Date;if(l.defaults.SOGoCalendarWeekdays)for(var c=["SU","MO","TU","WE","TH","FR","SA"],s=c[d.getDay()];l.defaults.SOGoCalendarWeekdays.indexOf(s)<0;)d.addDays(1),s=c[d.getDay()];o+="/"+d.getDayString(),r.replace().url(o)}}}();
+!function(){"use strict";function e(e,a){e.state("calendars",{url:"/calendar",views:{calendars:{templateUrl:"UIxCalMainView",controller:"CalendarsController",controllerAs:"app"}},resolve:{stateCalendars:n}}).state("calendars.view",{url:"/{view:(?:day|week|month|multicolumnday)}/{day:[0-9]{8}}",views:{calendarView:{templateUrl:function(e){return e.view+"view?day="+e.day},controller:"CalendarController",controllerAs:"calendar"}},resolve:{stateEventsBlocks:r}}),a.rules.when("/calendar/day",function(){return"/calendar/day/"+(new Date).getDayString()}),a.rules.when("/calendar/multicolumnday",function(){return"/calendar/multicolumnday/"+(new Date).getDayString()}),a.rules.when("/calendar/week",function(){return"/calendar/week/"+(new Date).getDayString()}),a.rules.when("/calendar/month",function(){return"/calendar/month/"+(new Date).getDayString()}),a.rules.otherwise("/calendar/week")}function n(e){return e.$calendars||e.$findAll(window.calendarsData)}function r(e,a,n){return a.$eventsBlocksForView(e.view,e.day.asDate()).then(function(e){return _.forEach(e,function(e){e.id&&(e.calendar=new n({id:e.id,name:e.calendarName}))}),e})}function a(e,a,n,r,t,l){if(e.DebugEnabled||t.defaultErrorHandler(function(){}),n.onError({to:"calendars.**"},function(e){"calendars"==e.to().name||e.ignored()||(a.error("transition error to "+e.to().name+": "+e.error().detail),t.go({state:"calendars"}))}),0===r.url().length){var o="/calendar/",i=/(.+)view/.exec(l.settings.Calendar.View);o+=i?i[1]:"week";var d=new Date;if(l.defaults.SOGoCalendarWeekdays)for(var c=["SU","MO","TU","WE","TH","FR","SA"],s=c[d.getDay()];l.defaults.SOGoCalendarWeekdays.indexOf(s)<0;)d.addDays(1),s=c[d.getDay()];o+="/"+d.getDayString(),r.replace().url(o)}}angular.module("SOGo.SchedulerUI",["ngCookies","ui.router","angularFileUpload","ck","SOGo.Common","SOGo.PreferencesUI","SOGo.ContactsUI","SOGo.MailerUI","as.sortable"]).config(e).run(a),e.$inject=["$stateProvider","$urlServiceProvider"],n.$inject=["Calendar"],r.$inject=["$stateParams","Component","Calendar"],a.$inject=["$window","$log","$transitions","$location","$state","Preferences"]}();
//# sourceMappingURL=Scheduler.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Scheduler.js.map b/UI/WebServerResources/js/Scheduler.js.map
index 91046c098..48d501048 100644
--- a/UI/WebServerResources/js/Scheduler.js.map
+++ b/UI/WebServerResources/js/Scheduler.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Scheduler/Scheduler.app.js"],"names":["angular","module","config","configure","run","runBlock","$inject","$stateProvider","$urlServiceProvider","state","url","views","calendars","templateUrl","controller","controllerAs","resolve","stateCalendars","calendarView","$stateParams","view","day","stateEventsBlocks","rules","when","Date","getDayString","otherwise","Calendar","$calendars","$findAll","window","calendarsData","Component","$eventsBlocksForView","asDate","then","_","forEach","id","calendar","name","calendarName","$window","$log","$transitions","$location","$state","Preferences","DebugEnabled","defaultErrorHandler","onError","to","transition","ignored","error","detail","go","length","exec","settings","View","now","defaults","SOGoCalendarWeekdays","weekDays","weekDay","getDay","indexOf","addDays","replace"],"mappings":"CAGA,WACE,aAEAA,QAAQC,OAAO,oBAAqB,YAAa,YAAa,oBAAqB,KAAM,cAAe,qBAAsB,kBAAmB,gBAAiB,gBAC/JC,OAAOC,GACPC,IAAIC,GAKPF,EAAUG,SAAW,iBAAkB,uBACvC,SAASH,EAAUI,EAAgBC,GACjCD,EACGE,MAAM,aACLC,IAAK,YACLC,OACEC,WACEC,YAAa,iBACbC,WAAY,sBACZC,aAAc,QAGlBC,SACEC,eAAgBA,KAGnBR,MAAM,kBACLC,IAAK,2DAGLC,OACEO,cACEL,YAAa,SAASM,GAKpB,OAAOA,EAAaC,KAAO,YAAcD,EAAaE,KAExDP,WAAY,qBACZC,aAAc,aAGlBC,SACEM,kBAAmBA,KAIzBd,EAAoBe,MAAMC,KAAK,gBAAiB,WAG9C,MAAO,kBADG,IAAIC,MACgBC,iBAEhClB,EAAoBe,MAAMC,KAAK,2BAA4B,WAGzD,MAAO,6BADG,IAAIC,MAC2BC,iBAE3ClB,EAAoBe,MAAMC,KAAK,iBAAkB,WAG/C,MAAO,mBADG,IAAIC,MACiBC,iBAEjClB,EAAoBe,MAAMC,KAAK,kBAAmB,WAGhD,MAAO,oBADG,IAAIC,MACkBC,iBAKlClB,EAAoBe,MAAMI,UAAU,kBAMtCV,EAAeX,SAAW,YAC1B,SAASW,EAAeW,GACtB,OAAOA,EAASC,YAAcD,EAASE,SAASC,OAAOC,eAMzDV,EAAkBhB,SAAW,eAAgB,YAAa,YAC1D,SAASgB,EAAkBH,EAAcc,EAAWL,GAElD,OAAOK,EAAUC,qBAAqBf,EAAaC,KAAMD,EAAaE,IAAIc,UACvEC,KAAK,SAASzB,GAQb,OAPA0B,EAAEC,QAAQ3B,EAAO,SAASS,GACpBA,EAAKmB,KAGPnB,EAAKoB,SAAW,IAAIZ,GAAWW,GAAInB,EAAKmB,GAAIE,KAAMrB,EAAKsB,kBAGpD/B,IAObN,EAASC,SAAW,UAAW,OAAQ,eAAgB,YAAa,SAAU,eAC9E,SAASD,EAASsC,EAASC,EAAMC,EAAcC,EAAWC,EAAQC,GAYhE,GAXKL,EAAQM,cACXF,EAAOG,oBAAoB,cAG7BL,EAAaM,SAAUC,GAAI,gBAAkB,SAASC,GACxB,aAAxBA,EAAWD,KAAKX,MACfY,EAAWC,YACdV,EAAKW,MAAM,uBAAyBF,EAAWD,KAAKX,KAAO,KAAOY,EAAWE,QAAQC,QACrFT,EAAOU,IAAKhD,MAAO,iBAGQ,IAA3BqC,EAAUpC,MAAMgD,OAAc,CAEhC,IAAIhD,EAAM,aACNU,EAAO,WAAWuC,KAAKX,EAAYY,SAAShC,SAASiC,MAEvDnD,GADEU,EACKA,EAAK,GAEL,OAET,IAAI0C,EAAM,IAAIrC,KACd,GAAIuB,EAAYe,SAASC,qBAGvB,IAFA,IAAIC,GAAY,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAChDC,EAAUD,EAASH,EAAIK,UACpBnB,EAAYe,SAASC,qBAAqBI,QAAQF,GAAW,GAClEJ,EAAIO,QAAQ,GACZH,EAAUD,EAASH,EAAIK,UAG3BzD,GAAO,IAAMoD,EAAIpC,eACjBoB,EAAUwB,UAAU5D,IAAIA,KAxI9B","file":"Scheduler.js"}
\ No newline at end of file
+{"version":3,"sources":["Scheduler/Scheduler.app.js"],"names":["configure","$stateProvider","$urlServiceProvider","state","url","views","calendars","templateUrl","controller","controllerAs","resolve","stateCalendars","calendarView","$stateParams","view","day","stateEventsBlocks","rules","when","Date","getDayString","otherwise","Calendar","$calendars","$findAll","window","calendarsData","Component","$eventsBlocksForView","asDate","then","_","forEach","id","calendar","name","calendarName","runBlock","$window","$log","$transitions","$location","$state","Preferences","DebugEnabled","defaultErrorHandler","onError","to","transition","ignored","error","detail","go","length","exec","settings","View","now","defaults","SOGoCalendarWeekdays","weekDays","weekDay","getDay","indexOf","addDays","replace","angular","module","config","run","$inject"],"mappings":"CAGA,WACE,aAUA,SAASA,EAAUC,EAAgBC,GACjCD,EACGE,MAAM,YAAa,CAClBC,IAAK,YACLC,MAAO,CACLC,UAAW,CACTC,YAAa,iBACbC,WAAY,sBACZC,aAAc,QAGlBC,QAAS,CACPC,eAAgBA,KAGnBR,MAAM,iBAAkB,CACvBC,IAAK,2DAGLC,MAAO,CACLO,aAAc,CACZL,YAAa,SAASM,GAKpB,OAAOA,EAAaC,KAAO,YAAcD,EAAaE,KAExDP,WAAY,qBACZC,aAAc,aAGlBC,QAAS,CACPM,kBAAmBA,KAIzBd,EAAoBe,MAAMC,KAAK,gBAAiB,WAG9C,MAAO,kBADG,IAAIC,MACgBC,iBAEhClB,EAAoBe,MAAMC,KAAK,2BAA4B,WAGzD,MAAO,6BADG,IAAIC,MAC2BC,iBAE3ClB,EAAoBe,MAAMC,KAAK,iBAAkB,WAG/C,MAAO,mBADG,IAAIC,MACiBC,iBAEjClB,EAAoBe,MAAMC,KAAK,kBAAmB,WAGhD,MAAO,oBADG,IAAIC,MACkBC,iBAKlClB,EAAoBe,MAAMI,UAAU,kBAOtC,SAASV,EAAeW,GACtB,OAAOA,EAASC,YAAcD,EAASE,SAASC,OAAOC,eAOzD,SAASV,EAAkBH,EAAcc,EAAWL,GAElD,OAAOK,EAAUC,qBAAqBf,EAAaC,KAAMD,EAAaE,IAAIc,UACvEC,KAAK,SAASzB,GAQb,OAPA0B,EAAEC,QAAQ3B,EAAO,SAASS,GACpBA,EAAKmB,KAGPnB,EAAKoB,SAAW,IAAIZ,EAAS,CAAEW,GAAInB,EAAKmB,GAAIE,KAAMrB,EAAKsB,kBAGpD/B,IAQb,SAASgC,EAASC,EAASC,EAAMC,EAAcC,EAAWC,EAAQC,GAYhE,GAXKL,EAAQM,cACXF,EAAOG,oBAAoB,cAG7BL,EAAaM,QAAQ,CAAEC,GAAI,gBAAkB,SAASC,GACxB,aAAxBA,EAAWD,KAAKZ,MACfa,EAAWC,YACdV,EAAKW,MAAM,uBAAyBF,EAAWD,KAAKZ,KAAO,KAAOa,EAAWE,QAAQC,QACrFT,EAAOU,GAAG,CAAEjD,MAAO,iBAGQ,IAA3BsC,EAAUrC,MAAMiD,OAAc,CAEhC,IAAIjD,EAAM,aACNU,EAAO,WAAWwC,KAAKX,EAAYY,SAASjC,SAASkC,MAEvDpD,GADEU,EACKA,EAAK,GAEL,OAET,IAAI2C,EAAM,IAAItC,KACd,GAAIwB,EAAYe,SAASC,qBAGvB,IAFA,IAAIC,EAAW,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAChDC,EAAUD,EAASH,EAAIK,UACpBnB,EAAYe,SAASC,qBAAqBI,QAAQF,GAAW,GAClEJ,EAAIO,QAAQ,GACZH,EAAUD,EAASH,EAAIK,UAG3B1D,GAAO,IAAMqD,EAAIrC,eACjBqB,EAAUwB,UAAU7D,IAAIA,IArI5B8D,QAAQC,OAAO,mBAAoB,CAAC,YAAa,YAAa,oBAAqB,KAAM,cAAe,qBAAsB,kBAAmB,gBAAiB,gBAC/JC,OAAOpE,GACPqE,IAAIhC,GAKPrC,EAAUsE,QAAU,CAAC,iBAAkB,uBAmEvC3D,EAAe2D,QAAU,CAAC,YAQ1BtD,EAAkBsD,QAAU,CAAC,eAAgB,YAAa,YAmB1DjC,EAASiC,QAAU,CAAC,UAAW,OAAQ,eAAgB,YAAa,SAAU,eAxGhF","file":"Scheduler.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Scheduler.services.js b/UI/WebServerResources/js/Scheduler.services.js
index 54dd271fd..cf2b3ebcd 100644
--- a/UI/WebServerResources/js/Scheduler.services.js
+++ b/UI/WebServerResources/js/Scheduler.services.js
@@ -1,2 +1,2 @@
-!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.open(this.id+".ics","export",null,t)},e.prototype.$setActivation=function(){return e.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},e.prototype.$getComponent=function(t,n){return e.$Component.$find(this.id,t,n)},e.prototype.$unwrap=function(t){var n=this;this.$futureCalendarData=t.then(function(t){return e.$timeout(function(){return n.init(t),n})},function(t){n.isError=!0,angular.isObject(t)&&e.$timeout(function(){angular.extend(n,t)})})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e}}(),function(){"use strict";function e(t){if("function"!=typeof t.then){if(this.init(t),this.pid&&!this.id){var n=e.$$resource.newguid(this.pid);this.$unwrap(n),this.isNew=!0}}else this.$unwrap(t)}e.$factory=["$q","$timeout","$log","$rootScope","sgSettings","sgComponent_STATUS","Preferences","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},p=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){p|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?p=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),p&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},p={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,p=this,h=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),p.selectedDate=o.day.asDate(),p.expandedAllDays=e.expandedAllDays,p.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,p.expandedAllDays=e.expandedAllDays},p.views=d,p.changeDate=y,p.changeView=v,this.$onInit=function(){(e=h).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(p.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(h,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=p.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=p.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=p.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)p.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this,v=[];g={title:"Title",location:"Location",calendarName:"Calendar",start:"Start",priority:"Priority",category:"Category",status:"Status",events:{end:"End"},tasks:{end:"Due Date"}},y.component=h,y.componentType="events",y.selectedList=0,y.selectComponentType=$,y.unselectComponents=function(){_.forEach(h["$"+y.componentType],function(e){e.selected=!1}),y.mode.multiple=0},y.selectAll=function(){_.forEach(h["$"+y.componentType],function(e){e.selected=!0}),y.mode.multiple=h["$"+y.componentType].length},y.searchMode=C,y.toggleComponentSelection=function(e,t){t.selected=!t.selected,y.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},y.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(h["$"+y.componentType],function(e){return e.selected});p.$deleteComponents(t).then(function(){y.mode.multiple=0,e.$emit("calendars:list")})})},y.openEvent=function(e,t){b(e,t,"appointment")},y.openTask=function(e,t){b(e,t,"task")},y.newComponent=D,y.filter=function(e){{if(!e)return h["$query"+y.componentType.capitalize()].filterpopup;h.$filter(y.componentType,{filterpopup:e})}},y.filteredBy=function(e){return h["$query"+y.componentType.capitalize()].filterpopup==e},y.sort=function(e){{if(!e){var t=h["$query"+y.componentType.capitalize()].sort;return g[t]||g[y.componentType][t]}h.$filter(y.componentType,{sort:e})}},y.sortedBy=function(e){return h["$query"+y.componentType.capitalize()].sort==e},y.reload=function(){h.$loaded=h.STATUS.LOADING,p.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},y.cancelSearch=function(){y.mode.search=!1,h.$filter(y.componentType,{value:""})},y.mode={search:!1,multiple:0},this.$onInit=function(){(n=v).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:C})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:D,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:D,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(y.selectedList=1,f="tasks"),$(f,{reload:!0}),e.$on("calendars:list",function(){h.$filter(y.componentType,{reload:!0})}),e.$on("calendar:dragend",k),t.$on("$destroy",function(){_.forEach(v,function(e){r.deregisterHotkey(e)})})};function $(e,t){(t&&t.reload||y.componentType!=e)&&(angular.isUndefined(h["$"+e])&&h.$filter(e),y.unselectComponents(),y.componentType=e,h.saveSelectedList(e))}function C(){y.mode.search=!0,s("search")}function b(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=p.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function D(e,t,n){var a;n?(a=n).updateFreeBusy():a=new h({pid:p.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function k(t){var n,o,r,s,c,d,f;n=h.$ghost.component,o=h.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),D(null,"appointment",n).catch().finally(function(){a(function(){h.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(p.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){h.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' '," "+l("editRepeatingItem")+"
"," "," ",' '+l("button_thisOccurrenceOnly")+" ",' '+l("button_allOccurrences")+" "," "," "].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){h.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}this.ascending=function(){return h["$query"+y.componentType.capitalize()].asc}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=n,o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=p,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,p()})},d.reply=h,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,h(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ',' '," "," ",' '+l("Close")+" "," "," "].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function p(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function h(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *"+n+">? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new p({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.changeAlarmRelation=v,y.onAlarmChange=function(e){if("task"!==y.component.type)return;y.component.start||"START"!=y.component.alarm.relation?y.component.due||"END"!=y.component.alarm.relation||(y.component.alarm.relation="START"):y.component.alarm.relation="END";v(e)},y.reset=$,y.cancel=function(e){$(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=C,y.save=function(t,n){v(t),t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),h.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:C(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:b(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(e){y.component.$addStartDate(),f=new Date(y.component.start.getTime()),y.component.due||(y.component.alarm.relation="START");v(e)},y.removeStartDate=function(e){y.component.$deleteStartDate(),y.component.due&&(y.component.alarm.relation="END");v(e)},y.addDueDate=function(e){y.component.$addDueDate(),new Date(y.component.due.getTime()),y.component.start||(y.component.alarm.relation="END");v(e)},y.removeDueDate=function(e){y.component.$deleteDueDate(),y.component.start&&(y.component.alarm.relation="START");v(e)},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),D())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),D())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){"task"==y.component.type&&y.component.$hasAlarm&&(!y.component.start&&"START"==y.component.alarm.relation||!y.component.due&&"END"==y.component.alarm.relation)?e.alarmRelation.$setValidity("alarm",!1):e.alarmRelation.$setValidity("alarm",!0)}function $(e){y.component.$reset(),e.$setPristine()}function C(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function b(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function D(){y.attendeesEditor.days=b(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['",'
','
",'
','
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,p;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var h=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,p=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,h,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((h=m)>f&&(h=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(p==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",h*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=h,s++;!e&&m&&s<=l.dayNumber;)(h=m)>n.EventDragDayLength&&(h=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",h*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=h,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=h,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){h(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['','
",'
'," {{ ::component.c_title }}",'
',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$timeout","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d,u){var p=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=p.calendar.name})},this.editFolder=function(e){e.stopPropagation(),e.preventDefault(),this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),"touchend"==e.srcEvent.type?a(function(){p.inputElement.focus(),p.inputElement.select()},200):(this.inputElement.select(),this.inputElement.focus()),this.panel&&this.panel.close()},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){p.editMode=!1,p.inputContainer.classList.add("ng-hide"),p.clickableElement.classList.remove("ng-hide"),p.updateCalendarName()}).finally(function(){p.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))}):d.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){p.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=i.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(i.xPosition.ALIGN_START,i.yPosition.ALIGN_TOPS),a=i.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(i.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:a,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};i.open(r).then(function(e){p.panel=e,e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,a,i,r){var s=this;this.showOnly=function(){_.forEach(u.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(u.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;a.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new u(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){a.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,a){this.uploader=new i({url:ApplicationBaseURL+[a.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,a,i,r){var s;n.hide(),0===a.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",a.imported),e.$emit("calendars:list")),o.show(o.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){o.show({template:["",' ',' error_outline '," "+l("An error occurred while importing calendar.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||o.show({template:["",' ',' error_outline '," "+l("Select an iCalendar file (.ics).")+" ","
"," "].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){a.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:[' ','',' ',' error ',' ',' ',"
",'',' '," ",''," drag_handle "," ",''].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['','
",'
{{ '+n+"block.component.startHour }} ",'
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,p=!1;d=null,u=t.type,p="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=p,i(function(){if(d=new h(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function h(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}h.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return p?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",p),s.$on("$destroy",function(){c.off("mousedown",p),c.off("mousemove",h)});function p(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",h))}function h(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",h),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,p,h,m,f,g,y,v;p=c.hasClass("clickableHourCell"),h="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:p?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",h?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),p=e.quarterHeight/15,h=parseInt(l*d+u*p-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",h+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}();
+!function(){"use strict";function c(e){if(this.init(e),this.name&&!this.id){var t=c.$$resource.create("createFolder",this.name);this.$unwrap(t)}}c.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(e,t,n,a,o,i,r,s){return angular.extend(c,{$q:e,$timeout:t,$log:n,$$resource:new o(a.activeUser("folderURL")+"Calendar",a.activeUser()),$Preferences:i,$Component:r,$$Acl:s,activeUser:a.activeUser(),$view:null}),c}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",c.$factory),c.$defaultCalendar=function(){var e;return"first"==c.$Preferences.defaults.SOGoDefaultCalendar&&(e=_.find(c.$findAll(null,!0),function(e){return e.active}))?e.id:"personal"},c.$add=function(n){var e,t;e=n.isWebCalendar?this.$webcalendars:n.isSubscription?this.$subscriptions:this.$calendars,(t=_.findIndex(e,function(e,t){return"personal"==n.id||"personal"!=e.id&&0e&&this.attachUrls.splice(e,1)},p.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},p.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},p.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},p.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},p.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},p.prototype.$deleteRecurrenceDate=function(e){-1e&&this.repeat.dates.splice(e,1)},p.prototype.$reset=function(){var n=this;angular.forEach(this,function(e,t){"constructor"!=t&&"$"!=t[0]&&delete n[t]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},p.prototype.$reply=function(){var e,t=this,n=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&n.push(this.occurrenceId),e={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},p.$$resource.save(n.join("/"),e,{action:"rsvpAppointment"}).then(function(e){return t.$shadowData=t.$omit(),e})},p.prototype.$adjust=function(e){var t=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(e),function(e){return 0===e})?p.$q.when():(this.occurrenceId&&t.push(this.occurrenceId),p.$log.debug("adjust "+t.join("/")+" "+JSON.stringify(e)),p.$$resource.save(t.join("/"),e,{action:"adjust"}))},p.prototype.$save=function(e){var t,n,a,o,i=this;return a=this.$omit(),o=p.$Preferences.$mdDateLocaleProvider,a.startDate=a.start?a.start.format(o,"%Y-%m-%d"):"",a.startTime=a.start?a.start.format(o,"%H:%M"):"",a.endDate=a.end?a.end.format(o,"%Y-%m-%d"):"",a.endTime=a.end?a.end.format(o,"%H:%M"):"",a.dueDate=a.due?a.due.format(o,"%Y-%m-%d"):"",a.dueTime=a.due?a.due.format(o,"%H:%M"):"",a.completedDate=a.completed?a.completed.format(o,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete a.repeat.monthdays,a.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(a.repeat.dates,function(e,t,n){n[t]={date:e.format(o,"%Y-%m-%d"),time:e.format(o,"%H:%M")}}):(delete a.repeat.days,"relative"==this.repeat.month.day&&(a.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(a.repeat={frequency:this.repeat.frequency}),a.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?a.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?a.repeat.count=this.repeat.count:(delete a.repeat.until,delete a.repeat.count):delete a.repeat,"not-specified"==this.status?delete a.status:"completed"!=this.status&&delete a.completedDate,a.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&0',' '," "+l("editRepeatingItem")+"
"," "," ",' '+l("button_thisOccurrenceOnly")+" ",' '+l("button_allOccurrences")+" "," ",""].join(""),controller:c}).then(function(){p.$emit("calendars:list")},function(){}).finally(function(){h(function(){y.$resetGhost()})})),c.$inject=["$scope","$mdDialog","component","params"],u.$inject=["$scope","$mdDialog","component","params","conflictError"]}c={title:"Title",location:"Location",calendarName:"Calendar",start:"Start",priority:"Priority",category:"Category",status:"Status",events:{end:"End"},tasks:{end:"Due Date"}},d.component=y,d.componentType="events",d.selectedList=0,d.selectComponentType=$,d.unselectComponents=function(){_.forEach(y["$"+d.componentType],function(e){e.selected=!1}),d.mode.multiple=0},d.selectAll=function(){_.forEach(y["$"+d.componentType],function(e){e.selected=!0}),d.mode.multiple=y["$"+d.componentType].length},d.searchMode=C,d.toggleComponentSelection=function(e,t){t.selected=!t.selected,d.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},d.confirmDeleteSelectedComponents=function(){i.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var e=_.filter(y["$"+d.componentType],function(e){return e.selected});g.$deleteComponents(e).then(function(){d.mode.multiple=0,p.$emit("calendars:list")})})},d.openEvent=function(e,t){b(e,t,"appointment")},d.openTask=function(e,t){b(e,t,"task")},d.newComponent=D,d.filter=function(e){{if(!e)return y["$query"+d.componentType.capitalize()].filterpopup;y.$filter(d.componentType,{filterpopup:e})}},d.filteredBy=function(e){return y["$query"+d.componentType.capitalize()].filterpopup==e},d.sort=function(e){{if(!e){var t=y["$query"+d.componentType.capitalize()].sort;return c[t]||c[d.componentType][t]}y.$filter(d.componentType,{sort:e})}},d.sortedBy=function(e){return y["$query"+d.componentType.capitalize()].sort==e},d.reload=function(){y.$loaded=y.STATUS.LOADING,g.reloadWebCalendars().finally(function(){p.$emit("calendars:list")})},d.cancelSearch=function(){d.mode.search=!1,y.$filter(d.componentType,{value:""})},d.mode={search:!1,multiple:0},this.$onInit=function(){var e;(e=u).push(n.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:C})),e.push(n.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:D,args:"appointment"})),e.push(n.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:D,args:"task"})),_.forEach(e,function(e){n.registerHotkey(e)}),s="events","tasksListView"==r.settings.Calendar.SelectedList&&(d.selectedList=1,s="tasks"),$(s,{reload:!0}),p.$on("calendars:list",function(){y.$filter(d.componentType,{reload:!0})}),p.$on("calendar:dragend",k),t.$on("$destroy",function(){_.forEach(u,function(e){n.deregisterHotkey(e)})})},this.ascending=function(){return y["$query"+d.componentType.capitalize()].asc}}e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"],angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";function e(i,e,t,a,r,n,o,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){o.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){function n(e,n,t,a){var o=this,i=t.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=t,o.authenticate=function(t){!t.$valid&&t.$error.required||a.setCredentials(o.username,o.password).then(function(e){n.hide()},function(e){t.password.$setValidity("credentials",!1)})},o.cancel=function(){n.cancel()}}o.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(e){angular.isObject(e)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:n,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:e}})})}),n.$inject=["scope","$mdDialog","url","calendar"]},u.subscribeToFolder=function(e){r.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){n.show(n.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),e.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(e,n){var t,a,o;t=_.intersectionBy(e,n,"id"),a=_.map(_.filter(t,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),o=d.$q.when(),0"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=p,d.editAllOccurrences=function(){(c=e.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,p()})},d.reply=h,d.replyAllOccurrences=function(){(c=e.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,h(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){t.$emit("calendars:list"),o.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){t.$emit("calendars:list"),o.hide()})},d.toggleRawSource=function(n){e.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(e){function t(e,t,n){e.data=n,e.close=function(){t.hide()}}o.hide(),o.show({parent:angular.element(document.body),targetEvent:n,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ',' '," "," ",' '+l("Close")+" "," "," "].join(""),controller:t,locals:{data:e}}),t.$inject=["scope","$mdDialog","data"]})},d.copySelectedComponent=function(e){d.component.copyTo(e).then(function(){o.hide(),t.$emit("calendars:list")})},d.moveSelectedComponent=function(e){d.component.moveTo(e).then(function(){o.hide(),t.$emit("calendars:list")})},d.organizer=[s.organizer]}function t(n,e,t,a,o,i,r,s,c,d,u,p,h,m){var f,g,y=this;function v(e){"task"==y.component.type&&y.component.$hasAlarm&&(!y.component.start&&"START"==y.component.alarm.relation||!y.component.due&&"END"==y.component.alarm.relation)?e.alarmRelation.$setValidity("alarm",!1):e.alarmRelation.$setValidity("alarm",!0)}function $(e){y.component.$reset(),e.$setPristine()}function C(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function b(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function D(){y.attendeesEditor.days=b(),y.component.updateFreeBusy()}y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&0? *"),"");return y.showAttendeesEditor|=o,y.searchText="",new p({c_cn:_.trim(a,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t",' ','
",'
','
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ",'
',' place ',"
","
","
",' {{ block.startHour }}
',' {{ block.endHour }}
',""].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}e.$inject=["CalendarSettings"],angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";function e(r,e,f,g,s){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(c,l,e,t){var n,d,u,p,h;n=l[0],d=t[0],u=t[1],p=-1,l.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var a=r.$on("calendar:dragstart",function(){var e,t,n;c.block=s.$ghost,(t=d.calendarData())&&(p=t.index,e=t.pid,h=c.block.pointerHandler.originalCalendar.index);e||(e=c.block.component.pid);(n=c.block.component.blocks[0].userState)&&l.addClass("sg-event--"+n);l.addClass("bg-folder"+e)}),o=r.$on("calendar:drag",function(){var e,t,n,a,o,i,r,s;if(e=!1,g.$view&&g.$view.type==u.type){if(t="multiday-allday"===u.type,n=c.block.component.c_isallday,a=c.block.pointerHandler.currentEventCoordinates.dayNumber,o=c.block.pointerHandler.currentEventCoordinates.start,r=c.block.pointerHandler.currentEventCoordinates.duration,s=f.EventDragDayLength-o,angular.isUndefined(r))return;for(s<(i=r)&&(i=s),-1f.EventDragDayLength&&(i=f.EventDragDayLength),-1 ','
",' '," {{ ::component.c_title }}",' ',' ',' ',' ',' '," ",' ',' access_time ',"
",' ',' place ',"
",""].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}e.$inject=["CalendarSettings"],angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){function e(r,e,t,n,s,o,a,i,c,d,u){var p=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=t.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=t.find("md-input-container")[0],this.inputElement=t.find("input")[0],this.moreOptionsButton=_.last(t.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=p.calendar.name})},this.editFolder=function(e){e.stopPropagation(),e.preventDefault(),this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),"touchend"==e.srcEvent.type?n(function(){p.inputElement.focus(),p.inputElement.select()},200):(this.inputElement.select(),this.inputElement.focus()),this.panel&&this.panel.close()},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){p.editMode=!1,p.inputContainer.classList.add("ng-hide"),p.clickableElement.classList.remove("ng-hide"),p.updateCalendarName()}).finally(function(){p.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))}):d.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){p.calendar.$delete().catch(function(e,t){d.alert(l('An error occured while deleting the calendar "%{0}".',p.calendar.name),l(e.error))})})},this.showMenu=function(i){var e=o.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(o.xPosition.ALIGN_START,o.yPosition.ALIGN_TOPS),t=o.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(o.animation.FADE),n={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:a,controllerAs:"$menuCtrl",position:e,animation:t,targetEvent:i,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};function a(e,n,a,t){var o=this;this.showOnly=function(){_.forEach(u.$findAll(),function(e){o.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(u.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;function t(e,t,n){var a=this;a.calendar=new u(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}n.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){o.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"]},this.showLinks=function(){function e(e,t){this.calendar=t,this.close=function(){e.hide()}}n.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"]},this.importCalendar=function(){function e(e,i,t){function n(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||s.show({template:["",' ',' error_outline '," "+l("Select an iCalendar file (.ics).")+" ","
"," "].join(""),position:"top right",hideDelay:3e3}),t}this.uploader=new a({url:ApplicationBaseURL+[t.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:n,fn:n}],onSuccessItem:function(e,t,n,a){var o;i.hide(),0===t.imported?o=l("No event was imported."):(o=l("A total of %{0} events were imported in the calendar.",t.imported),r.$emit("calendars:list")),s.show(s.simple().content(o).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,a){s.show({template:["",' ',' error_outline '," "+l("An error occurred while importing calendar.")+" ","
"," "].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){i.hide()}}n.show({parent:angular.element(document.body),targetEvent:i,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:e,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),e.$inject=["scope","$mdDialog","folder"]},this.share=function(){this.calendar.$acl.$users().then(function(){n.show({templateUrl:o.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:o.calendar.$acl.users,User:t,folder:o.calendar}})})}}o.open(n).then(function(e){(p.panel=e).panelEl.one("click",function(){e.close()})}),a.$inject=["mdPanelRef","$mdDialog","FileUploader","User"]}}e.$inject=["$rootScope","$scope","$element","$timeout","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"],angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:[' ','',' ',' error ',' ',' ',"
",'',' '," ",''," drag_handle "," ",''].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:[" '].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['','
",'
{{ '+n+"block.component.startHour }} ",'
{{'+n+"block.component.c_priority}} "," {{ "+n+"block.component.summary }}",'
',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";function e(c,l,e,t,d,n,u,p,h){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:a,link:function(e,a,t,o){var i,r,n;function s(e,t){this.$element=e,this.element=e[0],this.type=t,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=c.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=c.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(l).on("resize",this.bindedUpdateCoordinates)}i=null,r=e.type,n="multicolumndayview"==a.attr("sg-view"),o.isMultiColumn=n,d(function(){var e,t,n;i=new s(a,r),"monthly"!=r&&h.defaults.SOGoDayStartTime&&(e=h.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*i.quarterHeight,i.element.scrollTop=t.offsetTop+n);o.quarterHeight=i.quarterHeight}),e.$on("$destroy",function(){i&&i.$destroy()}),s.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(l).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),u.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,0<(i=this.element.getElementsByClassName("day")).length&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,0<(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return n?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=p.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(u.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):0<(i=(a=t.y+this.scrollStep)-this.element.clientHeight)&&(this.element.scrollTop+=i)))}}}}}function a(e){this.type=e.type}e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"],a.$inject=["$scope"],angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";function e(m,a,f,g,y,c,v){return{restrict:"CA",require:"^sgCalendarDay",link:function(u,p,e,h){if(u.block){if(!u.block.component.editable||u.block.userState)return void p.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,s,c,l;if(u.block.length<3)return;e=u.block.component,t=u.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===p[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),p.append(r)),o&&(s=angular.element('
').append(i.clone()),p.append(s))):(a&&(c=angular.element('
').append(i),p.append(c)),o&&(l=angular.element('
').append(i.clone()),p.append(l)))}()}function t(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",u.block&&u.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new s(t)).initFromEvent(e),v.$ghost.pointerHandler=n,angular.element(document).one("mouseup",r),angular.element(document).on("mousemove",i))}function i(e){var t=v.$ghost.pointerHandler;a(function(){t.updateFromEvent(e)})}function r(e){var t,n;t=u.block,n=v.$ghost.pointerHandler,angular.element(document).off("mousemove",i),n.dragHasStarted&&(m.$emit("calendar:dragend"),n.dragHasStarted=!1),t&&t.component&&_.forEach(t.component.blocks,function(e){e.dragging=!1})}function d(){}function n(e){this.setEventType(e)}function s(e){this.dragMode=e}p.on("mousedown",t),u.$on("$destroy",function(){p.off("mousedown",t),p.off("mousemove",i)}),d.prototype={x:-1,y:-1,getDelta:function(e){var t=new d;return t.x=this.x-e.x,t.y=this.y-e.y,y.$view&&(t.days=y.$view.dayNumbers[this.x]-y.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new d;return e.x=this.x,e.y=this.y,e}},n.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var a=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*c.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var t,n;return n=e.dayNumber,t=a<0?0:n-a-1,a=n,e.length+t*c.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new n;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%c.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new n;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}},s.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new n(this.eventType),this.originalEventCoordinates=new n(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new d,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(e){if(this.currentCoordinates.x=e.pageX,this.currentCoordinates.y=e.pageY,this.dragHasStarted&&y.$view){var t=this.getEventViewCoordinates(y.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(y.$view,this.originalCoordinates),v.$ghost.component.isNew&&(this.setTimeFromQuarters(v.$ghost.component.start,this.originalViewCoordinates.y),f.debug("new event start date "+v.$ghost.component.start))),this.currentViewCoordinates&&t&&t.x==this.currentViewCoordinates.x&&t.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=t,this.originalViewCoordinates&&(t||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var n=this.getDistance();3=c.EventDragDayLength&&(t=Math.floor(this.currentEventCoordinates.start/c.EventDragDayLength),this.currentEventCoordinates.start-=t*c.EventDragDayLength,this.currentEventCoordinates.dayNumber+=t),f.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),m.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-c.EventDragHorizontalOffset)/a);var i=c.EventDragDayLength-1;n.y<0?n.y=0:n.y>i&&(n.y=i)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new d;var o=e.dayWidth,i=e.daysOffset;n.x=Math.floor((a.x-i)/o);var r=0,s=y.$view.maxX;if("move-event"!=this.dragMode){var c=h.calendarData();c&&(r=s=c.index)}n.xs&&(n.x=s),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new d;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"],angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";function e(c,l,d){var u,p=this,h=l.controller("sgCalendarScrollView");c.nowDay=null,c.lineElement=null,c.updateLine=function(e){var t=new Date,n=t.getDayString(),a=t.getHours(),o=4*c.quarterHeight,i=t.getMinutes(),r=c.quarterHeight/15,s=parseInt(a*o+i*r-1);(e||n!=c.nowDay)&&(c.lineElement&&c.lineElement.remove(),c.lineElement=function(t,e){var n=angular.element("");h.isMultiColumn?e&&e[0].attributes["sg-day"].value==t&&l.append(n):_.forEach(e,function(e){e.attributes["sg-day"].value==t&&angular.element(e).find("div").eq(0).append(n)});return n}(n,c.days),c.nowDay=n);c.lineElement&&(c.lineElement.css("top",s+"px"),u=d(angular.bind(p,c.updateLine),6e4))},c.$on("$destroy",function(){u&&d.cancel(u)})}e.$inject=["$scope","$element","$timeout"],angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(n,e,t,a){function o(){return e.find("sg-calendar-day")}var i=n.$watch(function(){return a.quarterHeight},function(e){if(e){i(),n.quarterHeight=e;var t=n.$watch(o,function(e){e.length&&(t(),n.days=e,n.updateLine())})}})},controller:e}})}();
//# sourceMappingURL=Scheduler.services.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/Scheduler.services.js.map b/UI/WebServerResources/js/Scheduler.services.js.map
index 96c08e84b..dca6603a7 100644
--- a/UI/WebServerResources/js/Scheduler.services.js.map
+++ b/UI/WebServerResources/js/Scheduler.services.js.map
@@ -1 +1 @@
-{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","open","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","sortLabels","title","location","priority","tasks","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","ascending","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","changeAlarmRelation","onAlarmChange","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","removeStartDate","addDueDate","removeDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","alarmRelation","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","srcEvent","select","panel","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"}
\ No newline at end of file
+{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","open","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","_goToPeriod","$event","direction","selectedDate","changeDate","_formatDate","setHours","$dateFormat","replace","updateView","asDate","newDate","element","currentTarget","attr","go","changeView","expandedAllDays","toggleAllDays","$onInit","createHotkey","description","callback","args","registerHotkey","$on","deregisterHotkey","$inject","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","sortLabels","selectComponentType","reload","unselectComponents","searchMode","mode","openComponent","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","newComponent","baseComponent","updateComponentFromGhost","coordinates","calendarNumber","activeCalendars","RecurrentComponentDialogController","updateThisOccurrence","hide","onComponentAdjustError","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","currentEventCoordinates","summary","isAllDay","duration","catch","finally","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","template","title","location","priority","tasks","selectedList","multiple","selectAll","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openTask","filteredBy","field","sortedBy","cancelSearch","SelectedList","ascending","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","WebCalendarAuthDialogController","scope","parts","hostname","formatted","authenticate","form","$valid","required","reason","$setValidity","inputType","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","_newMessage","recipients","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","edit","calendarService","close","highPriority","cardFilter","$filterAll","newMessageWithAllRecipients","newMessageWithRecipient","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","ComponentEditorController","oldStartDate","oldEndDate","changeAlarmRelation","alarmRelation","reset","$setPristine","attendeeConflictError","$setDirty","getDays","attendeesEditor","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","priorityLevel","onAlarmChange","hours","addStartDate","removeStartDate","addDueDate","removeDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","srcEvent","select","panel","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","filterByExtension","item","isTextFile","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","fn","onSuccessItem","headers","msg","imported","onErrorItem","share","$users","usersWithACL","users","panelRef","panelEl","one","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","onDrag","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","SOGoEventDragEventCoordinates","eventType","setEventType","otherCoordinates","getDistance","sqrt","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaDays","deltaQuarters","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/vendor/FileSaver.min.js b/UI/WebServerResources/js/vendor/FileSaver.min.js
index 4a866a41c..72e4cfef9 100644
--- a/UI/WebServerResources/js/vendor/FileSaver.min.js
+++ b/UI/WebServerResources/js/vendor/FileSaver.min.js
@@ -1,2 +1,2 @@
-var saveAs=saveAs||function(e){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var t=e.document,n=function(){return e.URL||e.webkitURL||e},o=t.createElementNS("http://www.w3.org/1999/xhtml","a"),r="download"in o,i=e.webkitRequestFileSystem,a=e.requestFileSystem||i||e.mozRequestFileSystem,c="application/octet-stream",f=0,s=function(t){var o=function(){"string"==typeof t?n().revokeObjectURL(t):t.remove()};e.chrome?o():setTimeout(o,500)},u=function(t,n,o){for(var r=(n=[].concat(n)).length;r--;){var i=t["on"+n[r]];if("function"==typeof i)try{i.call(t,o||t)}catch(t){a=t,(e.setImmediate||e.setTimeout)(function(){throw a},0)}}var a},d=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e},l=function(l,p){var v,w,y,m=this,h=(l=d(l)).type,S=!1,O=function(){u(m,"writestart progress write writeend".split(" "))},E=function(){if(!S&&v||(v=n().createObjectURL(l)),w)w.location.href=v;else{void 0==e.open(v,"_blank")&&"undefined"!=typeof safari&&(e.location.href=v)}m.readyState=m.DONE,O(),s(v)},R=function(e){return function(){if(m.readyState!==m.DONE)return e.apply(this,arguments)}},b={create:!0,exclusive:!1};if(m.readyState=m.INIT,p||(p="download"),r)return v=n().createObjectURL(l),o.href=v,o.download=p,function(n){var o=t.createEvent("MouseEvents");o.initMouseEvent("click",!0,!1,e,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(o)}(o),m.readyState=m.DONE,O(),void s(v);e.chrome&&h&&h!==c&&(y=l.slice||l.webkitSlice,l=y.call(l,0,l.size,c),S=!0),i&&"download"!==p&&(p+=".download"),(h===c||i)&&(w=e),a?(f+=l.size,a(e.TEMPORARY,f,R(function(e){e.root.getDirectory("saved",b,R(function(e){var t=function(){e.getFile(p,b,R(function(e){e.createWriter(R(function(t){t.onwriteend=function(t){w.location.href=e.toURL(),m.readyState=m.DONE,u(m,"writeend",t),s(e)},t.onerror=function(){var e=t.error;e.code!==e.ABORT_ERR&&E()},"writestart progress write abort".split(" ").forEach(function(e){t["on"+e]=m["on"+e]}),t.write(l),m.abort=function(){t.abort(),m.readyState=m.DONE},m.readyState=m.WRITING}),E)}),E)};e.getFile(p,{create:!1},R(function(e){e.remove(),t()}),R(function(e){e.code===e.NOT_FOUND_ERR?t():E()}))}),E)}),E)):E()},p=l.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t){return navigator.msSaveOrOpenBlob(d(e),t)}:(p.abort=function(){this.readyState=this.DONE,u(this,"abort")},p.readyState=p.INIT=0,p.WRITING=1,p.DONE=2,p.error=p.onwritestart=p.onprogress=p.onwrite=p.onabort=p.onerror=p.onwriteend=null,function(e,t){return new l(e,t)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs});
+var saveAs=saveAs||function(v){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var w=v.document,y=function(){return v.URL||v.webkitURL||v},m=w.createElementNS("http://www.w3.org/1999/xhtml","a"),h="download"in m,S=v.webkitRequestFileSystem,O=v.requestFileSystem||S||v.mozRequestFileSystem,i=function(e){(v.setImmediate||v.setTimeout)(function(){throw e},0)},E="application/octet-stream",R=0,b=function(e){var t=function(){"string"==typeof e?y().revokeObjectURL(e):e.remove()};v.chrome?t():setTimeout(t,500)},g=function(e,t,n){for(var o=(t=[].concat(t)).length;o--;){var r=e["on"+t[o]];if("function"==typeof r)try{r.call(e,n||e)}catch(e){i(e)}}},N=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e},n=function(o,n){o=N(o);var e,r,t,i,a,c=this,f=o.type,u=!1,s=function(){g(c,"writestart progress write writeend".split(" "))},d=function(){(!u&&e||(e=y().createObjectURL(o)),r)?r.location.href=e:null==v.open(e,"_blank")&&"undefined"!=typeof safari&&(v.location.href=e);c.readyState=c.DONE,s(),b(e)},l=function(e){return function(){if(c.readyState!==c.DONE)return e.apply(this,arguments)}},p={create:!0,exclusive:!1};if(c.readyState=c.INIT,n||(n="download"),h)return e=y().createObjectURL(o),m.href=e,m.download=n,i=m,(a=w.createEvent("MouseEvents")).initMouseEvent("click",!0,!1,v,0,0,0,0,0,!1,!1,!1,!1,0,null),i.dispatchEvent(a),c.readyState=c.DONE,s(),void b(e);v.chrome&&f&&f!==E&&(t=o.slice||o.webkitSlice,o=t.call(o,0,o.size,E),u=!0),S&&"download"!==n&&(n+=".download"),(f===E||S)&&(r=v),O?(R+=o.size,O(v.TEMPORARY,R,l(function(e){e.root.getDirectory("saved",p,l(function(e){var t=function(){e.getFile(n,p,l(function(n){n.createWriter(l(function(t){t.onwriteend=function(e){r.location.href=n.toURL(),c.readyState=c.DONE,g(c,"writeend",e),b(n)},t.onerror=function(){var e=t.error;e.code!==e.ABORT_ERR&&d()},"writestart progress write abort".split(" ").forEach(function(e){t["on"+e]=c["on"+e]}),t.write(o),c.abort=function(){t.abort(),c.readyState=c.DONE},c.readyState=c.WRITING}),d)}),d)};e.getFile(n,{create:!1},l(function(e){e.remove(),t()}),l(function(e){e.code===e.NOT_FOUND_ERR?t():d()}))}),d)}),d)):d()},e=n.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t){return navigator.msSaveOrOpenBlob(N(e),t)}:(e.abort=function(){this.readyState=this.DONE,g(this,"abort")},e.readyState=e.INIT=0,e.WRITING=1,e.DONE=2,e.error=e.onwritestart=e.onprogress=e.onwrite=e.onabort=e.onerror=e.onwriteend=null,function(e,t){return new n(e,t)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs});
//# sourceMappingURL=FileSaver.min.js.map
\ No newline at end of file
diff --git a/UI/WebServerResources/js/vendor/FileSaver.min.js.map b/UI/WebServerResources/js/vendor/FileSaver.min.js.map
index 3abf834e5..e1f850f2a 100644
--- a/UI/WebServerResources/js/vendor/FileSaver.min.js.map
+++ b/UI/WebServerResources/js/vendor/FileSaver.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../bower_components/file-saver.js/FileSaver.js"],"names":["saveAs","view","navigator","test","userAgent","doc","document","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","webkit_req_fs","webkitRequestFileSystem","req_fs","requestFileSystem","mozRequestFileSystem","force_saveable_type","fs_min_size","revoke","file","revoker","revokeObjectURL","remove","chrome","setTimeout","dispatch","filesaver","event_types","event","i","concat","length","listener","call","ex","setImmediate","auto_bom","blob","type","Blob","FileSaver","name","object_url","target_view","slice","this","blob_changed","dispatch_all","split","fs_error","createObjectURL","location","href","undefined","open","safari","readyState","DONE","abortable","func","apply","arguments","create_if_not_found","create","exclusive","INIT","download","node","createEvent","initMouseEvent","dispatchEvent","click","webkitSlice","size","TEMPORARY","fs","root","getDirectory","dir","save","getFile","createWriter","writer","onwriteend","toURL","onerror","error","code","ABORT_ERR","forEach","write","abort","WRITING","NOT_FOUND_ERR","FS_proto","prototype","msSaveOrOpenBlob","onwritestart","onprogress","onwrite","onabort","self","window","content","module","exports","define","amd"],"mappings":"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","file":"FileSaver.min.js"}
\ No newline at end of file
+{"version":3,"sources":["../../bower_components/file-saver.js/FileSaver.js"],"names":["saveAs","view","navigator","test","userAgent","doc","document","get_URL","URL","webkitURL","save_link","createElementNS","can_use_save_link","webkit_req_fs","webkitRequestFileSystem","req_fs","requestFileSystem","mozRequestFileSystem","throw_outside","ex","setImmediate","setTimeout","force_saveable_type","fs_min_size","revoke","file","revoker","revokeObjectURL","remove","chrome","dispatch","filesaver","event_types","event","i","concat","length","listener","call","auto_bom","blob","type","Blob","FileSaver","name","object_url","target_view","slice","node","this","blob_changed","dispatch_all","split","fs_error","createObjectURL","location","href","undefined","open","safari","readyState","DONE","abortable","func","apply","arguments","create_if_not_found","create","exclusive","INIT","download","createEvent","initMouseEvent","dispatchEvent","webkitSlice","size","TEMPORARY","fs","root","getDirectory","dir","save","getFile","createWriter","writer","onwriteend","toURL","onerror","error","code","ABORT_ERR","forEach","write","abort","WRITING","NOT_FOUND_ERR","FS_proto","prototype","msSaveOrOpenBlob","onwritestart","onprogress","onwrite","onabort","self","window","content","module","exports","define","amd"],"mappings":"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","file":"FileSaver.min.js"}
\ No newline at end of file
diff --git a/UI/WebServerResources/js/vendor/angular-file-upload.min.js b/UI/WebServerResources/js/vendor/angular-file-upload.min.js
index 824ccc5c6..518af3fb5 100644
--- a/UI/WebServerResources/js/vendor/angular-file-upload.min.js
+++ b/UI/WebServerResources/js/vendor/angular-file-upload.min.js
@@ -1,2 +1,2 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["angular-file-upload"]=t():e["angular-file-upload"]=t()}(this,function(){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,o),r.loaded=!0,r.exports}return o.m=e,o.c=t,o.p="",o(0)}([function(e,t,o){"use strict";var n=y(o(1)),r=y(o(2)),i=y(o(3)),s=y(o(4)),a=y(o(5)),l=y(o(6)),u=y(o(7)),p=y(o(8)),c=y(o(9)),f=y(o(10)),d=y(o(11)),h=y(o(12)),v=y(o(13));function y(e){return e&&e.__esModule?e:{default:e}}angular.module(n.default.name,[]).value("fileUploaderOptions",r.default).factory("FileUploader",i.default).factory("FileLikeObject",s.default).factory("FileItem",a.default).factory("FileDirective",l.default).factory("FileSelect",u.default).factory("FileDrop",c.default).factory("FileOver",f.default).factory("Pipeline",p.default).directive("nvFileSelect",d.default).directive("nvFileDrop",h.default).directive("nvFileOver",v.default).run(["FileUploader","FileLikeObject","FileItem","FileDirective","FileSelect","FileDrop","FileOver","Pipeline",function(e,t,o,n,r,i,s,a){e.FileLikeObject=t,e.FileItem=o,e.FileDirective=n,e.FileSelect=r,e.FileDrop=i,e.FileOver=s,e.Pipeline=a}])},function(e,t){e.exports={name:"angularFileUpload"}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={url:"/",alias:"file",headers:{},queue:[],progress:0,autoUpload:!1,removeAfterUpload:!1,method:"POST",filters:[],formData:[],queueLimit:Number.MAX_VALUE,withCredentials:!1,disableMultipart:!1}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var o=[],n=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!t||o.length!==t);n=!0);}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return o}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=m;var r,i=o(1);r=i,r&&r.__esModule;var s=angular,a=s.bind,l=s.copy,u=s.extend,p=s.forEach,c=s.isObject,f=s.isNumber,d=s.isDefined,h=s.isArray,v=s.isUndefined,y=s.element;function m(e,t,o,r,i,s,m,_){var g=r.File,b=r.FormData,F=function(){function r(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);var o=l(e);u(this,o,t,{isUploading:!1,_nextIndex:0,_directives:{select:[],drop:[],over:[]}}),this.filters.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.filters.unshift({name:"folder",fn:this._folderFilter})}return r.prototype.addToQueue=function(e,t,o){var r=this,i=this.isArrayLikeObject(e)?Array.prototype.slice.call(e):[e],a=this._getFilters(o),l=this.queue.length,u=[],p=function(){r.queue.length!==l&&(r._onAfterAddingAll(u),r.progress=r._getTotalProgress()),r._render(),r.autoUpload&&r.uploadAll()};!function e(){var o=i.shift();if(v(o))return p();var l=r.isFile(o)?o:new s(o),c=r._convertFiltersToPipes(a),f=new _(c);f.onThrown=function(t){var o=t.pipe.originalFilter,i=n(t.args,2),s=i[0],a=i[1];r._onWhenAddingFileFailed(s,o,a),e()},f.onSuccessful=function(t,o){var n=new m(r,t,o);u.push(n),r.queue.push(n),r._onAfterAddingFile(n),e()},f.exec(l,t)}()},r.prototype.removeFromQueue=function(e){var t=this.getIndexOfItem(e),o=this.queue[t];o.isUploading&&o.cancel(),this.queue.splice(t,1),o._destroy(),this.progress=this._getTotalProgress()},r.prototype.clearQueue=function(){for(;this.queue.length;)this.queue[0].remove();this.progress=0},r.prototype.uploadItem=function(e){var t=this.getIndexOfItem(e),o=this.queue[t],n=this.isHTML5?"_xhrTransport":"_iframeTransport";o._prepareToUploading(),this.isUploading||(this._onBeforeUploadItem(o),o.isCancel||(o.isUploading=!0,this.isUploading=!0,this[n](o),this._render()))},r.prototype.cancelItem=function(e){var t=this,o=this.getIndexOfItem(e),n=this.queue[o],r=this.isHTML5?"_xhr":"_form";n&&(n.isCancel=!0,n.isUploading?n[r].abort():function(){var e=[void 0,0,{}];i(function(){t._onCancelItem.apply(t,[n].concat(e)),t._onCompleteItem.apply(t,[n].concat(e))})}())},r.prototype.uploadAll=function(){var e=this.getNotUploadedItems().filter(function(e){return!e.isUploading});e.length&&(p(e,function(e){return e._prepareToUploading()}),e[0].upload())},r.prototype.cancelAll=function(){var e=this.getNotUploadedItems();p(e,function(e){return e.cancel()})},r.prototype.isFile=function(e){return this.constructor.isFile(e)},r.prototype.isFileLikeObject=function(e){return this.constructor.isFileLikeObject(e)},r.prototype.isArrayLikeObject=function(e){return this.constructor.isArrayLikeObject(e)},r.prototype.getIndexOfItem=function(e){return f(e)?e:this.queue.indexOf(e)},r.prototype.getNotUploadedItems=function(){return this.queue.filter(function(e){return!e.isUploaded})},r.prototype.getReadyItems=function(){return this.queue.filter(function(e){return e.isReady&&!e.isUploading}).sort(function(e,t){return e.index-t.index})},r.prototype.destroy=function(){var e=this;p(this._directives,function(t){p(e._directives[t],function(e){e.destroy()})})},r.prototype.onAfterAddingAll=function(e){},r.prototype.onAfterAddingFile=function(e){},r.prototype.onWhenAddingFileFailed=function(e,t,o){},r.prototype.onBeforeUploadItem=function(e){},r.prototype.onProgressItem=function(e,t){},r.prototype.onProgressAll=function(e){},r.prototype.onSuccessItem=function(e,t,o,n){},r.prototype.onErrorItem=function(e,t,o,n){},r.prototype.onCancelItem=function(e,t,o,n){},r.prototype.onCompleteItem=function(e,t,o,n){},r.prototype.onCompleteAll=function(){},r.prototype._getTotalProgress=function(e){if(this.removeAfterUpload)return e||0;var t=this.getNotUploadedItems().length,o=t?this.queue.length-t:this.queue.length,n=100/this.queue.length,r=(e||0)*n/100;return Math.round(o*n+r)},r.prototype._getFilters=function(e){if(!e)return this.filters;if(h(e))return e;var t=e.match(/[^\s,]+/g);return this.filters.filter(function(e){return-1!==t.indexOf(e.name)})},r.prototype._convertFiltersToPipes=function(e){var t=this;return e.map(function(e){var o=a(t,e.fn);return o.isAsync=3===e.fn.length,o.originalFilter=e,o})},r.prototype._render=function(){t.$$phase||t.$apply()},r.prototype._folderFilter=function(e){return!(!e.size&&!e.type)},r.prototype._queueLimitFilter=function(){return this.queue.length=200&&e<300||304===e},r.prototype._transformResponse=function(e,t){var n=this._headersGetter(t);return p(o.defaults.transformResponse,function(t){e=t(e,n)}),e},r.prototype._parseHeaders=function(e){var t,o,n,r={};return e?(p(e.split("\n"),function(e){n=e.indexOf(":"),t=e.slice(0,n).trim().toLowerCase(),o=e.slice(n+1).trim(),t&&(r[t]=r[t]?r[t]+", "+o:o)}),r):r},r.prototype._headersGetter=function(e){return function(t){return t?e[t.toLowerCase()]||null:e}},r.prototype._xhrTransport=function(e){var t,o=this,n=e._xhr=new XMLHttpRequest;if(e.disableMultipart?t=e._file:(t=new b,p(e.formData,function(e){p(e,function(e,o){t.append(o,e)})}),t.append(e.alias,e._file,e.file.name)),"number"!=typeof e._file.size)throw new TypeError("The file specified is no longer valid");n.upload.onprogress=function(t){var n=Math.round(t.lengthComputable?100*t.loaded/t.total:0);o._onProgressItem(e,n)},n.onload=function(){var t=o._parseHeaders(n.getAllResponseHeaders()),r=o._transformResponse(n.response,t),i=o._isSuccessCode(n.status)?"Success":"Error";o["_on"+i+"Item"](e,r,n.status,t),o._onCompleteItem(e,r,n.status,t)},n.onerror=function(){var t=o._parseHeaders(n.getAllResponseHeaders()),r=o._transformResponse(n.response,t);o._onErrorItem(e,r,n.status,t),o._onCompleteItem(e,r,n.status,t)},n.onabort=function(){var t=o._parseHeaders(n.getAllResponseHeaders()),r=o._transformResponse(n.response,t);o._onCancelItem(e,r,n.status,t),o._onCompleteItem(e,r,n.status,t)},n.open(e.method,e.url,!0),n.withCredentials=e.withCredentials,p(e.headers,function(e,t){n.setRequestHeader(t,e)}),n.send(t)},r.prototype._iframeTransport=function(e){var t=this,o=y(''),n=y('